wipjam cross platform tools - dec 2013
DESCRIPTION
You typically need to develop for more than one type of mobile platform – so how does that work? What is the difference between a native app and web app? This session will uncover the decisions and tools available to make your application available on the iOS, Android, Windows Phone/Windows 8 and other platforms of importance to your end users to maximize your reach and minimize your maintenance effort.TRANSCRIPT
![Page 1: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/1.jpg)
Cross Platform Mobile App Development Tools
@MarkArteaga
[email protected] www.markarteaga.com
Mark Arteaga | Founder @RedBitDev
www.RedBitDev.com
![Page 2: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/2.jpg)
WHY ARE WE HERE?
![Page 3: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/3.jpg)
CHALLENGE & GOALS?
![Page 4: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/4.jpg)
• Target all relevant platforms• Reduce development time• Reduce development costs• Make end customers happy on all
platforms (BYOD)• Share common code across platforms
![Page 5: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/5.jpg)
MOBILE LANDSCAPE
![Page 6: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/6.jpg)
![Page 7: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/7.jpg)
![Page 8: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/8.jpg)
NATIVE APPS
![Page 9: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/9.jpg)
• Built with standard native UI controls• Conforms to platform’s design
conventions• Optimal performance• Leverages platform level HW
acceleration• Access to full platform functionality
Defining Native: App Characteristics
![Page 10: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/10.jpg)
• Objective C• Xcode on Mac
OS• Free
Tools/SDK• $99 Store
Fee/yr
• Java, C/C++• Plugin for
Eclipse plus others
• Free Tools/SDK• $25 Store Fee
(One Time)
• C#, C++, VB.NET
• Visual Studio/ VS Express
• Free Tools/SDK• $19 Store
Fee/yr Personal
• $99/yr Company
![Page 11: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/11.jpg)
TECH APPROACHES TO CROSS PLATFORM
![Page 12: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/12.jpg)
![Page 13: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/13.jpg)
JavaScript Frameworks – What is It?• Mobile optimized website• UI rendered by browser– Safari for iOS– Chrome for Android– IE for Windows
• No app store deployment• Standard JavaScript, HTML, CSS• Low barrier to entry
![Page 14: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/14.jpg)
JavaScript Frameworks - Tools• jQuery Mobile• Sencha Touch• jQT (jQTouch)• KendoUI• Many open source
![Page 15: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/15.jpg)
Hybrid Apps – What Is It?• Native apps using embedded web
browser• HTML, CSS, JavaScript is used as to
render the UI• JavaScript & native “bridge” to
access device capabilities– Notifications, compass, filesystem
• Leverage existing JavaScript frameworks
• Tries to accomplish ‘write once run anywhere’
![Page 16: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/16.jpg)
Hybrid Apps – Frameworks
• Apache Cordova (PhoneGap)• Others based on PhoneGap
![Page 17: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/17.jpg)
Native Runtimes – What is it?• Compatibility layer that sits on top of
the native OS• Attempts to shield app from platform
differences• Executes code using different
methods– Interpretation– JIT Compiling– AOT Compiling
• Compiles to native code
![Page 18: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/18.jpg)
Native Runtimes – Tools/Frameworks
• Xamarin.iOS, Xamarin.Android• Appcelerator• Corona• AppMobi• Adobe Flex
![Page 19: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/19.jpg)
REDBIT’S CHOICE
![Page 20: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/20.jpg)
Native Runtimes
![Page 21: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/21.jpg)
• Javascript as the coding language• Compiled down to native app– Javascript is not compiled– Interpreted code
• Uses native controls on platform (ie button)
• Attempts to have one code base for– business logic code– User interface code
• Program to lowest common denominator for one code base
![Page 22: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/22.jpg)
• C# as the coding language• Compiled down to native code– AOT Compiling to binary code for ARM
• Does not try to accomplish write once run anywhere– Code sharing of core business logic –Write UI for every platform as every
platform has different UI concepts
![Page 23: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/23.jpg)
Our Final Choice
![Page 24: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/24.jpg)
Why ?
• Development team had more experience with C#
• Compiles down to native code for performance
• Does not try to accomplish ‘write once run anywhere’
• Can share across iOS, Android and Windows (WPF, Windows 8, Windows Phone)
![Page 25: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/25.jpg)
HOW DO YOU DECIDE?
![Page 26: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/26.jpg)
Questions to ask …• Do you really need a native app? Is mobile
optimized satisfy requirements?• Native required then what platforms are
your customers on?• Is there a BYOD strategy in your
organization? • What are your development teams
strengths? Web/.NET/Java etc• Will customers accept an app that ‘does
not feel native to platform’?• Do you require platform integration such
as gestures, notifications, GPS, camera?
![Page 27: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/27.jpg)
Questions to ask … (con’t)• Do you require offline functionality?• How does your app get discovered?– Enterprise app – you tell them where to get it.– Consumer app – they have to find you, they
usually use web
• Maintainability – easier to update a web app than a native/hybrid/runtime app
• Costs – Least - develop mobile optimized site– Mid – develop hybrid app– Mid 2 – Runtime app, share code, unique UI– Most – Pure native apps (write for every
platform)
![Page 28: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/28.jpg)
@MarkArteaga
[email protected] www.markarteaga.com
Mark Arteaga | Founder @RedBitDev
www.RedBitDev.com
Thank you & Questions!
![Page 29: WIPJam Cross Platform Tools - Dec 2013](https://reader036.vdocument.in/reader036/viewer/2022062418/555ab26ed8b42ad0538b513a/html5/thumbnails/29.jpg)
THANK YOU & QUESTIONS!