On October 23rd, 2014, we updated our
By continuing to use LinkedIn’s SlideShare service, you agree to the revised terms, so please take a few minutes to review them.
Mobile for the rest of us Mobile 2.0 Conference Mountain View, CA Jeff Haynie @jhaynie
About Me• @jhaynie @appcelerator• http://blog.jeffhaynie.us• email@example.com• #titanium_app on freenode
Explosion of opportunities20% year over year growth anticipated fornext 5 years in smart phones
Oh no.• iPhone (Objective-C, 28th!)• Android (Java, Google Style)• RIM (Java, Blackberry or Midlet style)• Symbian (old school C)• Palm Pre (Web 2.0)• Windows Mobile (.NET compact)• Maemo (GTK+)
Oh, yeah...• Web Browsers• Desktop Apps• Net books• E-Book readers• Tablets• etc etc.
It’s the UXBuild applications that ﬁt theuse cases that are tailored forthe modality
What we want• Skills• Tools• Reusability• Platforms• Portability• Speed / Cost• Open source / Standards
AppceleratorEmpower developers to quickly create andcommercialize web, desktop and mobileapplications
Titanium• Desktop: Win32, OSX, Linux• Mobile: iPhone and Android (Palm WebOS)• 100% code on github.com/appcelerator• Apache Public License• Active Open Source Community
Appcelerator Products Create, test, and commercialize native mobile and desktop applications with the web technologies you use today.Develop Native iPhone Build Desktop apps Cloud services used for Web development toolsand Android apps with that can be deployed testing, packaging, that enable rapid RIAfull access to each with one code base on distribution, and development.device’s APIs. the PC, Mac, or Linux analytics. platforms.
Product Architecture Mobile Desktop
App AssemblyTitanium SDK compiles (using TitaniumDeveloper) the application using the MobileSDK into a native application
Mobile APIs GeolocationAccelerometer Gesture Analytics Media App Network Database Platform Facebook UI Filesystem Yahoo
Building the UI• <html> accepted here (including HTML5)• optimized native UI controls• hybrid UI composition• custom native UI controls
Databasesvar db = Titanium.Database.open(mydb);db.execute(INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?),1,Name 1);db.execute(INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?),2,Name 2);db.execute(INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?),3,Name 3);db.execute(INSERT INTO DATABASETEST (ID, NAME ) VALUES(?,?),4,Name 4);