iPFaces is an open source framework developed by Edhouse for simple creation of native application for iPhone, iPod Touch, iPad, BlackBerry and devices with Mobile Java (J2ME).Without a doubt, the world has gone iPhone and Android crazy. Following on from our earlier post about the possible deployment of PHP onto the Android platform, with PHP for Android, we've been getting rather excited at the prospect of iPFaces.

So what exactly is iPFaces, and what makes it stand out from the crowd? Well, iPFaces is an open source framework developed by Edhouse for simple creation of native application foriPhone, iPod Touch, iPad, BlackBerryand devices with Mobile Java (J2ME). According the framework's website, the solution is dedicated for web developers experienced in ASP.Net, Java and PHP.

Essentially, it allows PHP developers to create complex mobile applications using a standard coding language, and have the framework automatically render the solution using the handset's native UI components. This has a number of advantages over traditional mobile application programming, namely due to the fact that it is seemingly platform-independent. That is, for example unlike the Andorid and iPhone handsets, the developer need not learn additional APIs, SDKs or indeed the dreaded Objective C!

Using the framework couldn't be simpler. Let's assume we want to create the clichéd "Hello world!" example using a simple PHP script. All we need do is just include the iPFaces PHP Library, and create a series of screens and labels:

require "path/to/ipfaces/library/ipfaces-php-lib-1.1.php";
$ipf_form = new IPFForm();
$ipf_screen = $ipf_form->addScreen("screen", "Hello World Application");
$ipf_screen->addLabel("label", "Hello World!");
$ipf_form->render();

The above code would output something like this:

It's easy to see how this would be useful to anyone wishing to create a simple mobile application. By enabling coding in PHP, the majority of the computation is carried out on a server before being served up to the handset. This means greater memory management, and integration with existing web services and databases. Creating an application to make changes to a CMS for example, would be relatively straightforward.

This is without a doubt going to be very useful for web developers to easily transfer their skills to mobile application development, so we're going to put this into practice very soon and try out some apps of our own! Stay tuned for more on this framework...

More information can be found at the framework's official site www.ipfaces.org.