Udacity - Developing Scalable Apps with Java with Google App Engine
This course consists of 6 lessons. First one is an overview of cloud computing and the benefits of Platform as a Service. Lessons 2-5 will cover important theoretical concepts of Google App Engine and also plenty of hands-on exercises implementing what you have learned. Lesson 6 will be a short intro on an easy way to create native mobile apps that talk to your backend.
Lesson 1: Scalability Basics
Do you know how and why server racks were invented years ago? Have you realized all of the problems that you have to solve if you will try to scale your app by yourself? Learn about a better way.
Lesson 2: Getting Started
Set up your first App Engine project and learn how to define Cloud Endpoints.
Start the course project app - Conference Central and add authentication and user profiles.
Lesson 3: Storing and Retrieving Data
One of the most important things you want to do in your app is storing data. In this lesson you will learn what is Google App Engine Datastore, how is it different from RDBMS and how you can use it in your applications.
Add the ability to store and retrieve user profiles and conferences to the course project app.
Lesson 4: Advanced Datastore Concepts
Learn more about how Datastore works, including queries, filters, indexes and transactions.
Add different ways to query conferences.
Lesson 5: Advanced App Engine Topics
There are a lot of things you might want your application to do in background, without making the user wait, or even initiate the process. Learn about task queues and cron jobs and how you can use them to add advanced functionality to your app. You will also learn about Memcache, and get an overview of topics like Edge Caching, AppStats and other methods of optimising your apps performance.
Add a push queue, cron job and a customised Memcache entry to your app.
Lesson 6: App Engine and Mobile Apps
You have been using Cloud Endpoints in the app, and now it’s time to see how you can use them in a mobile app. Learn how to generate native libraries for Android and iOS that can talk to your backend. You can even recompile the Android app we provide with our course, to work against your own project. How cool is that?
Generate mobile client libraries for your app.