Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architecting Cross-platform Apps using Titanium

Architecting Cross-platform Apps using Titanium

Propelics, Inc.

César Cavazos

August 16, 2014

More Decks by César Cavazos

Other Decks in Programming


  1. Background • Working in Mobile Development for 4+ years on

    different platforms. • iOS, Android, Titanium, Swift and Xamarin. • Worked for Fortune 500 customers across different verticals. • Currently working as a Mobile Architect at Propelics. • Architecture and Development • Mobile Strategy • Former Appcelerator Employee • Worked at the Profesional Services team. • Test and usage of Alloy since version 0.1.
  2. Because of what we do Enterprise Mobile Strategy Services Enterprise

    Mobile Strategy Mobile App Portfolio Mobile App Scoping & Planning IT Readiness for Mobility Innovation through visualization Center of Excellence Creation Mobile Advisory Services Mobile Mentoring Executive Education Speaking Engagements Managed Services Application Oversight Application Development, Maintenance and Support Managed Mobile Center of Excellence Onshore and Offshore App Development We’re hiring!
  3. Alloy MVC Framework (JS, XML and tss): Titanium App (JavaScript):

    Native apps for iOS and Android: Titanium SDK App Codebase Alloy Pre-compiler App Codebase M V C Overview of a Titanium App.
  4. Push Notifications Backend Offline Testing Analytics Geolocation Sync SQLite UI/UX

    OS Versions Supported Devices Navigation Wireframe / Prototyping Roadmap Barcode/QRCodes Security Version Control App features Animations Mobile App Dev Platform MBaaS / PaaS Camera Ads Bluetooth
  5. Platform and form factor support Can you start without wireframes

    or mockups? ! How do we estimate code re-usage? ! Does an app with 95% code reuse is better than 70%? ! Is the app going to run on handheld and/or tablet devices? ! Don’t use Ti.platform.osname. Use OS_IOS, OS_ANDROID, etc. ! Do we need modules to extend Ti functionality? Are they available or do we need to build them? ! Are we going to use Alloy widgets and commonJS modules? !
  6. App Checklist What should we include in our main singleton

    (App core)? ! Alloy.Globals should be used for things such as ti.map (Alloy.Globals.Map) ! Alloy.CFG (config.json) should be use for constants of the app. ! App core should be used for global variables the app. ! App core should manage the navigation across the app. ! What tool are we going to use for docs and code handover?
  7. It’s always good to remember… ! Don’t use global events.

    Handle global events wisely. ! Don’t put scroll views inside table views and viceversa. Just don’t. ! Avoid TableViews and use ListViews. (Unless you are building a POC) ! Always think about lazy loading.
  8. • Teamwork for Success • Architecture and Development is just

    a part of a team PMs, UI/UX Designes, Mobile Strategists, and QA Development. ! • Technology • We don’t always use Titanium. • iOS, Android, Xamarin, Windows Phone and Blackberry. ! • Apps • Version 1.0 apps build in 2 months. • App functional prototypes in 2 weeks. • POCs build in 2-3 days. Achievements