
Application Development Platforms and Frameworks Page . 1 Highlights • Every major mobile OS comes with a rich app framework and powerful app development platforms – iOS, Android, Blackberry, WebOS, Windows Phone • Many 3rd party libraries, frameworks and platforms offer cross-platform alternatives to the OS vendor frameworks and platforms – PhoneGap, Appcelerator, Rhodes, Sencha… – The best enable applications built with web technologies …that have the look-and-feel of native smartphone applications …with full support for the native phone controls and touch gestures • Emerging HTML5 application platforms point the way to the future – Chrome OS, Alibaba Aliyum, Carbyn… – HTML5 enables web apps in the browser container to operate off-line • App cached on the device • Data stored locally on the device Mobile App Development Tools • There are a wide variety of tools available for creating mobile applications. These tools fall into three broad categories – Software libraries • Small, self-contained toolkits that offer specific functionality • E.g., UI widgets and 3D graphics – Application frameworks • A set of libraries, software components and architecture guidelines • Enable building a complete mobile application – Application development platforms • Everything needed to build a complete application and package it for distribution • Development tools are provided by OS vendors and by 3rd parties • OS vendors provide native OS platforms & development environments – 3rd parties provide libraries, frameworks and platforms Native OS Application Platforms & Development Environments Every major mobile OS comes with a rich application development and execution environment, including: • Integrated Development Environment (IDE) – Industry standard langauges – Debuggers – Emulators • Rich application framework • Comprehensive set of libraries Android iOS Blackberry WebOS Windows Phone Primary languages Java Objective C Java HTML, CSS, C# JavaScript Also supported C, C++ C, C++ IDE Eclipse Xcode Eclipse Eclipse Visual Studio HTML5 – is the Future of Mobile App Development Apple has adopted HTML5, CSS and JavaScript – all open standards. Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee … New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Steve Jobs, April 2010 Why HTML5 • HTML5 transforms the web browser into a rich application platform – Rich user interfaces – Offline capabilities – Deep and secure hardware access capabilities • Availability – First public working draft of HTML5 published in 2008 by the W3C and WHATWG web standard consortia – Although the specification work is ongoing, browsers have already implemented many HTML5 features – Widespread use of the WebKit layout engine on iOS, Android, Blackberry, WebOS and Bada has accelerated the mobile adoption of HTML5 The HTML5 Family • So called “HTML5” apps are built using the suite of modern web development technologies – The Core HTML5 spec – CSS3 (Cascading Style Sheets Version 3) – Web Workers – Web Storage – Web Sockets – Geolocation – Microdata – SVG (Scalable Vector Graphics) – WebGL* – Device API and File API – And more specifications in progress * WebGL is not a W3C specification. HTML5 Offline Capabilities • Local application storage: AppCache – Enables offline access to applications – Fast – native app like – app load time – Caches entire web app locally • Application to be cached specified in Cache Manifest File • Data storage and access – Web SQL Database • Client-side SQLite database – IndexedDB • Object based data store – File / FileSystem APIs • Reading and manipulating • Creating and writing • Directories and System Building Mobile Apps with HTML5 • Pure web apps – Accessed using a standard browser – Fully encapsulated in the browser • Web apps transformed into native apps – Wrapped in a native wrapper (e.g., PhoneGap) – Compiled to native platform object (e.g., Appcelerator) – There are two broad reasons to do this: • Access to the native app store (e.g., iTunes) • Access to API's not exposed to the browser (e.g., accelerometer, camera) • Web pages invoked by a native app using the OS’s built-in browser 3rd party Libraries, Frameworks and Platforms • There are a great many 3rd party libraries, frameworks and platforms • Most are cross-platform, some are OS specific (e.g., only for iOS) • Most support web development technologies – HTML, CSS, JavaScript… • Generally fall into one of three groups: 1. Compile a native app targeting one or more platforms • E.g., Titanium Appcelerator (html/js/css -> iPhone/Android/Blackberry) 2. Wrap a web app in a native wrapper, exposing native APIs to the web app • E.g., PhoneGap 3. Enable touch-device optimized, native look and feel web apps • E.g., Sencha Libraries Libraries are small, self-contained toolkits that offer specific functionality to the developer. Normally used in conjunction with other libraries and tools to make up the full mobile app. Examples include UI widgets and 3D graphics libraries. The best libraries for mobile application development enable the creation of touch-device optimized, native look-and-feel applications. Library URL License Type A sample of the more popular 3rd party cross-platform libraries: Jo http://joapp.com Open Source Library JQTouch http://jqtouch.com Open Source Library JQuery Mobile http://jquerymobile.com Open Source Library Sencha Touch http://www.sencha.com/products/touch/ OS/Commercial Library xui http://xuijs.com Open Source Library Frameworks A framework is a set of libraries, software components and architecture guidelines that provides the developer with a comprehensive toolkit to build a complete mobile application, from top to bottom. A sample of the more popular 3rd party cross-platform frameworks: Framework URL License Type AML http://www.amlcode.com Open Source Framework Grapple http://www.grapplemobile.com/ Commercial Framework MotherApp http://www.motherapp.com/ Commercial Framework QT http://qt.nokia.com/products/qt-formobile-platforms/ Open Source Framework QuickConnectFamily http://www.quickconnectfamily.org/ Open Source Framework Sproutcore Touch Framework WebApp.net http://webapp-net.com/ Open Source Framework Platforms A set of frameworks, tools and services that not only allow the user to build a complete mobile application but also to configure, package and distribute it to app stores or the cloud. Platforms normally include some sort of integrated development environment (IDE) to ease app construction, comprehensive documentation, support and automation tools. A sample of the more popular 3rd party cross-platform platforms: Plaform URL License Type Adobe AIR Commercial Platform Appcelerator Titanium http://www.appcelerator.com/ Open Source Platform appMobi Platform MobileIron http://mobileiron.com/ Commercial Platform MoSync http://www.mosync.com/ Open Source Platform Phonegap (Apache Callback) http://www.phonegap.com Open Source Platform RhoMobile Rhodes http://rhomobile.com/products/rhodes/ Open Source Platform WidgetPad http://widgetpad.com Open Source Platform PhoneGap (Apache Callback) • Technical architecture – Apps written in HTML, JavaScript and CSS – Run in a mobile browser embedded on a thin native app wrapper – Access to device’s capabilities through a device-independent JavaScript API which talks to the OS proprietary API’s • Supported platforms – iOS, Android, Blackberry, Windows Mobile 6.5, Symbian, Palm • Strengths – Native wrapper source code is available for customization – Simple ‘drop-in libraries’ concept makes it easier to develop – Broad range of platforms supported – Apps built purely in HTML, JavaScript and CSS • Weaknesses – Lack of support for native UI components, design patterns and development tools • Best PhoneGap apps use Sencha Touch to provide native look-and-feel PhoneGap (Apache Callback) • Free open source framework – Many contributors, including from IBM, RIM and Microsoft • Originally created by Nitobi • Adobe acquired Nitobi in October 2011 – Provides Adobe with a pure web-technology mobile solution as an alternative to the proprietary Flash/AIR – Adobe committed to continuing to contribute to the code and to host the PhoneGap online community and the PhoneGap Build service – PhoneGap code was contributed to the Apache Software Foundation (ASF) under the name Apache Callback PhoneGap (Apache Callback) supported features Source: http://phonegap.com/about/features/ Appcelerator Titanium • Technical architecture – Apps written in JavaScript, compiled into native code – Creates target platform specific packaged • Enables distribution through app stores • Supported platforms – iOS, Android, BlackBerry (announced in 2010 but still in closed beta) • Strengths – Native code output so very quick and fluid on phone – Easy setup and start-up for developers – Excellent documentation and examples – Strong community forums to find out answers. • Weaknesses – Restrictive set of API’s – Currently only supports iOS and Android Appcelerator Titanium supported features Capability iPhone Android Geo-location Yes Yes PIM Contacts Yes Partially Camera Yes Yes Native menu/Tab bar Yes Yes Barcode No No Audio/video capture Yes Yes Bluetooth No No
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages34 Page
-
File Size-