150 likes | 289 Views
CS569 Selected Topics in Software Engineering Spring 2012. Mobile overview + Introduction to Titanium. Start installation in parallel with this presentation. Windows + Linux users Install Oracle JDK, set PATH and JAVA_HOME Install Firefox Install Appcelerator’s Titanium Studio
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/