42
What’s New in Hybrid App Development

What's New in Hybrid App Development

Embed Size (px)

Citation preview

Page 1: What's New in Hybrid App Development

What’s New in Hybrid App Development

Page 2: What's New in Hybrid App Development

Jay Graves - CTO POSSIBLE Mobile@skabber

Page 3: What's New in Hybrid App Development

Native Apps Are the Best!SO WHY ARE WE TALKING ABOUT HYBRID?

• Times Change • Technology moves forward

Page 4: What's New in Hybrid App Development

3 Classes of Hybrid App Platoforms

• The Wrapper • Any Other Language • Shared Code

Page 5: What's New in Hybrid App Development

What is not new?BUT STILL AROUND AND GETTING UPDATES

• Phone Gap

• Ruby Motion

• Xamarin

Page 6: What's New in Hybrid App Development

PhoneGapOR IS IT CORDOVA?

• Wrapper App

• HTML 5, JavaScript, CSS

• iOS, Android, Fire, Blackeberry 10, Firefox OS

• Ubuntu, Windows Phone 8, Tizen

• Adobe & Apache License

Page 7: What's New in Hybrid App Development

PhoneGap

“I think a big reason why PhoneGap was created is that we wanted to get back to building web apps and using HTML, CSS and JavaScript and not get locked in to a proprietary vendor platform.”

Page 8: What's New in Hybrid App Development

Ruby Motion

• Any Other Language

• Ruby (obviously)

• iOS, Android, OS X

• Can use 3rd party frameworks on both platforms

• $16.5 a month, $29 a month, Enterprise

Page 9: What's New in Hybrid App Development

Ruby MotionHOW DOES IT WORK?

Page 10: What's New in Hybrid App Development

Xamarin800LB GORILLA

• Any Other Language

• C#

• iOS, Android, OS X, Windows Phone

• 3rd party frameworks must be specially wrapped “components”.

• $25 a month, $83 a month or $158 a month, per developer per platform!

Page 11: What's New in Hybrid App Development

XamarinCOMPONENTS

Page 12: What's New in Hybrid App Development

Xamarin StudioIDE

Page 13: What's New in Hybrid App Development

Xamarin Visual StudioMICROSOFT

Page 14: What's New in Hybrid App Development

Xamarin.iOS Build HostBUILD ON OS X FROM WINDOWS

Page 15: What's New in Hybrid App Development

Xamarin Test CloudDEVICES

Page 16: What's New in Hybrid App Development

Xamarin InsightsANALYTICS

Page 17: What's New in Hybrid App Development

Xamarin UniversityE-LEARNING

Page 18: What's New in Hybrid App Development

What is new?NKOTB

• Silver

• Apportable Tengu

• Go

Page 19: What's New in Hybrid App Development

SilverFROM REM OBJECTS

• Any Other Language

• Swift 1.2

• iOS, Android, Windows

• 3rd party frameworks …. ?

• Free, $799, $4999

Page 20: What's New in Hybrid App Development

Silver FIRE IDE

Page 21: What's New in Hybrid App Development

SilverFIRE IDE

Page 22: What's New in Hybrid App Development

SilverOXIDIZER - CODE CONVERTER

Page 23: What's New in Hybrid App Development

SilverCODE CONVERTER

Page 24: What's New in Hybrid App Development

Apportable TenguBETA

• Any Other Language / Shared Code

• Swift, Obj-C, Java - Android only

• iOS, Android

• 3rd Party Frameworks …?

• Pricing $?

Page 25: What's New in Hybrid App Development

Apportable TenguHOW DOES IT WORK?

Page 26: What's New in Hybrid App Development

Go

Page 27: What's New in Hybrid App Development

Go1.5 RELEASE CANDIDATE

• Shared Code / Any Other Language

• Go (obviously)

• iOS, Android, OS X, Windows, Linux

• 3rd Party Frameworks - Yes

• Free

Page 28: What's New in Hybrid App Development

Go 1.5HOW DOES IT WORK?

• Cross compilation

• Example: compiling for arm from amd64

• gomobile tool

Page 29: What's New in Hybrid App Development

gomobileTHIS IS WHERE WHERE THE MAGIC HAPPENS

go get golang.org/x/mobile/cmd/gomobile

Commands:

bind build a shared library for android APK and iOS app build compile android APK and iOS app init install android compiler toolchain install compile android APK and install on device version print version

Page 30: What's New in Hybrid App Development

gomobileBUILD VS. BIND

• Your package must have a main function.

• Very limited “App” functionality.

• OpenGL, Audio, Sprites.

• No native UI.

• Not very useful at this point.

gomobile build -target=[ios | android ]

Page 31: What's New in Hybrid App Development

gomobileBUILD VS. BIND

• Your package must not have a function.

• Android outputs an .aar archive.

• Wraps Java Native Interface (JNI).

• iOS outputs a .framework.

• Complete with Obj-C header files.

gomobile bind -target=[ios | android ]

Page 32: What's New in Hybrid App Development

Go / iOS ExamplePUTTING IT TOGETHER

Page 33: What's New in Hybrid App Development

Go / iOS ExamplePUTTING IT TOGETHER

Page 34: What's New in Hybrid App Development

Go / iOS ExampleHEADER FILE

Page 35: What's New in Hybrid App Development

Go / iOS ExampleCALLING FROM SWIFT

Page 36: What's New in Hybrid App Development

Go / Android ExamplePROJECT & AAR

Page 37: What's New in Hybrid App Development

Go / Android ExampleIMPORTS

Page 38: What's New in Hybrid App Development

Go / Android ExampleCALLING FROM JAVA

Page 39: What's New in Hybrid App Development

Go Standard LibraryWHAT CAN YOU DO WITH GO?

Page 40: What's New in Hybrid App Development

Go Standard LibraryMY GOD, IT’S FULL OF STARS

runtime

unicode/utf8

io

strings

crypto html

time

image os

zip

sql

csv

json

xml mime

rand

templatemail

tls

http

testing

url

Page 41: What's New in Hybrid App Development

GoDOWNSIDES

• Very early days.

• Only a subset of Go types are supported.

• int, float, string, bool

• functions, interfaces, structs

• Work in progress

• Debugging.

• Tooling

• Bitcode? •

Page 42: What's New in Hybrid App Development

Questions?

Jay Graves - CTO POSSIBLE Mobile@skabber