Delphi Labs: DataSnap XE - jQueryMobile Web Frontend

Posted by on in Blogs
Man! That was a LOT of work to get this finished. I am especially happy with three new video episodes that I have recorded and uploaded to youtube that shows how you can: use jQueryMobile in Delphi codeadd DataSnap server connectivity and generate dynamic, data-driven jQueryMobile web pages dynamically.

In this Delphi Labs DataSnap tutorial I am demonstrating practical steps for building jQueryMobile web frontend application for displaying InterBase XE “Employees” database data from a standalone Delphi DataSnap server. The system described is based on the "Delphi WebBroker jQueryMobile Boilerplate" project described in the previous Delphi Labs tutorial.

The idea of the system is simple. Scalable, multitier super performant Delphi servers running in the cloud and accessed via mobile devices:-)



I have uploaded the resulting application to Amazon EC2 cloud, so you can check it out online at http://79.125.25.31:8080/. I do not guarantee that this URL will work forever though;-)

Here are some screenshots from the resulting application running in my desktop Chrome browser:









[caption id="attachment_39234" align="alignnone" width="232" caption="Home page"]Home page[/caption]


[caption id="attachment_39235" align="alignnone" width="208" caption="Customers"]Customers[/caption]


[caption id="attachment_39236" align="alignnone" width="174" caption="Customer Details"]Customer Details[/caption]

"Delphi Labs: DataSnap XE - jQueryMobile Web Frontend"

BTW: All Delphi Labs episodes are available at the http://www.embarcadero.com/rad-in-action/delphi-labs home page!


About
Gold User, Rank: 9, Points: 364
Crazy about Delphi Programming!

Comments

  • Guest
    Keith Tuesday, 15 March 2011

    Yikes! DataSnap just keeps getting better and better.

    Thank you Pawel

  • Guest
    Robert Wednesday, 23 March 2011

    JQueryMobile supports now in their Beta 3 also
    Windows Phone 7 and IE explorer Desktop but
    without animation.

  • Guest
    Robert Wednesday, 23 March 2011
  • Guest
    Paweł Głowacki Wednesday, 23 March 2011

    Here is the list of officially supported mobile browsers: http://jquerymobile.com/test/#docs/about/platforms.html
    The best think about jQueryMobile is that it is a common denominator approach to both desktop and mobile web browser implementations.

  • Guest
    Henrik Tuesday, 19 April 2011

    Hi Parwel

    This is a very nice tutorial for jMobileQuery - is it possible to make a "3rd" tutorial that shows how to send data back from the client? e.g. if you want to change the customer address on the "fly" also how could a "refresh" be implemented at a give point in the structure?

    regards
    Henrik

  • Guest
    Henrik Tuesday, 19 April 2011

    Sorry I meant a 4th tutorial of course

  • Guest
    Paweł Głowacki Thursday, 21 April 2011

    @Henrik,
    Check out Marco Cantu RELAX jQGrid example calls a server method through jQuery that returns a TJSONObject representation of a table.

    http://code.marcocantu.com/p/delphirelax/

    His code looks like this:

    $(document).ready(function()
    {
    $("#grid").jqGrid({
    url:'/datasnap/rest/TGridDemoMethods/EmployeeTable/',
    datatype: "json",
    mtype: 'GET',
    colNames:['First Name','Last Name', 'Job Role', 'Job Country'],
    colModel:[
    {name:'FIRST_NAME',index:'FIRST_NAME', width:260},
    {name:'LAST_NAME',index:'LAST_NAME', width:260},
    {name:'JOB_CODE',index:'JOB_CODE', width:200},
    {name:'JOB_COUNTRY',index:'JOB_COUNTRY', width:200}
    ],
    rowNum:10,
    rowList:[10,20,30],
    pager: '#gridpager',
    sortname: 'FIRST_NAME',
    sortorder: "asc",
    multiselect: false,
    height: 218,
    caption: "Employee Grid"
    })
    })

  • Guest
    christian louboutin outlet uk Saturday, 7 September 2013

    When I view your RSS feed it seems to be a whole lot of unformatted html, is the problem on my reader?

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: