Develop Titanium apps at the speed of the web with RapidDev
1. 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 founder
May 10, 2014
appersonlabs.com
2. Who Am I?
• Owner of Apperson Labs
• Formerly an engineer at
Appcelerator
• Born from PHP
• Father & husband
3. • 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
7. 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?
9. 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
10. 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
11. 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
12. How to install RapidDev
$ npm install rapiddev -g
*You might need to use sudo…
22. ANDROID SUPPORT!!!
•Harder then expected to do in
native Java
•Will use a modified “fastdev”
•Will match RapidDev for iOS
features
23. CLI / REPL SupportRapidDev.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