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

A highly scalable cross-platform mobile app development strategy

A highly scalable cross-platform mobile app development strategy

When it comes to deciding what technologies to use in creating a cross-platform mobile app, there's plenty to choose from. Each has their own benefits, but to be able to target all the major platforms with ease, such as iOS, Android, BlackBerry and Windows Phone requires a highly capable application framework. This is where Sencha can help.

Sencha has been building frameworks and tools built around HTML5 for several years. In this session you will get a sense for how the Sencha Touch framework, with its MVC architecture, can be easily used for building powerful cross-platform apps, and how Sencha Architect can aid in the overall design and development process.

Talk given at the Dutch Mobile Conference in Amsterdam on 8th June 2013.

20eeaa9f1e38c9bf69bbc2b0ed42d793?s=128

Daniel Gallo

June 08, 2013
Tweet

More Decks by Daniel Gallo

Other Decks in Technology

Transcript

  1. Daniel Gallo @DanielJGallo A highly scalable cross-platform mobile app development

    strategy
  2. ‣ About me and introduction ‣ HTML5 mobile app frameworks

    ‣ Where Sencha fits in ‣ Sencha Architect overview ‣ Questions Overview
  3. About Me ‣ Daniel Gallo (@DanielJGallo) ‣ Technical Sales Engineer

    for Sencha ‣ Based in the UK ‣ Using Sencha’s frameworks since 2009 ‣ Joined Sencha in February 2012 ‣ Background in web app development (ASP.NET C#)
  4. A highly scalable cross-platform mobile app development strategy

  5. ‣ Highly scalable - must be simple to extend and

    support large apps A highly scalable cross-platform mobile app development strategy
  6. ‣ Highly scalable - must be simple to extend and

    support large apps ‣ Cross-platform - works on all the major platforms out of the box A highly scalable cross-platform mobile app development strategy
  7. ‣ Highly scalable - must be simple to extend and

    support large apps ‣ Cross-platform - works on all the major platforms out of the box ‣ Mobile app - works on mobile and tablet devices A highly scalable cross-platform mobile app development strategy
  8. ‣ Highly scalable - must be simple to extend and

    support large apps ‣ Cross-platform - works on all the major platforms out of the box ‣ Mobile app - works on mobile and tablet devices ‣ Development strategy - something that will support you and your projects for the years ahead A highly scalable cross-platform mobile app development strategy
  9. The Choices

  10. Development choices Plugin-Based HTML5 Native Easily enable cross-platform development Develop

    a native app for each platform Rely on third- party plugins to function
  11. Plugin-Based HTML5 Native Easily enable cross-platform development Develop a native

    app for each platform Rely on third- party plugins to function
  12. None
  13. So many choices... xui

  14. So many choices...

  15. Sencha Rapid and easy development of rich web apps for

    the broadest range of devices from IE6 to the latest tablet
  16. Sencha Touch Bundle ‣ Suite of mobile development tools and

    components: ‣ Sencha Touch - Single page mobile app dev framework ‣ Sencha Architect - HTML5 visual app builder ‣ Sencha Eclipse Plugin - Enhances coding within Eclipse ‣ Sencha Touch Charts - Interactive HTML5 charts ‣ Sencha Mobile Packaging - Device APIs and native wrapping ‣ Support - Technical support, code reviews, bug fix releases
  17. Sencha Touch

  18. ‣ High-performance mobile HTML5 framework for building cross- platform apps

    ‣ Complete set of appealing and ready-to-use mobile UI components ‣ MVC application pattern ‣ Comprehensive data layer Sencha Touch Mobile HTML5 Framework
  19. ‣ Build applications that run on Android, Apple iOS, BlackBerry,

    and Windows Phone 8 ‣ Tizen support coming soon ‣ Native packaging for iOS and Android from Windows and Mac Sencha Touch Mobile HTML5 Framework
  20. ‣ Bring your data to life without the need for

    any plugins ‣ Multi-touch gestures allow users to pinch and zoom through data, spin pie charts, pan line charts, and more Sencha Touch Charts
  21. Where Sencha Touch Fits In Sencha Touch - Mobile and

    Tablet Sencha Ext JS - Desktop and Laptop Internet / Intranet Database Server SQL Server Oracle Sybase MySql ... Application Server Java PHP ColdFusion .NET Ruby on Rails ... Web Server IIS Apache Tomcat Websphere ... JSON/XML Transport Layer
  22. None
  23. Sencha Architect

  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. None
  42. None
  43. None
  44. github.com/DanielGallo/CustomerApp

  45. Packaging Apps

  46. ‣ Build native iOS and Android applications using Sencha Touch

    2 ‣ Access native APIs from a Sencha Touch 2 app ‣ Package apps on Windows and Mac Sencha Mobile Packager
  47. ‣ Device information ‣ In-app purchases ‣ Camera ‣ Connection

    ‣ Contacts ‣ Geolocation ‣ Notification ‣ Orientation ‣ Push Ext.device.Camera.capture({ success: function(image) { imageView.setSrc(image); }, quality: 75, destination: 'data' }); Sencha Mobile Packager
  48. ‣ Device information ‣ In-app purchases ‣ Camera ‣ Connection

    ‣ Contacts ‣ Geolocation ‣ Notification ‣ Orientation ‣ Push Ext.Viewport.add({ xtype: 'list', itemTpl: '{First} {Last}', store: { fields: ['First', 'Last'], data: Ext.device.Contacts.getContacts() } }); Sencha Mobile Packager
  49. PhoneGap Build Sencha Mobile Packager Building Your App

  50. sencha package build settings.json From command line: Building Your App

  51. { "applicationName": "Simple Camera App", "bundleSeedId": "Q8U8378N9L", "applicationId": "com.danielgallo.cameraapp", "outputPath":

    "../build/", "versionString": "1.0", "inputPath": "./", "icon": { "57": "resources/icons/icon.png", "72": "resources/icons/Icon@72.png", "114": "resources/icons/Icon@2x.png", "144": "resources/icons/Icon@144.png" }, ... Building Your App
  52. ... "configuration": "Debug", "platform": "iOS", "deviceType": "iPad", "certificateAlias": "iPhone Developer",

    "minOSVersion": "4.0", "orientations": [ "portrait", "landscapeLeft", "landscapeRight", "portraitUpsideDown" ] } Building Your App
  53. From Sencha Architect: Building Your App

  54. Building Your App build.phonegap.com

  55. App Showcase

  56. Customer: Burrows For our developers, the efficiency gain is almost

    immeasurable. Without Sencha Touch, we would still be working out how to make a momentum-based touch scroller.” What they do Full service communications agency which helps its clients give their customers key information and creative content to inform their purchase decisions. The Problem Help Ford dealers sell cars, while immersing customers in the Ford brand. The Solution Sencha Touch provided a platform that takes full advantage of the real estate a tablet computer has to offer and provided immersive experiences to the user via full screen images, serving video and a wealth of information regarding the Ford brand. The Benefit The cost savings of not developing twice can add up to the hundreds of thousands, and during a recession every penny counts. “
  57. Customer: Revolunet With Sencha Touch, we got everything we needed

    right out of the box — in a clean, homogeneous API. The robustness and flexibility of the data package was critical because we had to deal with various server APIs.” What they do Cutting-edge web development agency focused on rich web interfaces. The Problem Create a real estate search engine for French agencies, built as a white label application. The Solution The app allows home buyers to browse the catalogue of available properties and search for specific properties using an intuitive and beautiful interface. The results can be displayed on an interactive map, in a list view, or be saved in the user preferences for push notifications using PhoneGap. The Benefit We get a single codebase that covers multiple platforms (iOS and Android) - using only Web technologies and PhoneGap for push. This is a very appealing approach, in terms of cost savings, product maintainability, and developer resources. “
  58. Getting Started

  59. Sencha Touch Bundle sencha.com/products/touch-bundle ‣ Register for a 30-day trial

  60. Documentation and Examples docs.sencha.com

  61. Documentation and Examples docs.sencha.com

  62. Community-driven forum for seeking and o ering help. ‣ Over

    400,000 registered members ‣ Ask questions ‣ O er help to others ‣ Powerful search facility ‣ Premium Forums for paid support subscribers ‣ Monitored by Sencha sta Sencha Forums sencha.com/forum
  63. Books senchaexamples.com/books

  64. Resources

  65. ‣ JavaScript unit testing tool ‣ Can simulate user interactions

    ‣ Supports Sencha frameworks out of the box ‣ Run tests in browser and NodeJS Siesta bryntum.com/products/siesta/
  66. Online resource that enables you to see Sencha framework code

    and quickly experiment with: Sencha Touch Ext JS Sencha Try try.sencha.com
  67. Online resource for finding and sharing of Sencha framework extensions.

    Components Data Connectors Themes Tools Sencha Market market.sencha.com
  68. Webinar recordings and product walkthroughs Vimeo vimeo.com/sencha

  69. Sencha Events

  70. Meetups meetup.com ‣ Sencha meetup groups organised by Sencha community

    ‣ Good opportunity to meet and discuss all things Sencha!
  71. ‣ Sencha’s annual conference ‣ Interact with Sencha engineers and

    fellow developers ‣ 16th - 19th July in Orlando, Florida ‣ 1,000 developers ‣ 60+ technical sessions ‣ Hackathon senchacon.com Discount Code!
  72. Questions?

  73. Create amazing apps built on web standards Daniel Gallo @DanielJGallo