Skip to main content
Thoughts from David Cornelius

Category

It's been a year since my last blog entry and while I've been busy writing Windows applications with Delphi, I've kept an eye on web technologies. I've done some PHP in the past and had purchased RadPHP XE but didn't upgrade to the XE2 version because there were practically no new features and the documentation, which was pitiful, was not improved one bit--in fact it was still labeled XE!

So when I attended the RAD Studio XE3 Tour in Oregon last week, I was looking to see if there was an upgrade. I didn't see it on the agenda, but did notice something new: HTML5 Builder. It turns out this is the upgrade for RadPHP (and the earlier product, Delphi4PHP). But it's more than just an upgrade to build PHP server-side web apps, it now also includes client tools for creating web sites rich in HTML5, CSS, and JavaScript. That in itself is nice, but wait, there's more! Additionally, you can design those web pages for conversion to specific tablet and mobile apps such as Android, iOS, and Windows Phone! Now THAT's an upgrade!

So I downloaded a trial and will document what I find here. Since my main profession is building Windows applications using Delphi, some of the things I discover and write about may seem elementary to others. But I imagine there are many who, like me, have been stuck in Windows and are looking for a way to break out. Perhaps the new Mobile Studio product coming soon from Embarcadero (but not yet priced or dated) will be a better fit, but this is what I'm looking at for now.

There are lots of things to install for HTML5 Builder. But then again, HTML5 Builder supports a lot of platforms (if you want to call them that). There are the HTML5 versions of all the web browsers on Windows, Mac, and Linux desktops: Internet Explorer, Firefox, Chrome, Safari, Opera, and there are lots of tablet and phone devices such as iOS, Android, Blackberry, Windows Phone, and WebOS. Some of these require supplemental tools and software development kits. Besides that web technologies have not been simple since you could hand code an HTML file in Notepad. But not to fear, the installer launches (almost) every single thing you need! (Almost, but not quite everything because if you're developing iOS applications, there will be a couple of extra things you need on the Mac side.)

First, start the main installer. This installs the IDE and PHP libraries similarly to what RadPHP installed. If all you want to do is develop simple web browser apps in PHP/HTML/CSS/JavaScript (OK, we're beyond "simple" already!), then you can stop here. But if you want to build Android native apps, you'll want to continue with the rest of this. You can always come back and run the android installer separately if you stop now, just run android-setup.exe.

Next comes the HTML5 Builder Android Project Tools installer. This does not, by default, install to the Embarcadero folder under Program Files, but to an Android Project folder--it is very much a separate application.

Before the Android Project Tools part is finished, it launches Oracle's Java SE Development Kit. By default, these get put into both Sun and Java folders under Program Files.

Then comes the Android SDK Tools setup. Huh? I thought we already did that. Oh, that was the Android PROJECT Tools setup. This goes into the Android folder under Program Files by default. When this finishes, it prompts you to load the Android SDK Manager, but you can do that later by selecting it from your Programs menu under Android.

Are we there yet? Nope. Now you need the Android Platform. Then the Apache Ant project (what's that for?). And just when you think you're done, it asks if you want the Teechart JavaScript for HTML5 Builder--of course I do! (This last component is actually part of the first installation routine, HTML5 Builder itself, that was waiting until all the Android stuff was getting installed. If you skipped the Android part, you'll still be prompted for Teechart.)

Whew! That was a lot to install--and there's a lot to learn with this package. It's not a small upgrade from RadPHP, it's a whole new suite of products! Fortunately, the documentation is an order of magnitude better than its predecessor.

This will be fun!