Multiple phone web-based application framework

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A multiple phone web-based application framework is a software framework that is designed to support the development of phone applications that are written as embedded dynamic websites and may leverage native phone capabilities, like geo data or contact lists. For more general frameworks see List of rich internet application frameworks.

Current frameworks[edit]

Feature Apache Cordova Appspresso AppFurnace Application Craft iUI NS Basic/App Studio WorkLight QuickConnectFamily Big5Apps (discontinued) Rhodes Appcelerator Titanium Kendo UI MobileReflex iPFaces MoSync Canappi Jmango mobl Paradise Sencha Touch NEXT[1] Jembe codenameone Kivy AMPchroma Enyo
Website cordova.apache.org appspresso.com appfurnace.com applicationcraft.com iui-js.org nsbasic.com worklight.com quickconnectfamily.org big5apps.com rhomobile.com appcelerator.com KendoUI.com mobilereflex.com ipfaces.org mosync.com canappi.com j-mango.com/web mobl-lang.org paradiseapps.net sencha.com nextinterfaces.com www.jembe.fr codenameone.com kivy.org [2] enyojs.com
Open Source License Apache Public License v2 closed source freeware No No MIT No No MIT GPL v2 MIT Apache Public License v2, Proprietary closed source No closed source freeware GPL v2 (+ commercial edition) Generated Native Code MIT No GPL v3 (+commercial edition) Apache License v2.0 No No MIT No Apache License v2.0
Free? Yes Yes No[2] No[3] Yes No No Yes  ? Yes[4] Yes[5] No No Yes Yes Yes No Yes No Yes Yes No Yes[6] Yes No Yes
Framework target Embedded applications Embedded applications Embedded applications Web, Native and Enterprise Applications Web Applications Web Applications Embedded and Enterprise Applications Embedded and Enterprise Applications Web applications Embedded applications Embedded applications Web and Mobile applications Enterprise Applications Enterprise Applications Hybrid, Native and Enterprise Applications Enterprise Applications Embedded applications Web applications Web applications Embedded and Enterprise Applications Embedded and Enterprise Applications Hybrid, Native and Enterprise Applications[7] Web applications
Development languages HTML, JavaScript and CSS HTML, JavaScript and CSS JavaScript JavaScript, HTML and CSS JavaScript, HTML and CSS BASIC, JavaScript, HTML and CSS JavaScript, HTML and CSS, Native code or a combination of both JavaScript, HTML, CSS for mobile and desktop apps. Objective-C, C++, PHP, Java, Erlang for Desktop and Server apps HTML, JavaScript HTML, JavaScript, Ruby HTML, JavaScript, (PHP, Ruby & Python for Desktop apps) HTML, JavaScript and CSS Java ME, C#, Objective-C, JavaScript, Java, CSS for mobile and desktop apps. PHP, ASP.NET, Java C/C++, JavaScript, HTML and CSS Objective-C, Java, PHP, SQL, JavaScript, HTML, CSS, Silverlight mobl HTML, JavaScript and CSS HTML5, CSS3, JavaScript GWT, HTML5, CSS3, JavaScript, Java HTML, JavaScript and CSS Java Python HTML5, CSS3, JavaScript, Java, Native code or a combination of both HTML5, CSS3, JavaScript
Platforms
iOS support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Android support Yes Yes Yes Yes Yes Yes Yes Yes Yes  ? Yes Yes On Roadmap Yes Yes Beta Yes Yes Yes Yes Yes Yes Yes Yes Yes
Windows Phone support Yes On roadmap No Yes Yes Yes, via Cordova Yes On roadmap  ? Yes On roadmap Yes Yes On roadmap Yes On roadmap Yes Yes On roadmap On roadmap Beta version No Yes Yes
BlackBerry support Yes No No Yes Limited models Yes Yes No  ? Yes Beta version Yes Yes Beta version Yes No Yes Yes Yes On roadmap Yes No Yes Yes
Symbian support Yes No No Yes  ? Yes, via Cordova For web apps No  ? Yes  ? No On roadmap  ? Yes Yes Yes No No No  ? No No No
Palm WebOS support Yes No No Yes Yes Yes For web apps No  ? No  ?  ? On roadmap  ?  ? No Yes Yes No Yes No No No No Yes
WAC support No Yes No No No No No No No No No No No No No No No No No No No No No No No No
Other Device support Bada Tablets, desktop and web environments Tablets, desktop and web environments Tablets, desktop and web environments Linux & Mac OS Tablets and Windows (Win32) Windows, Linux & Mac OS MeeGo Linux, Windows Java ME beta version, general web browser through XSLT Java ME, Moblin, Windows Mobile Tablets Webkit/Firefox desktop browsers Webkit desktop browsers (Chrome, Safari) Bada, BlackBerry PlayBook, MeeGo Windows, Linux & Mac OS Tablets Tablet, desktop and web environments, Tizen, Firefox OS
General
Without recompiling development No Yes[8]  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ? No  ?  ?  ?  ? No No Yes, for web apps
Enterprise data synchronization No No No Yes No No Yes Yes No Yes, via RhoConnect No No No On roadmap On roadmap Yes No No  ?  ? Yes  ?
Multi-Threaded Applications No Yes No No No Yes  ? Yes  ? Yes, via Ruby  ?  ?  ?  ?  ? No No No  ? Partial (Python based.) Yes
File uploading Yes Yes Yes Yes  ? Yes, via Cordova Yes Yes  ? Yes  ? Yes  ?  ? Yes No Yes Yes  ? Yes No Yes, via Cordova
Image Library Browsing No Yes No Yes  ? Yes, via Cordova Yes Yes  ? Yes  ?  ?  ?  ? On roadmap Yes No On roadmap  ? Yes No Yes, via Cordova
In Application Email  ? Yes Yes[9] Yes[10]  ? Yes Yes Yes  ?  ?  ?  ?  ?  ?  ? Yes  ? No  ? Yes No  ?
Application distribution support No No Yes Yes No No Yes Yes  ? Yes, via RhoGallery Yes, via Cloud Services  ? AppStore[disambiguation needed], Cloud Services AppStore[disambiguation needed], Cloud Services On roadmap No No No  ? Yes Yes
Distribution analytics No No No No No No Yes Yes No No Yes, via Cloud Services No AppStore[disambiguation needed], Cloud Services AppStore[disambiguation needed], Cloud Services On roadmap No No No  ? No Yes
Self contained, no web required Yes Yes Yes Yes, Mobile No Yes Yes Yes  ? Yes Yes Yes Yes, Offline Support Yes Yes Yes Yes Yes Yes, Offline Support Yes, Offline Support Yes Yes Yes Yes, Offline Support Yes
Web Services  ? Yes Yes  ?  ? Yes Yes Yes (XML/JSON AJAX)  ? Yes (REST or SOAP with JSON or XML)  ?  ?  ?  ?  ? Yes (PHP/MySQL - XML/JSON - HTTP/SOAP) Yes(JSON) Yes Yes (JSONP, JSON) Yes (JSONP, JSON, GWT RPC) Yes Yes  ? Yes Yes (JSONP, JSON)
Mobile APIs support  ? Yes Yes Yes  ? Yes (Sencha Touch, JQTouch, etc.) Yes Yes (Sencha Touch, JQTouch, etc.)  ?  ?  ? Yes  ?  ?  ? Yes (Simple Connector Architecture, Facebook, Twitter, RSS, Twilio, Zillow, ...) Yes Yes Yes Yes (In progress) Yes
Able to access the web for data Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes  ? Yes Yes Yes
Geolocation support Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Cell ID, GPS, DRM[disambiguation needed] Yes Yes Yes On roadmap Yes  ? On roadmap Yes Yes, via Cordova or browser
Vibration support Yes Yes Yes Yes Yes Yes, via Cordova Yes Yes  ? Yes Yes  ?  ? Yes On roadmap Yes Yes  ? Yes No Yes, via Cordova
Accelerometer support Yes, BlackBerry requires OS 4.7 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes  ? On roadmap On roadmap Yes Yes, BlackBerry requires OS 4.7 Yes  ? Yes Yes Yes, via Cordova
Sound (play) support Yes On roadmap Yes Yes Yes Yes Yes Yes  ? Yes Yes Yes  ? Yes Yes Yes Yes  ? Yes No Yes, via Cordova or HTML5 Audio
Sound (record) support Yes On roadmap No Yes  ? Yes, via Cordova Yes Yes  ?  ? Yes Yes  ?  ? On roadmap Yes Yes via Cordova On roadmap  ? Yes No Yes, via Cordova
Camera support Yes Yes No Yes  ? Yes, via Cordova Yes Yes Yes Yes Yes Yes Yes In beta Yes Yes, via Cordova Yes Yes, via Cordova Yes  ? On roadmap Yes Yes, via Cordova
Zeroconf (Bonjour) support  ? No  ?  ?  ?  ?  ? Yes  ?  ? Partial[11] No No No No  ? No  ? Yes (external) No
XMPP support Yes No No Yes  ? Yes, via Cordova Yes Yes  ?  ? Via JS No  ?  ? No Yes No  ? Yes (external) No Yes, via Cordova
File system IO support Yes Yes Yes Yes  ? Yes, via Cordova Yes Yes  ? Yes Yes Yes  ? Yes Yes Yes Yes Yes, via Cordova Yes  ? Yes Yes, via Cordova
Gesture / Multi-touch support Yes Yes Yes  ? Yes Yes Yes Yes  ?  ? Yes Yes  ?  ? Yes Yes Yes Yes Yes Yes  ? Yes Yes Yes
Device Motion Event (accelerometer) support Yes Yes Yes Yes Yes Yes Yes Yes  ?  ?  ?  ?  ?  ?  ? Yes (iOS) Yes Yes  ? Yes Yes Yes, via Cordova
Device Orientation Event (accelerometer) support Yes Yes Yes  ? Yes Yes Yes Yes  ? Yes Yes  ?  ?  ? Yes Yes (iOS) Yes Yes  ? On roadmap Yes Yes, via Cordova
Native date/time picker support  ? No  ?  ?  ? Yes Yes Yes  ? Yes Yes Yes  ?  ? Yes  ? No Yes Yes  ? No No
SMS support Yes Yes Yes  ? Yes Yes Yes Yes  ? Yes Yes Yes  ? Sending Yes No Yes No Yes  ? On roadmap No  ?
Telephone support Yes Yes Yes Yes Yes Yes Yes Yes  ? Yes  ? No  ? Yes Yes Yes Yes No No Yes  ? On roadmap No Yes
Maps support Yes Yes Yes  ? Yes Yes Yes Yes  ? Yes Yes Yes  ? Beta Yes On the roadmap Yes  ? No No Yes
Orientation change support Yes Yes No Yes Yes Yes Yes Yes  ? Yes Yes Yes Yes Yes Yes Yes No Yes Yes  ? Yes Yes Yes
Contact support Yes Yes No Yes  ? Yes, via Cordova Yes Yes  ? Yes  ? Yes  ?  ? No Through Cordova Yes Through Cordova On roadmap  ? Yes Yes Yes, via Cordova
SQLite support Yes, not possible on BlackBerry On roadmap Yes Yes, not possible on BlackBerry  ? Yes Yes Yes  ? Yes Yes Yes No On roadmap No Uses onboard storage and back-end databases via service layer Yes Yes, not possible on BlackBerry Yes Yes  ? Yes No Yes, based on device support
Native Language Application Development support No Yes No No No No Yes Yes No Yes, via Rhodes extensions Yes No No No Yes No No Yes Yes Yes Yes
Graph Library Support  ?  ?  ? Yes  ? Yes, via HTML5 SVG or Canvas Yes Yes  ? Yes, via HTML5 SVG or Canvas  ?  ?  ?  ? Yes  ? No  ? Yes No Compatible with other libraries
Other notes XML-driven UI. transparent caching of resources & data Accelerated with OpenGL ES 2.

History[edit]

With mobile device manufactures each having its own preferred development environment, a growth mobile phone application developments that are World Wide Web capable and a large population of HTML savvy developers, there has arisen web based application frameworks to help developers write applications that can be deployed on multiple devices.

March 6, 2008 - the first iPhone SDK beta is released to a limited number of developers (4,000).

March 12, 2008 - the first versions of the QuickConnectJavaScript, QuickConnectPHP, and QuickConnectErlang frameworks made available to the public. These were focused on easing browser - server communication. QuickConnectJavaScript was the basis from which the first versions of QuickConnect for the iPhone were developed.

April 8, 2008 - iPhone OS 2.0b3 Beta 3 is released to the same set of developers. Lee Barney begins development of QuickConnect for the iPhone as a hybrid application framework. This is the first iPhone SDK release that included the UIWebView component. This component allows applications to display HTML and CSS pages and run JavaScript. No database support was included at this time. QuickConnect for the iPhone development began. It was a port and partial re-write of the earlier QuickConnectJavaScript 1.0 framework that had been made available in March of the same year.

May 23, 2008 - Lee Barney publishes a seminal posting 'UIWebView Example Code' on the tetontech blog describing and providing source code on how to call from JavaScript to Objective-C and from Objective-C back up to JavaScript. This posting has had over 60,000 hits.

May 29, 2008 - iPhone OS 2.0b6 Beta 6 is released. This is the first version of the UIWebView that included SQLite database support.

July 11, 2008 - iPhone OS 2.0 and the first release version of the iPhone SDK released. All developers could now download the SDK if they registered.

August 2008 iPhoneDevCamp in San Francisco - Nitobi begins development of PhoneGap.

November 11, 2008 - A port of QuickConnect made available for Mac desktop and laptop systems.

December 16, 2008 - version 1.0 of QuickConnect for the iPhone released. This included support for embedded Google maps, Geo location, SQLite support both in the browser and with installed databases, an AJAX wrapper, drag-and-drop, phone, email, audio file recording and playing, as well as other features.

January 16, 2009 - version 1.0 beta 1 of QuickConnect for Android released. This release was an eclipse project that could be imported by the user into their workspace.

August 29, 2009 - version 1.5 of QuickConnect for the iPhone released.

November 11, 2009 - version 1.6 beta 6 of the QuickConnect family made available. This included the first support for Palm WebOS. This support was provided by an Xcode template that would build, install, and run the application into the PalmWebOS emulator. An Xcode template for Android 2.0 was also added. This template would build for both the emulator and the Android app store as well as install and run the application on the Android emulator. Templates were now available for the iPhone, Android, and Palm webOS mobile devices.

See also[edit]

External links[edit]

References[edit]

  1. ^ http://blog.nowvu.com/2010/08/30/a-lightweight-method-to-check-sencha-touch-browser-compatibility-in-php/
  2. ^ Free to use, test and demo. But costs money to actually publish an app.
  3. ^ Free to test 14 days. 14 $US/month (nov 2012).
  4. ^ RhoElements running in native mode requires licensing [1].
  5. ^ Access to pre-release versions, beta previews, and some plug-in modules require a purchased subscription.
  6. ^ Basic version is free
  7. ^ http://info.antennasoftware.com/rs/antennasoftware/images/AMPchroma2_Datasheet_Dec2012.pdf
  8. ^ on-the-fly
  9. ^ Can compose email from a mailto link
  10. ^ Can compose email from a mailto link
  11. ^ Currently only iOS is supported.