Top Banner
Overview & Architecture HANS KNÖCHEL | AXWAY [email protected] Zürich Edition
41

Appcelerator Hyperloop: Overview, Architecture & Demo

Apr 12, 2017

Download

Technology

Hans Knoechel
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Appcelerator Hyperloop: Overview, Architecture & Demo

Overview & ArchitectureHANS KNÖCHEL | [email protected]

Zürich Edition

Page 2: Appcelerator Hyperloop: Overview, Architecture & Demo

About Me

Hans Knöchel25 years oldTitanium Developer since 201145+ Apps built with Titanium MobileiOS Core-Engineer at Appcelerator since 2015Member of the Hyperloop working-group

hansemannnnhansemannn

Page 3: Appcelerator Hyperloop: Overview, Architecture & Demo

Agenda

Pre:HyperloopHyperloop Overview

IntroductionRequirementsFunctionality

Hyperloop ArchitectureNative WrapperMetabaseCLI

RoadmapUpcoming ReleasesFuture Ideas

Demo

Page 4: Appcelerator Hyperloop: Overview, Architecture & Demo

Pre:Hyperloop

Page 5: Appcelerator Hyperloop: Overview, Architecture & Demo

Pre:Hyperloop

Mobile applications using Titanium MobilePowerful cross-plaform framework

Native modules using Objective-C & Java2 required environments for module development(Advanced) knowledge in Java/Objective-C required

Core API based on Proxy systemLimited API coveragePossible delay after native OS releases because of missing wrappers

Page 6: Appcelerator Hyperloop: Overview, Architecture & Demo

Current Situation

Page 7: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop :: Overview

Page 8: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Introduction

Use native APIs in JavaScriptNo Objective-C (iOS) / Java (Android) requiredNo proxy backend programming required

Combine Titanium Mobile and HyperloopAdd a native view to a Ti.UI.* view (and vice versa)

Use 3rd-Party libraries including CocoaPods (iOS)Improved dependency managementExtend with Objective-C and Swift source

3rd-Party libraries on Android using AAR‘s and JAR‘s

Page 9: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Requirements

Project requirementsTitanium Mobile SDK 5.2.0+Hyperloop 1.x module & plugin<run-on-main-thread> enabled<use-jscore-framework> enabled

Other requirementsiOS: 9.x SDK (or later)Android: API level 23 (or later)JavaScript knowledge

Page 10: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality

+

Page 11: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Views

Page 12: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Methods & Properties

Page 13: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Delegates

Page 14: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Delegates

Page 15: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Constants, Enumerations & Functions

Page 16: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Blocks

Page 17: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Own classes

Page 18: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Third-Party-Libraries (CocoaPods)

Page 19: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Third-Party-Libraries (CocoaPods)

Page 20: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

Titanium Mobile x Hyperloop iOS

Page 21: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - iOS

XIBs

Page 22: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality

+

Page 23: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Classes

Page 24: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Interfaces

Page 25: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Interfaces

Page 26: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Methods & Fields

Page 27: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Own classes

Page 28: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Own classes

Page 29: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Third-Party-Libraries (JAR‘s/AAR‘s)

Page 30: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Overview - Functionality - Android

Titanium Mobile x Hyperloop Android

Page 31: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop :: Architecture

Page 32: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Architecture – Native Wrapper

Native Titanium Mobile moduleHandle Objective-C / Java objectsManage new/existing contexts

Receive wrapper (using the memory address)Map data typesProtect current Hyperloop context from GC

Unit testing

Page 33: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Architecture – Metabase

Used for Hyperloop iOS & AndroidParse native classesCompute native classes, properties etc. in ASTGenerate JS objects to be called from the frontendAlso used to parse 3rd-Party libraries

CocoaPods, local libraries

Page 34: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Architecture – CLI

Validate Hyperloop requirementsGenerate metabaseLook for local resoures (Libraries, XIB‘s, etc.)

Compile resourcesInject in Xcode project

Hook into titanium build system

Page 35: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Architecture – Metabase

Page 36: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop :: Roadmap

Page 37: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Roadmap- Upcoming Releases

Hyperloop 2.0.1Release: February 27, 2017

Hyperloop 2.1.0Q2/2017 – together with SDK 6.1.0

Page 38: Appcelerator Hyperloop: Overview, Architecture & Demo

Hyperloop Roadmap - Future Ideas

Code completionIdea: Generate a JSCA file like done with the SDKInclude all related API‘s to be auto-completedCould be used in both Appc-Studio and Atom

Improve drop-in Swift-supportAlready support, but with limitations

Live-View supportProblem: You‘d need to

Page 39: Appcelerator Hyperloop: Overview, Architecture & Demo

Project on :

Hyperloop Demo: Speech Recognition

https://github.com/hansemannn/Ti.Speech

Page 40: Appcelerator Hyperloop: Overview, Architecture & Demo

Thanksfor your kind attention!

Page 41: Appcelerator Hyperloop: Overview, Architecture & Demo