Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dane Baldwin Nathan Brown David Riggleman.  Titanium is a cross platform mobile development tool  Allows the java script to be compiled into native.

Similar presentations


Presentation on theme: "Dane Baldwin Nathan Brown David Riggleman.  Titanium is a cross platform mobile development tool  Allows the java script to be compiled into native."— Presentation transcript:

1 Dane Baldwin Nathan Brown David Riggleman

2  Titanium is a cross platform mobile development tool  Allows the java script to be compiled into native mobile code  It now powers over 1,000 native apps per month  Gives easy access to over 300 API’s and location information

3  The top 5 ◦ RhoMobile ◦ Appcelerator (Titanium) ◦ MoSync ◦ PhoneGap ◦ WidgetPad

4  Titanium ◦ Programming Language  JavaScript ◦ Debugger support  Yes (just this year) ◦ Emulator  3 rd party emulators ◦ IDE  Internal SDK ◦ Cross platform  iOS, Black Berry, and android

5  RhoMobile ◦ Programming Language  Ruby and HTML ◦ Debugger support  Yes ◦ Emulator  Run in win32 runner ◦ IDE  xCode or Eclipse ◦ Cross platform  iOS, Mobile Windows, Black Berry, Symbian and android

6 ◦ MoSync ◦ Programming Language  C, C++, Lua, HTML, CSS, JavaScript(experimental) ◦ Debugger support  Yes ◦ Emulator  Yes ◦ IDE  Eclipse, Visual Studio, MoBuild with text editors ◦ Cross platform  Java ME, Mobin, Smartphone 2003, iOS, Mobile Windows, Black Berry, Symbian and android

7 ◦ PhoneGap ◦ Programming Language  HTML, CSS, Java ◦ Debugger support  Yes ◦ Emulator  None included (can use 3 rd party) ◦ IDE  None included ◦ Cross platform  iOS, Palm, Black Berry, Symbian and android

8 ◦ WidgetPad ◦ Programming Language  CSS, HTML and JavaScript ◦ Debugger support  Yes ◦ Emulator  Could not find a good answer on this ◦ IDE  Yes, its own web based IDE ◦ Cross platform  iOS, Android and WebOS

9  Titanium Studio new features April 4 th (free in June): ◦ iOS and Android debugging ◦ Code completion for Titanium Mobile SDK methods ◦ Run, Deploy and Package Titanium Mobile and Titanium Desktop Applications ◦ Full-featured HTML, JS, CSS, Ruby, PHP, and Python editing support ◦ FTP/SFTP/FTPS/Capistrano deployment options ◦ Integrated Git Support ◦ Integrated Terminal ◦ Fully scriptable and customizable

10  The Titanium website states “While Titanium applications are written using HTML, CSS and JavaScript – they are compiled into native applications (dependent on the mobile device) and run on the device as standalone applications. These applications have a very powerful API for accessing mobile features such as GPS and Camera, on-device Databases and other awesome features.”

11  Titanium workings ◦ Pre-compiler ◦ Front-end compiler ◦ Platform compiler and packager  Pre-compiler ◦ Optimize/format ◦ Creates a hierarchy for all of the APIs

12  Front-end Compiler ◦ Generate platform specific native code ◦ Create native projects (if it needs to) ◦ Builds any specific code that is necessary to compile  Platform Compiler and Packager ◦ Uses the each native platform tool to compile ◦ Packages the app for running

13  Bad things ◦ Moving too quickly ◦ Support ◦ Debugger glitches ◦ After compile glitches

14  Good things ◦ Compiles to native code ◦ Progressive ◦ Many Users ◦ Documentation ◦ Developer Blog  http://developer.appcelerator.com/blog/ http://developer.appcelerator.com/blog/

15  Where is Titanium headed ◦ Pressing forward at a fast rate ◦ Android faster ◦ Improvements to everything ◦ Introducing Appcelerator’s Open Mobile Marketplace (September 19)

16 Get out your wrench…

17  Python  Git  SCons  Java JDK  Android SDK Tools

18  Overview ◦ Programming language  Requirements ◦ Version: 2.6 or greater (Java JDK 6) ◦ Type: 32-bit (sCons)  Recommended path: C:\Program Files\Python[nn : version]

19  Overview ◦ Version control software native to Titanium ◦ Efficient ◦ Linux-based  Requirements ◦ Useful for repository access ◦ Optional if you download manually ◦ Run from Command Prompt ◦ No line-ending conversion  Recommended path: C:\Program Files\Git\bin

20  Overview ◦ Software construction tool – Python script ◦ Similar to make  Requirements ◦ Must have Python installed first  Recommended path: %Python%\Scripts

21  Overview ◦ Programming language  Requirements ◦ Type: 32-bit (Android SDK) ◦ Version: 1.6.0_xx ◦ JAVA_HOME = C:\Program Files\Java\jdk[n.n.n_xx : version] ◦ Both JDK and JRE  Recommended path: %JAVA_HOME%\bin

22  Overview ◦ Required for Android emulation  Requirements ◦ Match Titanium SDK (see compatibility matrix) ◦ No spaces in path (use C:\Program_Files) ◦ ANDROID_SDK = C:\Program_Files\android-sdk- windows ◦ Delete virtual devices after each update  Recommended path: %Android_SDK%\platform- tools

23  Install  Log in with username and password  Configure Android SDK settings

24 As intuitive as a flyswatter…

25  Breakpoints  Dynamic Variable Editing  Dynamic Variable Views  Dynamic Call Stack Views  Stepping

26

27 The deep, dark insides of Titanium (feat. David Riggleman)

28  tiapp.xml ◦ Main application descriptor file ◦ Contains information used by packager and runtime  README ◦ Describes project ◦ Not included in final application  LICENSE.txt ◦ Contains End User License Agreement (EULA) ◦ Currently not used in mobile projects

29  LICENSE ◦ Describes Appcelerator License for reference ◦ Apache License Version 2  build (Folder) ◦ Contains phone specific project files and resources ◦ Used for compiling, building, and packaging native distributions of the application ◦ Use caution in editing files in this folder  May render application unusable

30  I18n (Folder) ◦ Optional ◦ Contains location resources for supporting multiple languages  Resources (Folder) ◦ Contains all project resources (HTML, JavaScript, images, etc.) ◦ All items in folder are packaged and can be used in the application ◦ If working with subversion, must currently edit the builder.py script to specify ignored files and foldersedit builder.py script

31  app.js ◦ Most important file ◦ Entry point into application (“bootstrap file”) ◦ All coding of any mobile application starts here

32  Allows for customization of resources for each platform  Files placed in Resources/PLATFORM/ ◦ Resources/android ◦ Resources/iphone

33  Example ◦ The file Resources/android/foo.png will override Resources/foo.png ◦ When Titanium compiles a project, only one foo.png file will be included  Directory structure preserved ◦ File should be referenced in application as foo.png  Platform is not specified in reference

34  Allows for different resolution of pictures depending on capability of device ◦ iPhone  Low-res version: myButton.png  High-res version: myButton@2x.png  In code, both referenced as myButton.png ◦ Android (long and notlong refer to aspect ratio)  res-long-land-hdpi/myButton.png  res-long-port-mdpi/myButton.png  res-notlong-port-ldpi/myButton.png

35  Splash Screen ◦ Specified by Default.png  Application Icon ◦ Controlled by entry in tiapp.xml

36  var win = Titanium.UI.createWindow({ title:'My Window', backgroundColor:'#cccccc' }); win.open(); // open window

37  var label = Titanium.UI.createLabel({ color:'#999', text:'Hello World', font:{fontSize:20}, textAlign:'center' }); win.add(label); // add label to window win.open(); // open window

38  Titanium Comparison/Background ◦ http://en.wikipedia.org/wiki/Mobile_application_development http://en.wikipedia.org/wiki/Mobile_application_development ◦ http://mashable.com/2010/08/11/cross-platform-mobile- development-tools/ http://mashable.com/2010/08/11/cross-platform-mobile- development-tools/ ◦ http://devlup.com/mobile/cross-platform-mobile-development- tools/2416/ http://devlup.com/mobile/cross-platform-mobile-development- tools/2416/ ◦ http://mobiledevices.about.com/od/mobileappbasics/tp/Top-5- Tools-Multi-Platform-Mobile-App-Development.htm http://mobiledevices.about.com/od/mobileappbasics/tp/Top-5- Tools-Multi-Platform-Mobile-App-Development.htm ◦ http://en.wikipedia.org/wiki/Appcelerator_Titanium http://en.wikipedia.org/wiki/Appcelerator_Titanium ◦ http://surgeworks.com/blog/lab-mobile/iphone/mobile-apps- cross-platform-development-challenge-phonegap-vs-titanium- vs-rhodes http://surgeworks.com/blog/lab-mobile/iphone/mobile-apps- cross-platform-development-challenge-phonegap-vs-titanium- vs-rhodes ◦ http://wiki.appcelerator.org/display/guides/The+Titanium+Archi tecture http://wiki.appcelerator.org/display/guides/The+Titanium+Archi tecture ◦ http://developer.appcelerator.com/blog/2011 http://developer.appcelerator.com/blog/2011 ◦ http://www.toolsjournal.com/tools-world/item/157-10-of-best- cross-platform-mobile-development-tools http://www.toolsjournal.com/tools-world/item/157-10-of-best- cross-platform-mobile-development-tools

39  http://www.python.org/download/ http://www.python.org/download/  http://git-scm.com/download http://git-scm.com/download  http://www.scons.org/download.php http://www.scons.org/download.php  http://www.oracle.com/technetwork/java/javase /downloads/index.html http://www.oracle.com/technetwork/java/javase /downloads/index.html  http://developer.android.com/sdk/index.html http://developer.android.com/sdk/index.html

40  http://wiki.appcelerator.org/display/guides/Inst alling+on+Windows+7 http://wiki.appcelerator.org/display/guides/Inst alling+on+Windows+7  http://wiki.appcelerator.org/display/guides/Tita nium+Compatibility+Matrix http://wiki.appcelerator.org/display/guides/Tita nium+Compatibility+Matrix  http://wiki.appcelerator.org/display/guides/Inst alling+on+Windows+7+- +Install+Diagnostics+Output http://wiki.appcelerator.org/display/guides/Inst alling+on+Windows+7+- +Install+Diagnostics+Output  http://developer.appcelerator.com/blog/2011/0 7/page/2#debugging http://developer.appcelerator.com/blog/2011/0 7/page/2#debugging

41  Application Project Structure ◦ http://wiki.appcelerator.org/display/guides/The+Application+Project+Structure http://wiki.appcelerator.org/display/guides/The+Application+Project+Structure  Hello World Example ◦ http://www.sparklepod.com/myblog/appcelerator-titanium-hello-world/ http://www.sparklepod.com/myblog/appcelerator-titanium-hello-world/  Ignoring Subversion Files ◦ http://developer.appcelerator.com/question/114541/excluding-svn-files http://developer.appcelerator.com/question/114541/excluding-svn-files


Download ppt "Dane Baldwin Nathan Brown David Riggleman.  Titanium is a cross platform mobile development tool  Allows the java script to be compiled into native."

Similar presentations


Ads by Google