Alpha Five v10 Boasts Codeless AJAX

By Jeff Cogswell  |  Posted 2010-04-06

Alpha Five v10 Boasts Codeless AJAX

Alpha Five Version 10, the latest version from Alpha Software, lets you create Web-based database applications using Codeless AJAX technology.

The Alpha Five v10 Developer version sells for $349.00 (with a free 30-day trial), and the Alpha Five v10 Application Server is $599. You can purchase both for $799.

Alpha Five is a database development tool that has its roots in software that was first created nearly 30 years ago. It was originally one of the early database tools that competed with products such as FoxPro and, later, Microsoft Access. While most of the other tools are long gone, Alpha Five has continued evolving and growing as it keeps up with modern technology.

Case in point: When it became clear that the Web was here to stay, Alpha Software added Web capabilities to Alpha Five. While you previously could create only desktop applications, you can now use it to create full-featured applications that run in a browser, with an Alpha Five Web server running on the other end. The server, in turn, connects to the databases and their tables, and can dish out Web pages for accessing the data in the browsers. 

Alpha Five is now on its tenth version, which incorporates what is probably the single most important feature yet: Codeless AJAX. Using various wizards and property editors in Alpha Five, you can quickly and easily put together a complete AJAX-powered application using no programming whatsoever.

Centered application development cycle is the grid, an AJAX control that can display data in a browser in a grid fashion, letting users page through and sort the data. As with any good AJAX application, the sorting and paging is confined to the grid itself without the user having to refresh the page. Instead, the refreshes happen in the background using JavaScript and AJAX.

Creating a grid is easy: you specify the data connection, which can be Alpha Five's built-in DBF databases or any other database using additional drivers, such as SQL Server and MySQL) Then you choose what fields you want to appear in the grid, how many rows the grid should display and you let it roll. Those are the basic steps-there are dozens of additional properties available for further customization-which are enough to create a grid that can appear on a Web page. It really is that easy.

When I started trying out Alpha Five v10, I was a little skeptical because of the focus on the grid. I come from an ASP.NET world, where I'm used to seeing a huge toolbox filled with rich-text controls, and I doubted that you could really use Alpha Five to make more than just basic grid-based data applications.

But, as it turns out, the grid control is really much more than just a grid. You can configure each record to appear in a form layout, and from there you can customize the look of the individual fields. What's more, you can choose to display only single records or multiple records-and even columns of records-giving you power very similar to the repeater controls that ASP.NET programmers love.

The grid has dozens of properties that include styles for the overall grid as well for the individual fields. These fields can show images or text or rich HTML text. The grids can be read-only or updatable; with updatable grids, the end user can type into the grid and even open a full-featured WYSIWYG HTML editor for entering rich text right from within the browser. And you can also create multiple grids and tie them together.

Building a Website


Building a Website

In addition, there are other controls, including navigation controls, to help you build a Website consisting of multiple pages, and dialogs that encompass Web forms for data entry. In a matter of minutes, you can have a full-featured Web application running using no programming at all.

From a software-design standpoint, the process is simple: After designing your database and its tables, you create your Web components individually-such as your grids and your navigation controls-and save them separately. Each component can be tested and previewed in an internal browser that is based on Internet Explorer. (But the final product can run on any of the major browsers, including Firefox and Chrome.)

Next, you create the Web pages, adding your controls to them. Once that's done, you publish your application, which copies everything (the pages, controls, and database files) to the Web server's root directory using a publishing system that works really well and is easily configurable.

The pages themselves work similarly to the way an ASP.NET or PHP page works. The pages consist of standard HTML and JavaScript mixed with server-side code enclosed in <%a5 %> tags. The server-side code gets executed by the Alpha Five and is replaced by any HTML and JavaScript output. The server-side code includes directives for inserting the controls (which results in a good amount of HTML and JavaScript to handle the AJAX, but you don't need to modify or worry about any of that code), as well as additional code that uses the XBasic programming language.

Of course, if you're a programmer and you're willing to roll up your sleeves, you can do even more. With those server-side directives, you can put in your own XBasic code, which works very much like programming ASP.NET and PHP. For example, you can use the good old BASIC "print" statement that consists of just a question mark.

When you print something (such as a string or a variable), the output of the print statement goes right into the final HTML that gets sent down to the browser-just like the echo statement in PHP or the Response.Write statement in ASP.NET. In fact, if you don't want to use the components, you're free to create entire Web pages using all your own custom server-side code.

Creating JavaScript Code


Creating JavaScript Code

You can also create JavaScript code that runs on the client side, such as in response to various grid events. I found myself getting a little confused here because my urge was to open up the page and put my JavaScript right in there. But then I started getting a little lost. I wanted to write a JavaScript function, whereby when an entry form finishes sending its data to the server, it would notify a grid to update itself. The way I had created the grid and form was a bit different from the usual Alpha Five way of doing it, and, as such, the other grid wasn't getting updated automatically. I simply wanted to write some JavaScript that would update the other grid, but I wasn't sure exactly where to do it.

That forced me to start uncovering an Alpha Five feature I hadn't yet discovered, and that's when it all started to come together. In the grid properties screen of the Alpha Five application, there are several places where you can add your own custom JavaScript. You can double-click any of these properties, and a window opens your JavaScript code. In other words, you do the work from within the property editors when possible, rather than writing the code directly into the pages. When you do so, everything fits together perfectly.

The developers of Alpha Five have done an excellent job of anticipating where you would likely want to add your own custom code, and they give you places to do it rather than forcing you to hack apart the pages and insert your JavaScript code yourself, while hoping you put it in the right place. When I followed this best-practices approach, everything worked beautifully. In the end, I had a full-featured application. And although I went beyond the "codeless" aspect to push the product to its limits, I still wrote very little code.

For programmers who really want to take this product to its extreme limits, there's a full-featured code editor that enables you to create your own XBasic code libraries. You can use a rich built-in library, too. Your original code libraries can then be loaded by both desktop and Web-based applications. The XBasic code, of course, still runs only on the server, but any JavaScript code you create runs on the client side. In the end, you can create applications that are as powerful as the best Web applications out there.


Rocket Fuel