Architecting Cross-platform Apps using Titanium

Architecting Cross-platform Apps using Titanium

Propelics, Inc.

C56b626ad69bce1f37a6105602e5361a?s=128

César Cavazos

August 16, 2014
Tweet

Transcript

  1. ! ! ! Architecting Cross-platform Apps using Titanium. iOS, Android,

    Windows Phone & Mobile Web
  2. 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.
  3. Q: Why do we need an architecture? 3

  4. 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!
  5. Appcelerator Titanium Alloy MVC 5

  6. 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.
  7. Q: How do we create a successful and maintainable Architecture?

    7
  8. 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
  9. 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? !
  10. Platform support 10 iOS & Android

  11. Form factor support 11 iPad & iPhone

  12. 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?
  13. Data Persistence Alloy Models Ti.Database Offline and Sync HTTP calls

    13
  14. 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.
  15. Q: What do we achieve as a team? 15

  16. • 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
  17. Questions

  18. Cesar Cavazos cesar.cavazos@propelics.com @cesarcvz Let’s talk!