amsterdam meetup presentation - marts 2014

25
Ti & Native Development Mads Møller CTO – Napp [email protected] @nappdev https://github.com/viezel

Upload: mads-moller

Post on 27-Jan-2015

108 views

Category:

Technology


1 download

DESCRIPTION

Native modules + some insights in the new Hyperloop

TRANSCRIPT

Page 1: Amsterdam Meetup Presentation - Marts 2014

Ti & Native DevelopmentMads Møller

CTO – Napp

[email protected]

@nappdev

https://github.com/viezel

Page 2: Amsterdam Meetup Presentation - Marts 2014

TITANIUM & NATIVE

• Introduction to native• Why native?• 3rd party libraies• Example module• Hyperloop & its future• Q&A

Page 3: Amsterdam Meetup Presentation - Marts 2014

INTRODUCTION TO NATIVE

Page 4: Amsterdam Meetup Presentation - Marts 2014

INTRODUCTION TO NATIVE

Page 5: Amsterdam Meetup Presentation - Marts 2014

INTRODUCTION TO NATIVE

Page 6: Amsterdam Meetup Presentation - Marts 2014

WHY NATIVE

Page 7: Amsterdam Meetup Presentation - Marts 2014

WHY NATIVE?

• Leverage native features– 3rd party libraires– Create new UI components– Customize Ti components

• Performance– Speed– Animation– Heavy operations

• Better understanding of the platform– You gain a lot of knowledge of how Android & iOS really works!

Page 8: Amsterdam Meetup Presentation - Marts 2014

IS IT HARD?

Page 9: Amsterdam Meetup Presentation - Marts 2014

WHY NATIVE - IS IT HARD?

• Is it hard to learn?– Yes and No. (not really)

• It requires– Learn a new syntax– Understand how the os platform works– Learn how Titanium works

• Benefits– Freedom to build what you want

Page 10: Amsterdam Meetup Presentation - Marts 2014

THIRD PARTY LIBRARIES

Page 11: Amsterdam Meetup Presentation - Marts 2014

THIRD PARTY LIBRARIES

• Soo many services– We want to use them inside Titanium

• Often easy to implement

Page 12: Amsterdam Meetup Presentation - Marts 2014

THIRD PARTY LIBRARIES

• Example– Lets build a TestFlight module

• Why Testflight?– Simple API– Easy to get started

Page 13: Amsterdam Meetup Presentation - Marts 2014

TESTFLIGHT – MODULE

• What is Testflight?– Over the air distribution of apps– Test & exception reporting

What to do:1. Grab the SDK2. Read the docs and quick start guide3. Lets implement it

Source code: https://github.com/viezel/NappTestFlight

Page 14: Amsterdam Meetup Presentation - Marts 2014

TESTFLIGHT – IOS MODULE

Page 15: Amsterdam Meetup Presentation - Marts 2014

TESTFLIGHT – ANDROID MODULE

Page 16: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP

Page 17: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP

• What is Hyperloop?– Next-generation compiler that converts JavaScript source code

into native code. – It will support iOS, Android and Win8– Multi threaded, Super Performance

• Hyperloop == Ti.Next– No. But it’s the foundation for Ti.Next. Hyperloop will compile the

new javascript based Titanium SDK.

• How to get it?– https://github.com/appcelerator/hyperloop– npm install -g hyperloop

Page 18: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP - IS IT HARD?

• Is it hard to learn?– Yes and No. (not really)

• It requires– Learn a new special kind of javascript– Understand how the os platform works– Learn how Titanium works

• Benefits– Freedom to build what you want– Do it in javascript

Page 19: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP - IOS

Page 20: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP

Page 21: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP – MY OWN OPINION• Super interesting

– Great performance– Hopefully more module developers

• Still not super easy to learn– Since it’s a new special javascript syntax, its hard to find great

learning resources.– What does this line of code mean? (it is javascript)UIButton.alloc().initWithFrame(CGRectMake(110, 100, 100, 44));

Page 22: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP – MY OWN OPINION• Whats still missing?

– Simplier way to do modules– Syntax should be less OS oriented

Page 23: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP – FUTURE

• Cross platform modules– Single codebase– Build an abstraction layer– Will make Titanium even more powerful– E.g. Testflight module could be a unified module

• Windows & Mac desktop apps– Write desktop apps using Hyperloop

• Ti.Next• Might be that abstraction we need for module development• Looking forward to see this implementation

Page 24: Amsterdam Meetup Presentation - Marts 2014

HYPERLOOP – FUTURE

• Leverage C libraries– SVG, PDF, OpenCV, game engines etc. – Lots of libs out there– Enormous potential– Native performance

Page 25: Amsterdam Meetup Presentation - Marts 2014

Q& AMads Møller

CTO – Napp

[email protected]

@nappdev

https://github.com/viezel