views:

50

answers:

1

I want to develop web applications for smartphones using jQTouch. For server side scripting, I prefer PHP and MySQL database server for back end persistence.

Is there any book that helps in learning how to develop a web application for smartphones using PHP, MySQL and jQTouch?

+1  A: 

For developing the client side of your mobile web app (or web applications for smartphones) check out "Building iPhone Apps with HTML, CSS, and JavaScript" by Jonathan Stark. He is currently project maintainer.

Another alternative to jQtouch is Sencha Touch. Sencha Touch lets you develop more complex web applications than with jQtouch. This is a new library, so there is no book on Sencha Touch, however you could learn a lot from the examples, where a book is not necessary. In addition they have the forums.

Things to consider here:

  • David Kaneda is the mind behind both projects. I guess what he learned from jQtouch he applied it in Sencha.
  • jQtouch is a plugin for jQuery with CSS and themes
  • Sencha Touch is based on ext js an javascript libary
  • jQtouch is MIT license and is part of Sencha Labs
  • Sencha Touch has a commercial license and a GNU GPL license v3.
  • I've been using jQtouch for the path 10 months and found that it has it limits. If your web app has complex functionality, then consider trying out Sencha Touch. In case you just want to make a web site mobile friendly then use jQtouch.
  • From testing the demos, Sencha can better cross platform support than jQtouch. Especially if you want to target users with iOS devices (iPad, iPhone, iPod Touch).

All this is regarding the client side of your web application. Regarding the server side of your web application, you could take two approaches.

  • First you could divide your web app in 2: server side ( a webservice or API) and the client side build using jQtouch or Sencha. The communication between them can be done using JSON or XML. The advantage is that your server side will be independent of the choice of client side library. So, in the future if you wish to add a new client type or change libary, the server part is not affected. However, this adds more complexity to your implementation i.e. client authentication, session management, security.

Second way of doing it is the "traditional" way, where your servcer side language generates (based on the requests) the HTML of your web application. In this case you just need to use CSS and some javascript to adapt to the different screens. Or just use jQtouch. This could be less of a hassle but you loose some flexibility and scalability.

If you need a book for php and mysql try "PHP and MySQL Web Development"

Geries