News

Demos and Deployment, Oh My!
Next week: demos and deployment

Reflection Paper Comments
My reflection paper comments are up.

Resources

This is a class about learning to develop modern HTML5 mobile and web app products using modern practices that deliver value as quickly but sustainably as possible to users, clients, developers, and the development organization. These practices usually go under the name of "agile" or "lean agile."

This course is not about hacking together an unmaintainable mess of spaghetti code, but about delivering high code quality at a predictable pace, through the use of modern practices in lean agile software development, including continuous integration and test-driven development.

Time and Place

This class meetings Tuesday and Thursday, from 11:00am to 12:20pm, in Tech L150.

Prerequisites

Programming proficency: This is a project-based learn-by-doing course. Substantial prior programming experience in several languages is required. This course will assume you already know or can quickly get up to speed with

Development computer: You need to have either a Mac or a PC suitable for software development, with plenty of memory and gigabytes of disk space. Laptops are best because they can be brought to class to do demos.

iPhone (iOS) development requires a Mac and an iPhone. Android development can be done on any platform. Simulators can be used for some testing but are very slow and can't emulate all features.

Prior mobile development experience is not required.

HTML5 as a platform

The presumed target development platform is HTML5 / CSS / Javascript on the front-end. This combination is becoming increasingly popular for both web apps and mobile apps. HTML5 adds a substantial number of features to HTML to enable local data storage and greater interactivity. Mobile browsers are far ahead of web browsers on supporting HTML5 but things are converging rapidly.

In addition, there are some tools, particularly PhoneGap, that support developing mobile app's that run outside of a browser as a native app. While still evolving and improving, the advantages of this are:

Textbook

The text for agile software development is The Agile Samurai by Jonathan Rasmusson. Don't be fooled by the casual style. This is a sound introduction, by a developer for developers, to agile software development.

The web will be a primary resource for technical details on HTML5, CSS and Javascript, but if this is new to you, I recommend getting a good book that covers them together in a web/mobile context, such as: