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.
J.JaDisclosure 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.
Justin James is the Lead Architect for Conigent.