cross-platform-javascript - jazoon · ‣ appcelerator platform ‣ ios, android, windows ‣...

29

Upload: others

Post on 05-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript
Page 2: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

BUILDING cross-platform native apps

In javascript

Page 3: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

@jasonkneen‣ FREELANCE APP DEVELOPER ‣ www.bouncingfish.com ‣ twitter.com/jasonkneen

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 4: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

WHAT IS A native app?

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 5: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

WHAT IS A native app?

"A NATIVE MOBILE APP IS A SMARTPHONE APPLICATION THAT IS CODED IN A SPECIFIC PROGRAMMING LANGUAGE SUCH AS OBJECTIVE-C, SWIFT OR JAVA"

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 6: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

"A NATIVE APPLICATION IS AN APPLICATION DEVELOPED FOR USE ON A PARTICULAR PLATFORM OR DEVICE"

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

WHAT IS A native app?

Page 7: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

WHAT IS A native app?

"A NATIVE MOBILE APP IS ONE THAT USES a NATIVE USER INTERFACE"

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 8: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

BUILDING native appS

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ iOS - Objective-C, Swift ‣ANDROID - JAVA ‣windows - C# ‣OTHERS…

Page 9: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

MULTI-PLATFORM NATIVE appS

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ multiple developers / skillsets ‣ TAKES TIME ‣ Increased costs ‣ High Maintenance ‣ Drives a “platform first” attitude

Page 10: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS-PLATFORM TO THE RESCUE!!

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 11: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ CODE IN a common language ‣ SINGLE CODE-BASE* ‣ CROSS-PLATFORM UI ‣ FASTER > CHEAPER

WHY CROSS-PLATFORM?

*IDEALLY

Page 12: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS-PLATFORM SOLUTIONS

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ MOBILE WEB ‣ HYBRID ‣ NATIVE UI

IT’s HYBRID

Page 13: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

NATIVE UI SOLUTIONS

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ NativeScRIPT ‣ REACT NATIVE ‣ TITANIUM

Platform SDK

“THE BRIDGE”

JAVASCRIPT

Page 14: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ JAVAscript layer ‣ TITANIUM API ‣ BRIDGE / SDK LAYER ‣ Native modules ‣ Hyperloop

HOW TITANIUM WORKS

IOS SDK

CROSS PLATFORM API

CREATE BUTTON

ANDROID SDK

UIBUTTON BUTTON

Page 15: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ CODE IN JAVASCRIPT ‣ NATIVE, CROSS-PLATFORM UI ‣ SHARE CODE / LIBRARIES ‣ NATIVE EXPERIENCE ‣ 90-95%+ CODE SHARE

CROSS-PLATFORM NATIVE

NBPA PLAYERS APP FOR IOS AND ANDROID

Page 16: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

WHY TITANIUM?

‣ FREE, OPEN-SOURCE ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 17: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

Hyperloop

‣ 100% pLATFORM SDK access ‣ No native modules ‣ MIX javascript, Obj-C, Swift ‣ works alongside titanium api ‣ target specific SDK features

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 18: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

ALLOY MVC

‣ models, collections ‣ XML-BASED View & TSS Styles ‣ JAVASCRIPT controllers ‣ Platform specific CODE / ASSETS ‣ WIDGETS / RE-usable modules

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 19: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

ALLOY MVC

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ XML LAYOUT ‣ TSS STYLING ‣ COMMONJS ‣ WIDGETS

Page 20: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

ALLOY MVC

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ PLATFORM-SPECIFIC ‣ THEMES ‣ MULTI-APP CODEBASES

Page 21: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

“when you strive for consistency, you achieve it through mediocrity” - Phil libin, CEO evernote

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

Page 22: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

RIGHT, IF YOU IGNORE LEFT, RIGHT, TOP & BOTTOM

CROSS PLATFORM challenges

Page 23: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS PLATFORM challengesWhat size should

the App Avatar be?

Can we have a button to exit the app in iOS?

We’d like the iOS TabGroup on Android

Can you tell me all the image sizes you need

for Android?

I’ve put the images in “/retina” and “/

non-retina“ folders

I’ve sent you a layered-PSD with

the images

Page 24: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS PLATFORM challenges

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ SINGLE code base ‣ PLATFORM ui / ux STANDARDS ‣ device behaviour & PLATFORM FEATURES ‣ ASSETS / DENSITIES ‣ TESTING ‣ performance

Page 25: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

CROSS PLATFORM approach

CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT

‣ understand requirements ‣ design for the platform ‣ optimise performance ‣ target specific Device / OS versions

Page 26: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

LETS LOOK AT SOME CODE

He’s going to Live Code!!

I’m Batman

Page 27: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript
Page 28: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript
Page 29: Cross-Platform-JavaScript - JAZOON · ‣ Appcelerator Platform ‣ iOS, Android, Windows ‣ hyperloop ‣ Alloy MVC CROSS-PLATFORM NATIVE APPS IN JAVASCRIPT. Hyperloop ... Cross-Platform-JavaScript

THANK YOU

‣ www.bouncingfish.com ‣ @jasonkneen / @bouncingfish ‣ www.appcelerator.com

OUT NOW