16

I'm aware of several Javascript frameworks that assist in creating webapps for the iPhone and ipod Touch:

I'm leaning towards Ciui but want your thoughts.

Which toolkit do you use for iPhone webapps?

Thanks,

Larry

ADDED following from the answers:

  • Sproutcore
  • JQuery Mobile -- still under development. From the JQuery team
  • JQtouch -- superset of JQuery. Possible issue of library size
  • Cappuccino -- comment by Ryan McCuaig: by 280 North. In philosophy, they're porting Cocoa and Objective-C to the Javascript environment (right down to Objective-C style syntax extensions to Javascript and reusing NIB files. Quite incredible).
  • Wink
  • xui
  • Jo by Dave Balmer (blog). Designed to work with PhoneGap, it can be used to build web apps for iPhone, iPad, Android, plus native apps (via PhoneGap) for iPhone, Android, webOS, and Symbian. See the demo video. Set res to 720p to read the screen.
  • Zepto.js by Thomas Fuchs of scriptaculous fame
  • ChocolateChip-UI

JQtouch vs JQuery Added Dec 12, 2010. Here is a comment on a public board about JQtouch vs JQuery mobile from Dave Oliver: JQuery Mobile is another evolutionary step past JQTouch. JQTouch is stable now (and features are included in the Sencha Touch framework), while JQuery Mobile is only in Alpha state at this point.

Having "learned the lessons" of JQTouch, JQuery Mobile adopts some new philosophy that may or may not be to your liking. Among other things, it defines a "cross platform look and feel" (though it will later add a version of JQuery's automated theme generator). JQTouch, by comparison, is neutral (though you have to do some work to make your look and feel look the way you want it).

The primary negative you sometimes hear about JQTouch is the lack of a fixed position footer and sub-pane scrolling (reason: iPhone native apps have these features). It turns out other smart people have solved that problem in ways that work inside JQTouch (see, e.g., iScroll).

I think the JQuery team is working on a very compelling offering, and I think it will see a lot of interest and additional community scrutiny which is good. But, having experimented with it for a real application, it is - at this point - a bit too new to consider for production use. "Watch This Space", as they say.

Larry K
  • 47,808
  • 15
  • 87
  • 140
  • 1
    jQTouch is another, but it depends on jQuery, which seems like overkill for iPhone to me. – Nosredna May 27 '09 at 20:55
  • This post gives additional info about [the difference between jQTouch and jQuery mobile](http://stackoverflow.com/questions/3624660/difference-between-jqtouch-and-jquery-mobile) – Jla Dec 28 '10 at 08:16

2 Answers2

1

Apple has provided some tools within Dashcode to quickly make basic native-looking web apps.

But...

I've been finding that I get buried in great big incomprehensible masses of div and event-listener spaghetti working down at the jQuery/Prototype level. We're looking into moving up a couple of levels of abstraction into MVC frameworks. What we feel we need is the web app equivalent of Cocoa Touch.

The two we're investigating are:

  1. Sproutcore, which I understand is used by Apple for their Mobile Me web apps,

  2. Cappuccino, by 280 North. In philosophy, they're porting Cocoa and Objective-C to the Javascript environment (right down to Objective-C style syntax extensions to Javascript and reusing NIB files. Quite incredible).

Ryan McCuaig
  • 2,229
  • 15
  • 21
0

According to the Flickr team, for which I have much respect, you shouldn't use frameworks. Instead, focus on wringing out all performance possible via small size and careful http queries:

"1. Don’t Use a JavaScript Library or CSS Framework "

Flickr developer blog post

Andrew Pouliot
  • 5,423
  • 1
  • 30
  • 34
  • Thanks for the pointer to the post. Note that their quote is referring to general libraries such as jquery or YUI 2.x. In fact, later in their post, they note that they started by using the iphone-specific iui library. – Larry K May 28 '09 at 18:08
  • I read that as "don't use desktop-oriented frameworks." I think xui is what iPhone webapps should use. http://github.com/brianleroux/xui/tree/master – Nosredna Jul 05 '09 at 16:39