150 likes | 300 Views
This presentation provides a comprehensive overview of mobile software development with a focus on Titanium by Appcelerator. It covers the installation process for different platforms, including Windows, Linux, and Mac, along with the necessary tools such as Oracle JDK, Firefox, Android SDK, and Xcode. Additionally, it discusses various mobile platform differences and trends in the industry, including a survey of mobile developers. The content is geared toward keeping developers informed about best practices and maintaining relevant coding skills in a rapidly evolving market.
E N D
CS569 Selected Topics in Software EngineeringSpring 2012 Mobile overview +Introduction to Titanium
Start installationin parallel with this presentation • Windows + Linux users • Install Oracle JDK, set PATH and JAVA_HOME • Install Firefox • Install Appcelerator’s Titanium Studio • Install Android SDK • Mac users • Install Xcode • Install Appcelerator’s Titanium Studio • Optional: Install Android SDK
Differences between one platform and another and another and another and another and another and… • Physical differences • Screen size • Textual input • Scrolling • Stylistic differences • “Back” and “Cancel” buttons • Placement of navigation bar • Colors
Survey of over 2000 developers (2010 Q4 Mobile Developer Report)
Lessons from the market • Platforms come and go from fashion • iOS -> Android right now • What is next? • Gotta keep your code from going stale • Gotta keep your skills from going stale
Option 1: Write platform-independent code, interpose libraries Your code This is basically how JavaScript worksin web browsers (each browser implements the ECMA specification for JavaScript and implements specified objects with binary libraries) Platform-specific binary libraries Some random platform
Option 2: Write platform-independent code, compile to platform Your code This is basically how C++ works (a compiler for each platform compiles the source code into an .exe or whatever binary format is accepted by the target operating system and hardware) Compiler Platform-specific binary Small runtime library Some random platform
Platform-independent frameworks • Option 1: just libraries, no compiler • jQTouch – pure HTML+CSS+JS • PhoneGap – HTML+CSS+JS + binary libraries
Platform-independent frameworks • Option 2: compiler • Appcelerator – write JS, compile to binary • Adobe Air – write ActionScript, compile to Flash • In practice, both of these require platform-specific runtime libraries, even though they theoretically could compile code to pure binaries that would not require any runtime library.
Platform-specific frameworks • (Mostly) platform-specific frameworks • XCode – compiles Objective C to iOS binaries • Android SDK – compiles Java to Android binaries
Titanium Appcelerator “Hello World” Walkthrough
Images used in this presentation • http://www.flickr.com/photos/samchurchill/5387613247/sizes/l/in/photostream/ • http://www.flickr.com/photos/incredibleguy/5980129538/sizes/s/in/photostream/ • http://www.digitaltonto.com/wp-content/uploads/2012/01/android-share-of-smartphone-operating-system-market-nov-14-2011-e1328056252645.jpg • http://www.indeed.com/trendgraph/jobgraph.png?q=iphone%20developer%2C+android%20developer%2C+mobile%20web%20developer%2C+blackberry%20developer • http://www.flickr.com/photos/eklem/6727262207/sizes/z/in/photostream/