KEMBAR78
Android Development...Using Web Technologies | PDF
Rich Web Experience 2010



Android Development...
Using Web Technologies


                
Setting the Stage
    ●   Traditional Android Development
        –   Source = XML and Java
        –   Executables = APK files
             ●   Distribute on the Android Market
             ●   Distribute by other means as desired
        –   Fun! Exciting!! No Resemblance to the Web!!!



                                       
Setting the Stage
    ●   Web-tastic Alternatives!
        –   HTML5
        –   Web App Containers
             ●   PhoneGap
             ●   Rhodes
             ●   Titanium Mobile
        –   Adobe AIR


                                    
HTML5
    ●   The Good News: Built-In Browser Support
        –   Local Storage
        –   Offline Caching
        –   <video> Element




                                 
HTML5
    ●   The Bad News
        –   No distribution support
        –   No launcher support
        –   HTML5/related specs still a work in progress
        –   Limited device integration




                                   
HTML5
    ●   Alternative Browser Support
        –   Firefox Mobile (beta)
        –   Opera Mobile (beta)
        –   Dolphin HD 4.0




                                     
Web App Containers
    ●   Concept: Augmented HTML
        –   Native APIs
        –   Native APKs
        –   Other benefits
             ●   Language
             ●   Widgets



                              
PhoneGap
    ●   What You Get
        –   Javascript bridge to native APIs
        –   Packaging as an APK for distribution
        –   Cross-platform portability




                                   
PhoneGap
    ●   How You Get There: Local Development
        –   Requires Android SDK and dependencies
        –   droidgap script to generate application stub
        –   You create HTML, CSS, Javascript
        –   Use Apache Ant build system to create APK
        –   Test on emulator, device


                                  
PhoneGap
    ●   How You Get There: Cloud Development
        –   build.phonegap.com (in private beta)
        –   Upload HTML, CSS, JS assets
             ●   ZIP, Git, SVN
        –   Download APK and binaries for other devices
        –   Free for open source, non-free for commercial



                                     
PhoneGap
    ●   Extending the Framework
        –   Plugins
        –   Replacement wrappers
        –   Code generators
             ●   OpenLaszlo
        –   Open source



                                  
PhoneGap
    ●   Issues and Limitations
        –   Permissions
        –   Look and feel




                                
Rh0des
    ●   What You Get
        –   Ruby interpreter
        –   Rails-esque Web app framework
        –   Ruby bridge to native APIs
        –   Packaging as an APK for distribution
        –   Cross-platform portability


                                  
Rhodes
    ●   How You Get There: Local Development
        –   Requires Android SDK and NDK, plus
            dependencies
        –   Ruby gem supplies command to create project
             ●   Also other generators, etc.
        –   Rake script to build application, install to
            emulator, etc.


                                        
Rhodes
    ●   How You Get There: Cloud Development
        –   RhoHub TaaS (Tools as a Service)
        –   Generates Git repo for your app
        –   Request builds as needed
             ●   Specify platform and version




                                       
Rhodes
    ●   Issues and Limitations
        –   Application size
        –   Permissions
        –   Look and feel
        –   Programming paradigm (classic vs. JS-centric)




                                  
Titanium Mobile
    ●   What You Get
        –   Javascript bridge to native APIs
             ●   Focus on native GUI widgets, laid out using
                 HTML/CSS
        –   Packaging as an APK for distribution
        –   Cross-platform portability



                                        
Titanium Mobile
    ●   How You Get There
        –   Download Titanium development tool
        –   Create project template
        –   Fill in project using own tools
        –   Package and test using Titanium




                                    
Titanium Mobile
    ●   Issues and Limitations
        –   Permissions
        –   Hybrid look and feel
        –   Increased dependency on proprietary API




                                    
Adobe AIR
    ●   What You Get
        –   Ability to take AIR desktop applications and
            convert to Android APKs
    ●   What You Don't Get
        –   Flex
        –   Deep device integration



                                   
Adobe AIR
    ●   How You Get There: Standard Choices
        –   Creative Suite
        –   Flash Builder
        –   FlashDevelop
        –   AIR development tools and your own
            environment



                                 
Adobe AIR
    ●   Issues and Limitations
        –   Requires runtime engine as separate APK
        –   Requires Android 2.2+




                                 
What's Still Needed?
    ●   More HTML5 Discoverability
    ●   More Seasoning and Experience
    ●   More Mobile-Friendly Frameworks
        –   Examples: Sencha Touch, Jo




                                 
Where Do We Go From Here?
    ●   Web App Containers
        –   PhoneGap: phonegap.com
        –   Rhodes: rhomobile.com
        –   Titanium Mobile: appcelerator.com
    ●   Adobe AIR: www.adobe.com/products/air/



                                 
Where Do We Go From Here?
    ●   Rich Web Experience 2010
        –   Today
             ●   The Future of Mobile: Learn to Build W3C Widgets
                 and Device APIs with PhoneGap
             ●   Choices in Mobile Application Development




                                       
Where Do We Go From Here?
    ●   Rich Web Experience 2010
        –   Friday
             ●   Ted Neward's all-day Android-a-palooza (a.k.a.,
                 workshop)
             ●   Easy Mobile Development Workshop: Mobile GUI
                 Frameworks
             ●   Easy Mobile Development Workshop: Appcelerator
                 Titanium


                                       
Q & A

       

Android Development...Using Web Technologies

  • 1.
    Rich Web Experience2010 Android Development... Using Web Technologies    
  • 2.
    Setting the Stage ● Traditional Android Development – Source = XML and Java – Executables = APK files ● Distribute on the Android Market ● Distribute by other means as desired – Fun! Exciting!! No Resemblance to the Web!!!    
  • 3.
    Setting the Stage ● Web-tastic Alternatives! – HTML5 – Web App Containers ● PhoneGap ● Rhodes ● Titanium Mobile – Adobe AIR    
  • 4.
    HTML5 ● The Good News: Built-In Browser Support – Local Storage – Offline Caching – <video> Element    
  • 5.
    HTML5 ● The Bad News – No distribution support – No launcher support – HTML5/related specs still a work in progress – Limited device integration    
  • 6.
    HTML5 ● Alternative Browser Support – Firefox Mobile (beta) – Opera Mobile (beta) – Dolphin HD 4.0    
  • 7.
    Web App Containers ● Concept: Augmented HTML – Native APIs – Native APKs – Other benefits ● Language ● Widgets    
  • 8.
    PhoneGap ● What You Get – Javascript bridge to native APIs – Packaging as an APK for distribution – Cross-platform portability    
  • 9.
    PhoneGap ● How You Get There: Local Development – Requires Android SDK and dependencies – droidgap script to generate application stub – You create HTML, CSS, Javascript – Use Apache Ant build system to create APK – Test on emulator, device    
  • 10.
    PhoneGap ● How You Get There: Cloud Development – build.phonegap.com (in private beta) – Upload HTML, CSS, JS assets ● ZIP, Git, SVN – Download APK and binaries for other devices – Free for open source, non-free for commercial    
  • 11.
    PhoneGap ● Extending the Framework – Plugins – Replacement wrappers – Code generators ● OpenLaszlo – Open source    
  • 12.
    PhoneGap ● Issues and Limitations – Permissions – Look and feel    
  • 13.
    Rh0des ● What You Get – Ruby interpreter – Rails-esque Web app framework – Ruby bridge to native APIs – Packaging as an APK for distribution – Cross-platform portability    
  • 14.
    Rhodes ● How You Get There: Local Development – Requires Android SDK and NDK, plus dependencies – Ruby gem supplies command to create project ● Also other generators, etc. – Rake script to build application, install to emulator, etc.    
  • 15.
    Rhodes ● How You Get There: Cloud Development – RhoHub TaaS (Tools as a Service) – Generates Git repo for your app – Request builds as needed ● Specify platform and version    
  • 16.
    Rhodes ● Issues and Limitations – Application size – Permissions – Look and feel – Programming paradigm (classic vs. JS-centric)    
  • 17.
    Titanium Mobile ● What You Get – Javascript bridge to native APIs ● Focus on native GUI widgets, laid out using HTML/CSS – Packaging as an APK for distribution – Cross-platform portability    
  • 18.
    Titanium Mobile ● How You Get There – Download Titanium development tool – Create project template – Fill in project using own tools – Package and test using Titanium    
  • 19.
    Titanium Mobile ● Issues and Limitations – Permissions – Hybrid look and feel – Increased dependency on proprietary API    
  • 20.
    Adobe AIR ● What You Get – Ability to take AIR desktop applications and convert to Android APKs ● What You Don't Get – Flex – Deep device integration    
  • 21.
    Adobe AIR ● How You Get There: Standard Choices – Creative Suite – Flash Builder – FlashDevelop – AIR development tools and your own environment    
  • 22.
    Adobe AIR ● Issues and Limitations – Requires runtime engine as separate APK – Requires Android 2.2+    
  • 23.
    What's Still Needed? ● More HTML5 Discoverability ● More Seasoning and Experience ● More Mobile-Friendly Frameworks – Examples: Sencha Touch, Jo    
  • 24.
    Where Do WeGo From Here? ● Web App Containers – PhoneGap: phonegap.com – Rhodes: rhomobile.com – Titanium Mobile: appcelerator.com ● Adobe AIR: www.adobe.com/products/air/    
  • 25.
    Where Do WeGo From Here? ● Rich Web Experience 2010 – Today ● The Future of Mobile: Learn to Build W3C Widgets and Device APIs with PhoneGap ● Choices in Mobile Application Development    
  • 26.
    Where Do WeGo From Here? ● Rich Web Experience 2010 – Friday ● Ted Neward's all-day Android-a-palooza (a.k.a., workshop) ● Easy Mobile Development Workshop: Mobile GUI Frameworks ● Easy Mobile Development Workshop: Appcelerator Titanium    
  • 27.