Transcript
Page 1: RapidDev - Develop Titanium apps  at the speed of the web!

Develop Titanium apps at the speed of the web!

Welcome to RapidDev!Welcome to RapidDev!

Develop Titanium apps at the speed of the web!

Matt Apperson - Apperson Labs founderMay 10, 2014

appersonlabs.com

Page 2: RapidDev - Develop Titanium apps  at the speed of the web!

Who Am I?

• Owner of Apperson Labs

• Formerly an engineer at Appcelerator

• Born from PHP

• Father & husband

Page 3: RapidDev - Develop Titanium apps  at the speed of the web!

• We work white label with agencies 75% of the time

• Mobile is our life blood

• Specialize in Titanium

• Native? Yea we do that!

• NodeJS is great too!

• Lovers of open source

Who we are

Page 4: RapidDev - Develop Titanium apps  at the speed of the web!

Some companies we work with…

Page 5: RapidDev - Develop Titanium apps  at the speed of the web!

Agencies we partner with…

Page 6: RapidDev - Develop Titanium apps  at the speed of the web!

For too long…

Mobile dev SUCKED

Page 7: RapidDev - Develop Titanium apps  at the speed of the web!

We had some options…

!‣ Live reload

‣ Near instant deploy

‣ REPL to test

‣ Easy to share

‣ Freely available and open

source

!!

‣ 5 sec - 1+ min reloads

‣ deploy takes hours

‣ Compile code

‣ TestFlight is the best?

Page 8: RapidDev - Develop Titanium apps  at the speed of the web!

What if native/Ti had the

Flexibility of web

Page 9: RapidDev - Develop Titanium apps  at the speed of the web!

Don’t we have this already?Don’t we have this already?

TiShadow

LiveView

‣ The original instant reload

‣ JS / compiler based

‣ Has REPL

‣ Is free/OSS

‣ Provided by Appc

‣ JS + native

‣ Integrated with studio

‣ Support provided via Appc platform

RapidDev

‣ 100% native

‣ Use any unit testing framework

‣ ZERO JS code changes/insertions

‣ is free/OSS

‣ Feels, acts & behaves exactly like using Titanium

Page 10: RapidDev - Develop Titanium apps  at the speed of the web!

How RapidDev works

•Builds a base native app with any required modules, and

ALL the core Ti code

• Uses a module to change file paths to read from the

document directory

• Opens a socket connection to your dev computer

•Files transfer over on save and reloads the app, clearing

caches

•Use ANY testing framework, even your own

Page 11: RapidDev - Develop Titanium apps  at the speed of the web!

How RapidDev does NOT work…

•No JS was changed/hacked/replaced

•No requests had to be made to the server on file load

•No performance loss

•No extra abstraction

•Just like a regular native Ti app. Making testing &

debugging easier and more reliable

Page 12: RapidDev - Develop Titanium apps  at the speed of the web!

How to install RapidDev

$ npm install rapiddev -g

*You might need to use sudo…

Page 13: RapidDev - Develop Titanium apps  at the speed of the web!

Live Reload

Page 14: RapidDev - Develop Titanium apps  at the speed of the web!

So easy to use

$ ti build --p iOS --rd

Page 15: RapidDev - Develop Titanium apps  at the speed of the web!

Want to stop using RapidDev?

$ ti build --p iOS

Page 16: RapidDev - Develop Titanium apps  at the speed of the web!

Dev Directory

Page 17: RapidDev - Develop Titanium apps  at the speed of the web!

No need to add/remove files…

Page 18: RapidDev - Develop Titanium apps  at the speed of the web!

Unit Testing

Page 19: RapidDev - Develop Titanium apps  at the speed of the web!

Running unit tests

ti build --p iOS --test

ti build --p iOS --test --rd

ti build --p iOS --test “login”

Page 20: RapidDev - Develop Titanium apps  at the speed of the web!

RapidDev is not perfect (yet!)

1)No android support…

2) No REPL

3) Only works via the Ti CLI

4) It does not have it’s own logo :(

Page 21: RapidDev - Develop Titanium apps  at the speed of the web!

What comes next?More then live reload…

Page 22: RapidDev - Develop Titanium apps  at the speed of the web!

ANDROID SUPPORT!!!•Harder then expected to do in native Java

•Will use a modified “fastdev”

•Will match RapidDev for iOS features

Page 23: RapidDev - Develop Titanium apps  at the speed of the web!

CLI / REPL Support RapidDev.next $

• Be able to do things like: $ ti exec file.js -p iOS

• Run arbitrary code such as $ ti repl > alert(‘run code in active app’);

• Some native modules need a full app to test or need to run on device…

$ ti full-build

• Run RapidDev in server only mode $ rapiddev start

Page 24: RapidDev - Develop Titanium apps  at the speed of the web!

RapidDev (Current Protocol)

File change

Copy file

Reload app

All files changed

Copy one file

Reload app

Vanilla Titanium App CoffeeScript & Alloy Apps

Page 25: RapidDev - Develop Titanium apps  at the speed of the web!

RapidDev.next (Improved Protocol)

All Titanium Apps

File change

Copy file

Reload app

Are there more files?

NO

YES

Confirm receipt

Page 26: RapidDev - Develop Titanium apps  at the speed of the web!

To instantly return to where you were

*Checkout the Apperson Labs / Codex Labs workshop tomorrow at 4:30

Page 27: RapidDev - Develop Titanium apps  at the speed of the web!

RapidDev “Instant Return”

ti build --rd --return “Rating”

Page 28: RapidDev - Develop Titanium apps  at the speed of the web!
Page 29: RapidDev - Develop Titanium apps  at the speed of the web!

Develop Titanium apps at the speed of the web!

Welcome to RapidDev!

[email protected] appersonlabs.com @appersonlabs / @mattapperson


Top Related