Don’t Be a Windows Muggle

In themystical world of the popular II Harry Potter II books, the normalpeople of the world -- those who must struggle through life without the help ofmagic -- are known as “muggles.” The term muggle isn’t derogatory, butit seems to carry a certain amount of pity for the plight of nonmagical folks.In spite of the magic that Windows programmers can do using Microsoft’s suiteof operating systems, many of us feel a little like muggles when confrontedwith Linux. Tough installs, arcane commands, and a dearth of productivedevelopment environments keep many of us in our comfortable Windows world.Inprise’s Borland group is trying to entice us onto new platforms using alittle bit of magic called Kylix.

Kylix firstcame to my attention when Corel attempted to purchase Inprise. That deal wasquickly scuttled following a plunge in Corel’s stock value, but Kylix continued.Kylix is Borland’s codename for a set of platform-independent versions of itsRAD tools: Delphi and C++ Builder. While Harry Potter and his fellow wizardsare trained at a secret school named Hogwarts, Kylix users are beingtrained in secret through a closed beta program that is filled to capacity. Thefruits of the Kylix program are filtering out via white papers, user reports,screen shots, and dog-and-pony shows. The results look promising.

A wizardmay draw his power from incantations, a wand, and an occasional potion, butKylix draws its power from native-code compiling. Borland is out to prove tothe world that cross-platform development doesn’t have to mean poorperformance. Despite many promises and tens of millions of dollars inperformance-related development, Sun’s Java virtual machine still has yet todeliver performance approaching that of native-code compilers. Kylix will beable to create both Linux elf-format executables and shared libraries. Kylixwill also support native graphic support rather than Windows API emulation alathe Wine product. Because all of Delphi’s Windows operations are performedthrough components rather than the Win32 libraries, Borland can change theimplementation of those components for new platforms without changing theprogrammer’s interface.

CLX is across-platform replacement for Borland’s existing visual component library(VCL). CLX creates a Visual Basic-like wrapper for graphic components, networkcommunication, Internet operations, data access, and Borland’s multitier anddistributed libraries (Midas). To help provide the graphic magic, Borland haslicensed a cross-platform GUI library called QT. Here’s where it getsinteresting: If you develop in Windows using the CLX library, your programswill run natively in both Windows and Linux with only a recompilation. Portingan existing VCL program to CLX is straightforward, especially if you’veconsistently used the VCL rather than going under the hood directly to Win32.Borland will continue to provide the VCL for Windows-only usage.

Borland’sRAD products made their splash initially with database connectivity. The firstKylix release will continue that tradition, although in a reduced form. TheBorland Database Engine (BDE) will not be included in Kylix initially,supplanted by the new Midas multitier approach that became available in Delphi4. The CLX database access mechanism can be scaled from local database accessto distributed application server access by simply pointing to a differentdatabase provider object. Borland will initially support MySql, the popularLinux database, as well as its own open-source contribution: Interbase.

While theidea of easily creating desktop applications may have Linux programmersdrooling, most Windows programmers are now searching for tools to easily buildInternet applications. Kylix will include the NetCLX library which makeswriting Internet database applications a breeze. NetCLX -- known as WebBrokeron Windows -- uses XML to shuttle data sets around the Net, while using eitherJavaScript or browser extensions to navigate and edit the data directly in thebrowser. Kylix Internet applications can be either Apache DSO libraries or CGIexecutables.

What willit mean if muggles like me can crank out Windows and Linux applications fromthe same tool? With a wave of the Kylix wand, an army of trained Linuxdevelopers will be created out of thin air. Before you can say abracadabra,thousands of existing Delphi programs will be available on Linux. One of thebiggest complaints about Linux has been its lack of desktop applications.That’s going to change. And while Microsoft is assuring us that the .NET commonruntime is going to eventually let C# run on multiple platforms, we are stillwaiting on the Windows version. On the other hand, the first release of Kylix-- Pascal-only -- is slated for the end of this year, giving Inprise a big headstart on Redmond. Most importantly, it assures that developers who want nativecode applications will have a cross-platform choice. --Eric Binary Anderson has led projects at a number of enterprisesoftware companies and is the senior architect at IBT Financial (Bend, Ore.),an Internet-based training company. Contact him at