Mobile device devel­op­ment frameworks.

With the increase in the use of more ver­sa­tile mobile plat­forms espe­cially the iPhone (plus the hype) there are as one would expect a num­ber of devel­op­ers cre­at­ing “Frame­works” to speed up the devel­op­ment of appli­ca­tions for such devices.
Webkit. One thing to remem­ber is that the iXxx devices and Android and Palm Pre all use webkit and or vari­ant. So often and iXxx devel­op­ment will work across all mobile devises because of this.
As my main inter­est is in the iphone I am going to do a quick roundup here of some of the frame­works I have come across and or used.
php/aps/python/ruby — some of the frame­works that are html/css/javascript based can of course have the html sub­sti­tuted for any of the web script­ing languages.
One of the nice things about devel­op­ing on this plat­form is that as you are guar­an­teed to get Webkit based browsers then an increas­ing num­ber of css3  tags become avail­able and well as PHP5 elements.
First I have writ­ten a quick overview of each  of the frame­works, then there is a list with the frame­works own blurb and var­i­ous links. I plan to revisit var­i­ous pack­ages as i use them and get more information.
Quick­Con­nect — All singing all danc­ing. Will cre­ate for a range of mobile devices but because of that is more com­plex, i.e. more mov­ing parts, than a more sim­ple html/css/javascript aimed frame­work tar­get­ing the iPhone. How­ever well doc­u­mented and has an Addi­son Wes­ley book cov­er­ing major parts of it and if your brief is to dela with mul­ti­ple devices you will need to look at this.
iWe­bKit — Aimed at iPhone/iPod Touch/iPad and is in the html/css/javascript mould. Looks very pow­er­ful and well maintained.
WebApp​.Net — Aimed at iPhone/iPod Touch/iPad and is in the html/css/javascript mould.
iUi — Prob­a­bly one of if not the first frame­work to emerge. Aimed at iPhone/iPod Touch/iPad and is in the html/css/javascript mould.  Code is good and easy to use. I have built one project deliv­ered to a pay­ing cus­tomer in this frame­work.  cur­rency convertor
jQtouch — is a sub­set of the jQuery JavaScript library and from that point of view has a lot going for it. Aimed at iPhone/iPod Touch/iPad and is in the html/css/javascript mould. Looks very pow­er­ful and well main­tained. Also is fea­tured in an O’Reilly book.
Phone­Gap — cover iPhone, Android, Palm, Sym­bian and Black­berry  - looks like a mix of dif­fer­ent tech­nolo­gies, i will need to dig into it a bit more.
Mono­Touch C# and .NET based appli­ca­tions and libraries that run on Apple’s iPhone and Apple’s iPod Touch devices, while tak­ing advan­tage of the iPhone APIs.
jQuery iPhone UI — Uses jQuery to build html/css/javascript based web sites.
Dash­code — A toolkit from Apple for build­ing html/css/javascript based wid­get and other mac tools. Will now also build web sites for Safari and iXxx.
Xcode — Apple grand daddy of devel­op­ment uses objective-c and builds appli­ca­tions as opposed to web sites so really don’t belong here but of course allow the build­ing of all thing iXxx.
Pas­trykit — An inter­nal toolkit used by Apple to make iPxxx based web sites. Not released to the pub­lic but obvi­ously an Ele­phant in the room as it were.

Quick­Con­nect

Quick­Con­nect is a pow­er­ful, mod­u­lar, sim­ple to use, appli­ca­tion devel­op­ment library avail­able for many lan­guages and plat­forms. Quick­Con­nect is cur­rently avail­able for: iPhone, Android & Mac JavaScript apps, Erlang/Yaws, and PHP.

Quick­Con­nec­ti­Phone is LGPL so you can use it the way you want. It has a cus­tom Dash­code project that includes the needed files. It is highly mod­u­lar. It will even let you com­pile your JavaScript, HTML, and CSS into an instal­lable appli­ca­tion if you want.

It is also documaneyted in an Adi­son Wes­ley Book

  • By: Lee S. Barney
  • Pub­lisher: Addison-Wesley Professional
  • Pub. Date: June 22, 2009
  • Print ISBN-10: 0−321−60416−4
  • Print ISBN-13: 978−0−321−60416−3
  • Web ISBN-10: 0−321−60454−7
  • Web ISBN-13: 978−0−321−60454−5

http://​source​forge​.net/​p​r​o​j​e​c​t​s​/​q​u​i​c​k​c​o​n​n​e​ct/

For more infor­ma­tion you could look at

iWe­bKit

iWe­bKit is a file pack­age designed to help you cre­ate your own iPhone, iPod Touch and iPad com­pat­i­ble web­site or webapp. The kit is acces­si­ble to any­one even peo­ple with­out any html knowl­edge and is sim­ple to under­stand thanks to the included tuto­ri­als. In a cou­ple of min­utes you will have cre­ated a full and pro­fe­sional look­ing web­site. iWe­bKit is a great tool because it is very easy to use, extremely fast, com­pat­i­ble & extend­able. It is sim­ple html that any­one can edit con­trary to some other very com­pli­cated solu­tions based on ajax. Sim­plic­ity is the key!

http://​iwe​bkit​.net

Here is a demo:

WebApp​.Net

WebApp​.Net is a light weight, pow­er­ful javascript frame­work tak­ing advan­tage of AJAX tech­nol­ogy. It pro­vides a full set of ready to use com­po­nents to help you develop, quickly and eas­ily, advanced mobile web applications.

It has the fol­low­ing advantages:

  • Under active development
  • Active user community
  • Has an open license, free to dis­trib­ute as long as you include the copyright/disclaimer

http://​webapp​-net​.com/

iUi

iUI is a frame­work con­sist­ing of a JavaScript library, CSS, and images for devel­op­ing iPhone webapps.

Ini­tialy writ­ten by Joe Hewitt but now main­tained in google code.

Here is Joes intro

First and fore­most, iUI is not meant as a “JavaScript library”. Its goal is sim­ply to turn ordi­nary standards-based HTML into a pol­ished, usable inter­face that meets the high stan­dards set by Apple’s own native iPhone apps. As much as pos­si­ble, iUI maps com­mon HTML idioms to iPhone inter­face con­ven­tions. For exam­ple, the <ul> and <li> tags are used to cre­ate hier­ar­chi­cal side-scrolling nav­i­ga­tion. Ordi­nary <a> links load with a slid­ing ani­ma­tion while keep­ing you on the orig­i­nal page instead of load­ing an entirely new one. A sim­ple set of CSS classes can be used to des­ig­nate things like modal dialogs, pref­er­ence pan­els, and on/off switches.

Let me re-emphasize that all of this is done with­out the need for you to write any JavaScript. It is meant to feel as though HTML was the iPhone’s own UI language.”

http://​www​.joe​he​witt​.com/​b​l​o​g​/​i​n​t​r​o​d​u​c​i​n​g​_​i​u​i​.​php

jQtouch

A jQuery plu­gin for mobile web devel­op­ment on the iPhone,

iPod Touch, and other forward-thinking devices.

jQTouch is a jQuery plu­gin with native ani­ma­tions, auto­matic nav­i­ga­tion, and themes for mobile WebKit browsers like iPhone, G1, and Pre.

  • Easy to install. Get up and run­ning in a few minutes.
  • Entirely cus­tomiz­able with selec­tor options
  • Theme sup­port, includ­ing default Apple and jQTouch cus­tom themes
  • Call­back func­tions through­out, includ­ing swipe and ori­en­ta­tion change detection
  • Page his­tory man­age­ment and CSS3 page tran­si­tions, includ­ing 3d flip
  • Eas­ily allow apps to run in fullscreen mode with cus­tom icons and startup screens
  • The power of jQuery to build AJAX applications
  • New demos: Clock and Todo

Oreilly book

  • Build­ing iPhone Apps with HTML, CSS, and JavaScript, 1st Edition
  • By: Jonathan Stark
  • Pub­lisher: O’Reilly Media, Inc.
  • Pub. Date: Jan­u­ary 28, 2010  Most Recent Edition
  • Print ISBN-13: 978−0−596−80578−4
  • Pages in Print Edi­tion: 192

http://​www​.jqtouch​.com/

Phone­Gap

What is PhoneGap?

Phone­Gap is an open source devel­op­ment tool for build­ing fast, easy mobile apps with JavaScript.

If you’re a web devel­oper who wants to build mobile appli­ca­tions in HTML and JavaScript while still tak­ing advan­tage of the core fea­tures in the iPhone, Android, Palm, Sym­bian and Black­berry SDKs, Phone­Gap is for you.

http://​phone​gap​.com/

Mono­Touch

Mono­Touch allows devel­op­ers to cre­ate C# and .NET based appli­ca­tions that run on Apple’s iPhone and Apple’s iPod Touch devices, while tak­ing advan­tage of the iPhone APIs and reusing both code and libraries that have been built for .NET, as well as exist­ing skills. The cur­rent release includes the new APIs in the new iPho­neOS as well as tool sup­port and Mon­oDe­velop sup­port for devel­op­ing iPad applications.

http://​mono​touch​.net/

http://​code​.google​.com/​p​/​j​q​u​e​r​y​-​i​p​h​o​n​e​-​u​i​/​d​o​w​n​l​o​a​d​s​/​l​ist

jQuery iPhone UI

This is JavaScript library for pro­to­type iPhone inter­face on web pages

http://​code​.google​.com/​p​/​j​q​u​e​r​y​-​i​p​h​o​n​e​-​ui/

Dash­code

Dash­code is every­thing you need to cre­ate great Dash­board wid­gets. Built from the ground up with wid­gets in mind, Dash­code makes it easy for even a novice pro­gram­mer to cre­ate a wid­get, give it a pro­fes­sional look, and pack­age it up so you and your friends can enjoy your creation

http://​devel​oper​.apple​.com/​t​o​o​l​s​/​d​a​s​h​c​o​de/

Xcode

Xcode is Apple’s pre­mière devel­op­ment envi­ron­ment for Mac OS X. In addi­tion to being pack­aged on the DVD with every copy of Mac OS X, the lat­est Xcode devel­oper release is always avail­able for free to ADC mem­bers and includes all the tools you need to cre­ate, debug, and opti­mize your appli­ca­tions. At the heart of the Xcode tools pack­age is the Xcode IDE, a graph­i­cal work­bench that tightly inte­grates a pro­fes­sional text edi­tor, a robust build sys­tem, a debug­ger, and the pow­er­ful GCC com­piler capa­ble of tar­get­ing Intel and Pow­erPC regard­less of host plat­form. Xcode is both easy to use, and yet pow­er­ful enough to build the largest Mac OS X appli­ca­tions. The com­plete Mac OS X devel­oper tools chain is dis­trib­uted as part of Xcode; these tools include Inter­face Builder, Instru­ments, Dash­code, the WebOb­jects frame­work, and the com­plete ref­er­ence doc­u­men­ta­tion, to name just a few.

http://​devel​oper​.apple​.com/​t​o​o​l​s​/​x​c​o​d​e​/​r​e​v​i​e​w​x​c​o​d​e​.​h​tml

Pas­trykit

An inter­nal toolkit used by Apple to make iPxxx based web sites. Not released to the pub­lic but obvi­ously an Ele­phant in the room as it were. Cur­rently appears to be a set of JavaScript libraries. I have added links to dis­cus­sions here.

http://​dar​ing​fire​ball​.net/​2​0​0​9​/​1​2​/​p​a​s​t​r​y​kit

http://​david​b​cal​houn​.com/​2​0​0​9​/​p​a​s​t​r​y​k​i​t​-​d​i​g​g​i​n​g​-​i​n​t​o​-​a​n​-​a​p​p​l​e​-​pie

http://​www​.nxfx​.com/​b​l​o​g​/​i​p​h​o​n​e​-​d​e​v​e​l​o​p​m​e​n​t​/​a​p​p​l​e​s​-​p​a​s​t​r​y​-​k​i​t​-​i​p​h​o​n​e​-​j​a​v​a​s​c​r​i​p​t​-​t​o​o​l​k​it/