Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Appcelerator Hyperloop: Overview, Architecture & Demo

805 views

Published on

My recent presentation of Hyperloop in Zurich, Switzerland. Talking about the general architecture, the functionalities, roadmap and link to an open-source demo using Hyperloop to use the iOS 10 speech recognition API in Titanium.

Published in: Technology
  • Be the first to comment

Appcelerator Hyperloop: Overview, Architecture & Demo

  1. 1. Overview & Architecture HANS KNÖCHEL | AXWAY hknoechel@axway.com Zürich Edition
  2. 2. About Me Hans Knöchel 25 years old Titanium Developer since 2011 45+ Apps built withTitanium Mobile iOS Core-Engineer at Appcelerator since 2015 Member of the Hyperloop working-group hansemannnn hansemannn
  3. 3. Agenda Pre:Hyperloop Hyperloop Overview Introduction Requirements Functionality Hyperloop Architecture NativeWrapper Metabase CLI Roadmap Upcoming Releases Future Ideas Demo
  4. 4. Pre:Hyperloop
  5. 5. Pre:Hyperloop Mobile applications usingTitanium Mobile Powerful cross-plaform framework Native modules using Objective-C & Java 2 required environments for module development (Advanced) knowledge in Java/Objective-C required Core API based on Proxy system Limited API coverage Possible delay after native OS releases because of missing wrappers
  6. 6. Current Situation
  7. 7. Hyperloop :: Overview
  8. 8. Hyperloop Overview - Introduction Use native APIs in JavaScript No Objective-C (iOS) / Java (Android) required No proxy backend programming required CombineTitanium Mobile and Hyperloop Add a native view to a Ti.UI.* view (and vice versa) Use 3rd-Party libraries including CocoaPods (iOS) Improved dependency management Extend with Objective-C and Swift source 3rd-Party libraries on Android using AAR‘s and JAR‘s
  9. 9. Hyperloop Overview - Requirements Project requirements Titanium Mobile SDK 5.2.0+ Hyperloop 1.x module & plugin <run-on-main-thread> enabled <use-jscore-framework> enabled Other requirements iOS: 9.x SDK (or later) Android: API level 23 (or later) JavaScript knowledge
  10. 10. Hyperloop Overview - Functionality +
  11. 11. Hyperloop Overview - Functionality - iOS Views
  12. 12. Hyperloop Overview - Functionality - iOS Methods & Properties
  13. 13. Hyperloop Overview - Functionality - iOS Delegates
  14. 14. Hyperloop Overview - Functionality - iOS Delegates
  15. 15. Hyperloop Overview - Functionality - iOS Constants, Enumerations & Functions
  16. 16. Hyperloop Overview - Functionality - iOS Blocks
  17. 17. Hyperloop Overview - Functionality - iOS Own classes
  18. 18. Hyperloop Overview - Functionality - iOS Third-Party-Libraries (CocoaPods)
  19. 19. Hyperloop Overview - Functionality - iOS Third-Party-Libraries (CocoaPods)
  20. 20. Hyperloop Overview - Functionality - iOS Titanium Mobile x Hyperloop iOS
  21. 21. Hyperloop Overview - Functionality - iOS XIBs
  22. 22. Hyperloop Overview - Functionality +
  23. 23. Hyperloop Overview - Functionality - Android Classes
  24. 24. Hyperloop Overview - Functionality - Android Interfaces
  25. 25. Hyperloop Overview - Functionality - Android Interfaces
  26. 26. Hyperloop Overview - Functionality - Android Methods & Fields
  27. 27. Hyperloop Overview - Functionality - Android Own classes
  28. 28. Hyperloop Overview - Functionality - Android Own classes
  29. 29. Hyperloop Overview - Functionality - Android Third-Party-Libraries (JAR‘s/AAR‘s)
  30. 30. Hyperloop Overview - Functionality - Android Titanium Mobile x Hyperloop Android
  31. 31. Hyperloop :: Architecture
  32. 32. Hyperloop Architecture – Native Wrapper NativeTitanium Mobile module Handle Objective-C / Java objects Manage new/existing contexts Receive wrapper (using the memory address) Map data types Protect current Hyperloop context from GC Unit testing
  33. 33. Hyperloop Architecture – Metabase Used for Hyperloop iOS & Android Parse native classes Compute native classes, properties etc. in AST Generate JS objects to be called from the frontend Also used to parse 3rd-Party libraries CocoaPods, local libraries
  34. 34. Hyperloop Architecture – CLI Validate Hyperloop requirements Generate metabase Look for local resoures (Libraries, XIB‘s, etc.) Compile resources Inject in Xcode project Hook into titanium build system
  35. 35. Hyperloop Architecture – Metabase
  36. 36. Hyperloop :: Roadmap
  37. 37. Hyperloop Roadmap- Upcoming Releases Hyperloop 2.0.1 Release: February 27, 2017 Hyperloop 2.1.0 Q2/2017 – together with SDK 6.1.0
  38. 38. Hyperloop Roadmap - Future Ideas Code completion Idea: Generate a JSCA file like done with the SDK Include all related API‘s to be auto-completed Could be used in both Appc-Studio and Atom Improve drop-in Swift-support Already support, but with limitations Live-View support Problem:You‘d need to
  39. 39. Project on : Hyperloop Demo: Speech Recognition https://github.com/hansemannn/Ti.Speech
  40. 40. Thanks for your kind attention!

×