Cross Platform Mobile App Development Tools Mark Arteaga | Founder @RedBitDev @MarkArteaga mark@redbitdev.com www.markarteaga.com www.RedBitDev.com
WHY ARE WE HERE?
CHALLENGE & GOALS?
Target all relevant platforms Reduce development time Reduce development costs Make end customers happy on all platforms (BYOD) • Share common code across platforms • • • •
MOBILE LANDSCAPE
NATIVE APPS
Defining Native: App Characteristics • Built with standard native UI controls • Conforms to platform‟s design conventions • Optimal performance • Leverages platform level HW acceleration • Access to full platform functionality
• Objective C • Xcode on Mac OS • Free Tools/SDK • $99 Store Fee/yr • C#, C++, VB.NET • Visual Studio/ VS Express • Free Tools/SDK • $19 Store Fee/yr Personal • $99/yr Company • Java, C/C++ • Plugin for Eclipse plus others • Free Tools/SDK • $25 Store Fee (One Time)
TECH APPROACHES TO CROSS PLATFORM
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
JavaScript Frameworks - Tools • • • • jQuery Mobile Sencha Touch jQT (jQTouch) KendoUI • Many open source
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‟
Hybrid Apps – Frameworks • Apache Cordova (PhoneGap) • Others based on PhoneGap
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
Native Runtimes – Tools/Frameworks • • • • • Xamarin.iOS, Xamarin.Android Appcelerator Corona AppMobi Adobe Flex
REDBIT’S CHOICE
Native Runtimes
• 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
• 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
Our Final Choice
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)
HOW DO YOU DECIDE?
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?
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)
Thank you & Questions! Mark Arteaga | Founder @RedBitDev @MarkArteaga mark@redbitdev.com www.markarteaga.com www.RedBitDev.com
THANK YOU & QUESTIONS!
Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...
In this presentation we will describe our experience developing with a highly dyna...
Presentation to the LITA Forum 7th November 2014 Albuquerque, NM
Un recorrido por los cambios que nos generará el wearabletech en el futuro
Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...
Microsoft finally joins the smartwatch and fitness tracker game by introducing the...
Wireless Industry Partnership . About; Events; ... Mobile + Developers + Community. That sums us up! Latest Posts WIP Events WIP Calendar Tool Time ...
Read more
The Webinato Platform While Webinato is the name of our webinar platform, ... our webinar platform with interactive tools such as the ... in 2013. Her ...
Read more
... due to several emerging cross platform development environments, it is becoming easier and quicker to develop for both iOS ... Here are 3 popular tools.
Read more
... 2013 has already been a remarkable ... an integrated cross-platform tool for reaching the ... For more information about Twitter Amplify, click ...
Read more
MoSync - Cross-Platform SDK for mobile phones. ... Aug 27, 2013: tools: Apache 2, part 3: manual changes. Aug 27, 2013.gitignore: New license: Apache 2 ...
Read more
... cross-platform push notification infrastructure; ... Downloads Get the SDKs and command-line tools you need. ... .NET. VS 2015; VS 2013.NET Core ...
Read more
Android Studio is the official [4] integrated development environment (IDE) for developing for the Android platform. It was announced on May 16, 2013 at ...
Read more
... an open source cross-platform multiprotocol ... A 2013 report by Reporters Without Borders specifically mentioned QQ as allowing authorities to ...
Read more
... helping developers find insights and research data on platforms, tools & APIs. Developer Economics is the leading online resource for mobile app ...
Read more
Add a comment