Project Management

Build desktop and web apps with Alpha Five 10.5 Developer

Alpha Five 10.5 allows a developer or even someone without lots of programming experience or skill to rapidly assemble data-driven applications. Justin James provides more details in this review.

Alpha Five is a development tool that I wanted to learn more about for some time. Whenever I mentioned it on TechRepublic, a number of Alpha Five users would comment that they love the tool. Now that I finally had the chance to work with Alpha Five, I can see why they gave it their stamp of approval. Alpha Five is definitely worth a look if it's appropriate for your project.

Note: The vendor provided me with a full version of Alpha Five 10.5 Developer free of charge for the purposes of this review.

My review of Alpha Five 10.5

Alpha Five is capable of generating desktop and Web applications from the same data model, which is a huge plus. Developers can leverage the tool to deliver sophisticated applications; and yet, someone without significant programming experience or skill (such as a junior developer or a good business analyst) could quickly assemble simple, data-driven applications. Alpha Five occupies a unique niche because it does more than a code generator without taking away a substantial amount of control from the developer.

Alpha Five is heavily oriented towards building data-driven applications. For example, creating screens for a desktop application usually starts by picking a database table (or view) and selecting fields to include on the form. After you follow a couple of steps in the wizard (though you don't have to use the wizard), a form for working with the table or view is created. You can edit the code for handling events by editing XBasic code directly (the BASIC-like language that Alpha Five uses) or by constructing a tree of commands in the Action Script editor (which is not the ActionScript that Flash uses) (Figure A). Figure A

The Action Script editor (Click the image to enlarge.)
Working with the Web screens is slightly more complicated. Instead of putting data editors directly onto Web pages, you construct components that encapsulate the logic around working with data, such as displaying a product's details or allowing a clerk to edit details. (These components are similar in concept to a Web Part in ASP.NET.) After you create a component, you can add it to a page. You can easily add search functionality and master/detail views to your component as well (both are checkboxes followed by a basic selection of fields). I have seen some very nice, slick AJAX functionality created in Alpha Five applications. In the Web form and the desktop form systems, all screens are represented by XBasic code, which you can modify directly if that is how you prefer to work. Figure B shows how you define the search portion of a component. Figure B

Adding search functionality to a Web component (Click the image to enlarge.)

As far as defining a fundamental, data-driven application, a tech savvy person (but not necessarily a programmer) can get their feet wet and be running in a couple of hours. Unlike some of the code generation tools that have appeared lately (such as LightSwitch from Microsoft), Alpha Five is definitely not "generate once, modify never," which is a very important point. Since all of the code generation is merely a foundation to build on, the addition of a programmer (or a person who is willing to learn XBasic) will let you get a lot more mileage out of Alpha Five.

XBasic is an interesting language. It is much simpler than VB.NET, and it is much more on par with QBASIC in terms of the functionality and the syntax of the language though not of the functionality it supports. Even though QBASIC and other BASIC variants have a bad reputation, the languages are easy to learn. If you are particular about "patterns and practices" or are a language geek, XBasic is not going to be your cup of tea. For instance, it seems to use the passing by reference a lot; this idea has fallen out of favor, but it will feel familiar to the folks who go back before the modern OO era. With the Alpha Five system, I believe it will be pretty rare that you'd write large amounts of XBasic code at a time, so any philosophical objections you may have with the XBasic language should be secondary to any fair evaluation of the product.

It's tempting to compare Alpha Five to Microsoft Access (the vendor even does on its site), but I won't because Access has so many connotations to the average developer except to say that Alpha Five is a much better solution than Microsoft Access for solving a very common problem. As such, I feel more comfortable comparing Alpha Five to FoxPro, provided that you look at FoxPro's application creation functionality more than its database management and manipulation features. That said, if you like the concept of an application such as Access, FoxPro, or even PowerBuilder and would like it in a well-thought out package, Alpha Five justifies serious evaluation. For the kinds of problems that those products address, Alpha Five solves them quite handily.

You can download a fully functional, 30-day free trial of Alpha Five 10.5 Developer. To purchase the tool, the full price for Alpha Five 10.5 Developer is $349, and the upgrade price is $249.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a contract with Spiceworks to write product buying guides; he has a contract with OpenAmplify, which is owned by Hapax, to write a series of blogs, tutorials, and articles; and he has a contract with OutSystems to write articles, sample code, etc.

About

Justin James is the Lead Architect for Conigent.

9 comments
rhowelljr
rhowelljr

SynApp2 - Web Application Generator and MVC Framework is an ultra fast and effective web application builder. Create beautifully integrated relational database management and reporting systems in record time. If you want to effortlessly create, deploy and maintain web application around MySQL, Oracle or MS SQL Server databases, you'll find videos, examples, documentation at synapp2.org and you can download and use the software for free.

steve
steve

It also has a very nice Framework/Template for building Web Applications, found at http://www.a5v10.com/wt. Disclaimer: I am the author of that Framework and an avid Alpha Five developer!

badalchatbar
badalchatbar

Very useful - thanks! There's another tool called Iron Speed that's not listed here. We use this tool for our c# and vb projects. They recently started supporting Sharepoint development but I haven't researched it yet...

Marc Thibault
Marc Thibault

The main concern I've had with this kind of "bind screen widgets to the database" app generators is SQL injection. Does Alpha 5 deal with this vulnerability?

Justin James
Justin James

I do have Iron Speed on my list of tools to look at. Unfortunately, reviewing these kinds of things, and doing an in-depth job, takes a lot of time. That's why you only see one or two of these reviews a year, even though there are dozens of great (and not-so-great) products that I think are deserving of a review. J.Ja

steve
steve

You can use a normal SQL insert statement to insert data where injection is not a concern, or switch to an Alpha method that uses arguments to pass values to the insert statement. The argument process "scrubs data", as said earlier, dealing with backslash and special characters, and also alters the format if necessary to fit the database. Example of that is dates -- the argument process will take any date you give it, and convert it to the date format the particular SQL engine requires. That is, the method is aware of what SQL engine is being used and manipulates date to fit that engine.

Justin James
Justin James

Marc - My experience is exactly the opposite. These tools universally do the right thing on stuff like SQL injection, and make it insanely hard to do it the wrong way... unlike straight code, where to this day I see people concatenating user input directly with SQL statements as strings. :( J.Ja

badalchatbar
badalchatbar

Cool. I'd really like to know what you think about their approach vs the other tools you've looked at. I'll watch for future reviews...

Editor's Picks