GitHub Commit Log Application Tutorial

A complete tutorial on how to build a simple Royale application

This tutorial will take you through building an app that displays the commit logs for the Apache Royale project by connecting to its GitHub repository on the Apache servers.

At the end of this tutorial we’ll get the following:

This example uses Basic components to build the interface. These components have a very, well, basic look and feel. For a more advanced look and feel for your application you try using the Jewel or MDL sets.

The steps in this tutorial start with a blank file and walk you through what to add and why. Or you can get the complete source here.

Note that Royale examples are set up to build with Apache Maven so the folder structure reflects that. There are other ways to organize your code.

The first six segments will result in a functional application.

  1. The Main Application File This segment starts filling in the main application file.

  2. Data Model This segment adds the code that manages the data in the application, including network access to GitHub.

  3. View (User Interface) This segment builds out the initial user interface.

  4. Controller This segment hooks up the user interface to code that responds to the user’s interactions.

  5. Build This segment gets the code to compile.

  6. Run This segment discusses how to view the results.

The next four segments will discuss further improvements needed to make a production-ready version.

  1. Debugging This segment introduces a couple of techniques for figuring out why your app isn’t working as expected.

  2. Security This segment discusses how to deal with network access to other domains.

  3. Production This segment discusses the differences between a development version and a production version of an app.

  4. Value Objects This segment explains how Value Objects (Data Classes) are useful in development and production.

The remaining segments will discuss further improvements needed to add additional common functionality. (Note: These pages are not yet complete.)

  1. Localization This segment adds the ability to show the user-interface prompts in different languages.

  2. Filters This segment adds the ability to filter what commits are shown.

  3. Local Storage This segment shows how to store information in a cookie or equivalent in order to retain some of the state of the app between runs.

  4. Routing This segment shows how to map URL parameters to different initial values in the application, and vice versa.

This is going to be fun!

| Next Page