SlideShare une entreprise Scribd logo
1  sur  32
TiConf NYC
JEFF HAYNIE
@jhaynie
TheTitanium Community
TITANIUM IS GROWING UP
NUMBER OF UNIQUE MOBILE DEVICES
250,000,000
NUMBER OF REGISTEREDTITANIUM DEVELOPERS
580,000
NUMBER OF CLOUD API REQUESTS
28,000,000,000
FORTUNE 100 COMPANIES USINGTITANIUM
68% of F100
The road ahead
UpcomingTitanium Release
3.3.0 – targeted for end of June
150+ bug fixes
Continued performance & parity improvements
ImprovedCLI capabilities:
Modules build
Push to device is default (no iTunes sync)
Improved intelligent prompting
Improved Studio Packaging (smaller, more robust)
Ti.Next
Next major release ofTitanium (aka 4.0)
Significant re-architecture ofTitanium
(Mostly) same API
Incredible performance boost and reduction in app
size
Improved Extensibility
Windows support
Ti.Next Foundation
Foundation ofTi.Next is a new compiler, built from
the ground up for performance, extensibility
Open Source under Apache Public License v2
http://github.com/appcelerator/hyperloop
Over a year of R&D already on Hyperloop (4th
generation compiler under development)
Hyperloop fundamentally changes game
Hyperloop will allow mixed modes of integration:
Titanium traditional (all-in)
Titanium in Native
Native inTitanium
Titanium in other frameworks (Phonegap,
Xamarin)
Pure Native (Hyperloop only)
What is Hyperloop?
Hyperloop turns JS code into native code by mapping the
native APIs into JS syntax
Hyperloop will be (mainly) used byTitanium platform
developers to buildTitanium APIs or modules
A more traditional compiler architecture:
Front-end (parse and transform JS AST)
Back-end (generate native, platform specific code)
+Metabase (metadata about target platform)
Hyperloop iOS Example
“use hyperloop”
var view = new UIView(CGRectMake(100,100,50,50));
view.backgroundColor = UIColor.redColor();
var window = new UIWindow();
window.addSubview(view);
window.makeKeyAndVisible()
Hyperloop Front-end
Front-end uses UglifyJS to turn JS code into an AST
and then perform transformations on the code to
make it more suitable for native generation
Example of Front-end transformations
Foo.bar = 1 Foo_set_bar(1)
Foo.bar() Foo_bar()
var foo = new Bar() Bar_constructor()
foo.bar(1) Bar_bar(foo, 1)
Hyperloop Back-end
Back-end generates C/C++ code for target platform
~90% of the back-end code is reusable for all
platforms supported
10% is basically specific syntax for things like
calling methods, properties, etc. and other
platform specific nuances (differences in file
extensions, etc.)
Hyperloop metabase
Defined platform APIs in JSON format
Automatically generate for all platforms supported
Large tree of all supportedAPIs (classes, functions,
types, etc.)
Supports both C and platform specific languages
(Objective-C, Java, etc.)
Uses Clang (+platform specific tools) to generate
Rich metadata about the platform
Hyperloop iOS Metabase example
Hyperloop Java Metabase example
Hyperloop JS engine
Unified JS engine for all platforms based on
JavaScriptCore
iOS 7.0+ comes with engine installed
Port forWindows and Android
Performance testing showed JSC was basically native
speed
Hyperloop code re-writing
Huge blocks of code will be optimized into pure
native code generation
No penalty for “JS bridge” like inTi.current
JS engine runs on main UIThread:
No thread context switching / creation overhead
Will provide background worker for asynchronous
non-blocking tasks
Hyperloop Demo
GENERATION 4 COMPILER (H4)
Ti.Next
Titanium APIs are being re-written using Hyperloop JS syntax and
compiled using Hyperloop compiler
Titanium APIs (and native APIs) will be first class JS objects
Goal is to generate API interfaces, test cases from API
documentation
Full Node.js require implementation
Will likely deprecate platform specific APIs and provide a
compatibility module
Likely will reduce size of overall API
Titanium APIs will use module design
Ti.Next Modules
Migration path for modules (still trying to determine)
Packaging likely will change and modules will be
expressed in Hyperloop syntax
Possibility of a module compatibility shim
Hyperloop inTi.Current
Hyperloop is already being used inTi.current!
URLSession API inTitanium 3.2
CoreMotion API inTitanium 3.3
Ti.When?
No specific date yet – trying to finish gen4 compiler:
30-45+ days from having enough completed for all
3 major backends (iOS, Android,Windows) before
Ti.Next API framework design can start
Likely 6-9 months from this point
Target is beta before end of year / could be sooner
Likely Windows Developer Preview Release first
TO MEMORABLE EXPERIENCES
ThankYou
JEFF HAYNIE
@jhaynie
TiConf NYC 2014

Contenu connexe

Tendances

Primers on mobile application development
Primers on mobile application developmentPrimers on mobile application development
Primers on mobile application development
Satta Nathan
 

Tendances (20)

Hyperloop
HyperloopHyperloop
Hyperloop
 
Ionic framework
Ionic frameworkIonic framework
Ionic framework
 
Use Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile applicationUse Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile application
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 
Universal Windows Platform
Universal Windows PlatformUniversal Windows Platform
Universal Windows Platform
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
The Mobile Opportunity
The Mobile OpportunityThe Mobile Opportunity
The Mobile Opportunity
 
Xamarin
XamarinXamarin
Xamarin
 
Primers on mobile application development
Primers on mobile application developmentPrimers on mobile application development
Primers on mobile application development
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
 
Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overview
 
Ionic event: March 2021
Ionic event: March 2021Ionic event: March 2021
Ionic event: March 2021
 
What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8
 
IONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentIONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App Development
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application Framework
 
Perforce JavaScript API
Perforce JavaScript API  Perforce JavaScript API
Perforce JavaScript API
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Top Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle ThemTop Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle Them
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Framework
 

Similaire à TiConf NYC 2014

Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
Axway Appcelerator
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
sschwarzhoff
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptx
NishitPatel409228
 

Similaire à TiConf NYC 2014 (20)

TiConf EU 2014
TiConf EU 2014TiConf EU 2014
TiConf EU 2014
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
Hyperloop
HyperloopHyperloop
Hyperloop
 
Appcelerator: iOS 10, Titanium SDK & Hyperloop
Appcelerator: iOS 10, Titanium SDK & HyperloopAppcelerator: iOS 10, Titanium SDK & Hyperloop
Appcelerator: iOS 10, Titanium SDK & Hyperloop
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and Improvements
 
Nagios Conference 2011 - Tony Roman - Cacti Workshop
Nagios Conference 2011 - Tony Roman - Cacti WorkshopNagios Conference 2011 - Tony Roman - Cacti Workshop
Nagios Conference 2011 - Tony Roman - Cacti Workshop
 
Windows 7 mobile
Windows 7 mobileWindows 7 mobile
Windows 7 mobile
 
DOC-20230427-WA0009..pptx
DOC-20230427-WA0009..pptxDOC-20230427-WA0009..pptx
DOC-20230427-WA0009..pptx
 
Lets Auto It
Lets Auto ItLets Auto It
Lets Auto It
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)
 
Windows 8 App Development
Windows 8 App DevelopmentWindows 8 App Development
Windows 8 App Development
 
Python reliable delivery
Python reliable deliveryPython reliable delivery
Python reliable delivery
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptx
 
Overview of Mobile Development Platforms
Overview of Mobile Development PlatformsOverview of Mobile Development Platforms
Overview of Mobile Development Platforms
 
NYC Titanium User's Group - tiConf US Revisited
NYC Titanium User's Group - tiConf US RevisitedNYC Titanium User's Group - tiConf US Revisited
NYC Titanium User's Group - tiConf US Revisited
 
Titanium appcelerator my first app
Titanium appcelerator my first appTitanium appcelerator my first app
Titanium appcelerator my first app
 

Plus de Jeff Haynie

Plus de Jeff Haynie (20)

How to build great teams
How to build great teamsHow to build great teams
How to build great teams
 
#Startup lessons
#Startup lessons#Startup lessons
#Startup lessons
 
Ti AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaTi AppCamp 2 : Atlanta
Ti AppCamp 2 : Atlanta
 
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
 
TiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityTiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator community
 
Mobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyMobile Monday Hamburg, Germany
Mobile Monday Hamburg, Germany
 
SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego Presentation
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator Overview
 
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator Titanium
 
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 
Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...
 
Shotput Ventures - Building startups are hard work
Shotput Ventures - Building startups are hard workShotput Ventures - Building startups are hard work
Shotput Ventures - Building startups are hard work
 
July iPhone Business Meetup
July iPhone Business MeetupJuly iPhone Business Meetup
July iPhone Business Meetup
 
Mountain View July JavaScript Meetup at Google
Mountain View July JavaScript Meetup at GoogleMountain View July JavaScript Meetup at Google
Mountain View July JavaScript Meetup at Google
 
Developing Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptDeveloping Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and Javascript
 
SoCon09 Keynote - Jeff Haynie
SoCon09 Keynote - Jeff HaynieSoCon09 Keynote - Jeff Haynie
SoCon09 Keynote - Jeff Haynie
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
 

Dernier

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Dernier (20)

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

TiConf NYC 2014

  • 4. NUMBER OF UNIQUE MOBILE DEVICES 250,000,000
  • 5. NUMBER OF REGISTEREDTITANIUM DEVELOPERS 580,000
  • 6. NUMBER OF CLOUD API REQUESTS 28,000,000,000
  • 7. FORTUNE 100 COMPANIES USINGTITANIUM 68% of F100
  • 8.
  • 10. UpcomingTitanium Release 3.3.0 – targeted for end of June 150+ bug fixes Continued performance & parity improvements ImprovedCLI capabilities: Modules build Push to device is default (no iTunes sync) Improved intelligent prompting Improved Studio Packaging (smaller, more robust)
  • 11. Ti.Next Next major release ofTitanium (aka 4.0) Significant re-architecture ofTitanium (Mostly) same API Incredible performance boost and reduction in app size Improved Extensibility Windows support
  • 12.
  • 13. Ti.Next Foundation Foundation ofTi.Next is a new compiler, built from the ground up for performance, extensibility Open Source under Apache Public License v2 http://github.com/appcelerator/hyperloop Over a year of R&D already on Hyperloop (4th generation compiler under development)
  • 14. Hyperloop fundamentally changes game Hyperloop will allow mixed modes of integration: Titanium traditional (all-in) Titanium in Native Native inTitanium Titanium in other frameworks (Phonegap, Xamarin) Pure Native (Hyperloop only)
  • 15. What is Hyperloop? Hyperloop turns JS code into native code by mapping the native APIs into JS syntax Hyperloop will be (mainly) used byTitanium platform developers to buildTitanium APIs or modules A more traditional compiler architecture: Front-end (parse and transform JS AST) Back-end (generate native, platform specific code) +Metabase (metadata about target platform)
  • 16. Hyperloop iOS Example “use hyperloop” var view = new UIView(CGRectMake(100,100,50,50)); view.backgroundColor = UIColor.redColor(); var window = new UIWindow(); window.addSubview(view); window.makeKeyAndVisible()
  • 17. Hyperloop Front-end Front-end uses UglifyJS to turn JS code into an AST and then perform transformations on the code to make it more suitable for native generation
  • 18. Example of Front-end transformations Foo.bar = 1 Foo_set_bar(1) Foo.bar() Foo_bar() var foo = new Bar() Bar_constructor() foo.bar(1) Bar_bar(foo, 1)
  • 19. Hyperloop Back-end Back-end generates C/C++ code for target platform ~90% of the back-end code is reusable for all platforms supported 10% is basically specific syntax for things like calling methods, properties, etc. and other platform specific nuances (differences in file extensions, etc.)
  • 20. Hyperloop metabase Defined platform APIs in JSON format Automatically generate for all platforms supported Large tree of all supportedAPIs (classes, functions, types, etc.) Supports both C and platform specific languages (Objective-C, Java, etc.) Uses Clang (+platform specific tools) to generate Rich metadata about the platform
  • 23. Hyperloop JS engine Unified JS engine for all platforms based on JavaScriptCore iOS 7.0+ comes with engine installed Port forWindows and Android Performance testing showed JSC was basically native speed
  • 24. Hyperloop code re-writing Huge blocks of code will be optimized into pure native code generation No penalty for “JS bridge” like inTi.current JS engine runs on main UIThread: No thread context switching / creation overhead Will provide background worker for asynchronous non-blocking tasks
  • 26. Ti.Next Titanium APIs are being re-written using Hyperloop JS syntax and compiled using Hyperloop compiler Titanium APIs (and native APIs) will be first class JS objects Goal is to generate API interfaces, test cases from API documentation Full Node.js require implementation Will likely deprecate platform specific APIs and provide a compatibility module Likely will reduce size of overall API Titanium APIs will use module design
  • 27. Ti.Next Modules Migration path for modules (still trying to determine) Packaging likely will change and modules will be expressed in Hyperloop syntax Possibility of a module compatibility shim
  • 28. Hyperloop inTi.Current Hyperloop is already being used inTi.current! URLSession API inTitanium 3.2 CoreMotion API inTitanium 3.3
  • 29. Ti.When? No specific date yet – trying to finish gen4 compiler: 30-45+ days from having enough completed for all 3 major backends (iOS, Android,Windows) before Ti.Next API framework design can start Likely 6-9 months from this point Target is beta before end of year / could be sooner Likely Windows Developer Preview Release first