July 01, 2002
The Freedom of ChoiceASP, ColdFusion, JSP, PHP, Perl, Access, MSSQL, MySQL, Sybase, Oracle-does your Web app framework let you take your pick? CodeCharge 2.0 respects your language and database preferences.Creating database-driven Web applications is easy: Just choose your favorite programming language, code some HTML template pages and write a little code to move data from the database to the Web pages and vice versa. Well, that's the theory, anyway. The reality is a bit more complex--it's all too easy to fall into a bottomless rat-hole at either the HTML or the data marshalling level, not to mention trying to capture repeated coding patterns, such as multifield searching, master-detail pages, table layouts and so on. Even if you've invested in learning one of the many Web-app frameworks out there, you can expect a lot of bit-twiddling for a simple application with just a few pages.
Software Development
Freedom of ChoiceASP, ColdFusion, JSP, PHP, Perl, Access, MSSQL, MySQL, Sybase, Oracledoes your Web app framework let you take your pick? CodeCharge 2.0 respects your language and database preferences.By John ReitanoCreating database-driven Web applications is easy: Just choose your favorite programming language, code some HTML template pages and write a little code to move data from the database to the Web pages and vice versa. Well, that's the theory, anyway. The reality is a bit more complexit's all too easy to fall into a bottomless rat-hole at either the HTML or the data marshalling level, not to mention trying to capture repeated coding patterns, such as multifield searching, master-detail pages, table layouts and so on. Even if you've invested in learning one of the many Web-app frameworks out there, you can expect a lot of bit-twiddling for a simple application with just a few pages.
Enter YesSoftware's CodeCharge, a rapid application development environment for the Web. CodeCharge takes a unique approach to Web development, neither operating in a proprietary language nor committing you to one Web application technology. Happily, the product lets you choose from among ASP, ColdFusion, JSP, PHP and Perl. You also get your pick of databases: Access, MSSQL, MySQL, Sybase, Oracle and others are all supported, using the connection types that are native to your chosen language (for example, JSPs will use JDBC, ASPs will use ODB and so on). The upside of this technology agnosticism is that you can change your mind later by a simple update to a drop-down menu control. Of course, any code snippets you've added in your chosen language will have to be rewritten, but, as I'll explain, CodeCharge handles most of your coding tasks, so the need for such snippets is minimized.
The best way to learn CodeCharge is to download the tutorial from www.codecharge.com. This document stipulates, down to the last button-click, how to make use of the major, and many of the minor, product features. It took me a good four hours to get through it, but the tutorial was never repetitive, and I appreciated the absence of hand-waving. It uses ASP and IIS, but I chose my favorites, JSP and Tomcat. I had almost no difficulty doing this transformationa testament to CodeCharge's cross-platform abilities. The Web site also helpfully displays numerous sample apps, including both code and online demos.
In CodeCharge nomenclature, you work on sites, not applications. Your site's characteristics are stored in a single file with a .ccs extension and displayed as a hierarchical list of items, including Properties, Style, Pages, Modules (code and global variables that are independent of a particular page) and Diagram. You start by editing the information in the Properties window: Select the language (ASP, JSP and so on), the database and the output directory of your favorite Web server. Should your site need secure access, you can specify the database table and fields used to determine who has access to what pages. The built-in page-level security model is fairly flexible, and, like much else in CodeCharge, is easy to override. You can also specify a default header and footer to be included in each page, which can then be overridden on a per-page basis. If you're a visual thinker, you can click on the Diagram item to see a graphical layout of all your pages with the links between pages represented as connecting lines.
Pages and Forms
A small number of standard events are associated with each page and form, and you can type code snippets you want to run when particular events occur. For a small number of events (those that start with the word "Custom"), you can leave the code window blank to get default behavior, or click the "Obtain generated code" button to view and edit the default code that will be generated for these events.
Events can be divided into two types: those that fire before a page is displayed and those that fire after, although no such distinction is explicitly made in events window. The pre-display events determine exactly what will be displayed on the pages, while the others determine what will happen in response to form submissions. I found this coding model more reasonable than thinking of all code as associated with the generation of a particular form, a common approach in Web development.
When you're done specifying your pages, forms and fields, one click will generate all necessary code and HTML template files, and launch a browser displaying your default page. This click-and-run feature worked without a hitch the first time I tried it. You can view and edit the generated code and HTML by clicking on the "Edit Files" icon in the toolbarbut be careful, since CodeCharge gives you enough rope to hang yourself with.
Under the Hood
Coders First
I encountered only a few problems with the product, and the three questions I posted to the frenetically active discussion group at www.codecharge.com were answered within hours, and sometimes minutes. Still, some of the UI windows were perplexingly slow on my machines at work and home, feeling more like Web pages than installed software. This makes certain repetitive operations unnecessarily torpidI hope that YesSoftware will fix this in the upcoming release. I was also a tad disappointed that there was no UI for simple formatting à la Access or ExcelI had to write some one-line Java snippets to do field formatting.
Despite these minor blemishes, CodeCharge fulfills its promise of making it easy to build solid Web apps fast. Because the generated code is clear and well-structured, using CodeCharge doesn't lock you into this vendor's framework. CodeCharge challenges the old saw "fast, good, cheappick two" by helping you to quickly build applications that rival those you'd craft keystroke-by-keystroke.
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|