Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Bob Swart (aka Dr.Bob) - Medical Officer Dr.Bob's Kylix Kicks
 Review: Kylix 2 Development
See Also: Dr.Bob's Programming Books for Delphi, Kylix & C++Builder books co-authored by Bob Swart
Title:
Author:
Publisher:
ISBN:
Info:
Kylix 2 Development
Eric Whipple and Rick Ross (with Nick Hodges)
WordWare
1556227744
639 pages, CD-ROM

Kylix 2 Development was the first book with Kylix 2 specific information in it (there were a few Kylix 1 specific books out there, but I always felt that Kylix 1 was "not finished" and Kylix 2 was the Kylix as it was supposed to be from the start). And in fact, there are only a few Kylix 2 specifics books out there at this time (Mastering Kylix 2 is another one, written by Marco Cantù, but I haven't read that one, yet).
At the time of writing (this review), Kylix 3 has just been announced, containing not only the Delphi IDE but also the C++ IDE for Linux. In my personal view, this changes the audience for Kylix dramatically - as well as the audience for Kylix books. With Kylix 3, we can no longer expect people to know Delphi, since Linux C++ developers can now pick up Kylix 3 and work with it. However, when it comes to Kylix 1 or 2, we can safely assume that most people who picked up Kylix at that time, had more experience with Delphi than with Linux - just like me, so I read the book Kylix 2 Development with that thought in mind.

Kylix 2 Development consists of 25 chapters divided into 6 sections. The first section starts by a chapter that introduces Kylix and explains a bit what can be expected from this book. The second chapter is a welcome chapter for most Delphi developers who have just -barely - installed their first version of Linux, and are now (trying to) install Kylix on their new Linux machine. The chapter takes you step by step through the installation process, and explains what happens when and why. It also covers the differences between installing Kylix as root or normal user, and using Kylix (as normal user). It even covers VisiBroker/CORBA installation issues, as well as InterBase (version 5.6 and 6.0) installation help. Very welcome indeed, especially for those (experienced) Delphi developers who have less experience with Linux. After this welcome assistance, chapter 3 introduces the Kylix IDE, which is interesting to compare to the Delphi IDE (or completely new if you never saw the Delphi IDE before).
After this informative first section, the second section (Building Application) starts with chapters 4 through 7 that are very familiar ground for Delphi developers, introducing the Kylix IDE (showing a few new dialogs and things here and there), working with projects and files (units, forms), Object Pascal (for some reason only called "Pascal" by the authors because "it's shorter and this is not an Object Pascal book"), application architecture, and Object Oriented Programming. The books starts to provide some interesting new information (for Delphi developers) when we read chapter 8 on shared objects (Linux DLLs) and packages. The following chapters on compiler, run-time library and variants, exception handling and the debugger contain mostly well-known topics, with some Linux-specific (and hence new) issues. All in all a mixed first part, in which I read some sections with lots of attention, but found myself wanting to skip other parts as well.
The third section is about Data Access. This is were the interest returns. I was pleased to see that the authors correctly identify the fact that most components on the dbExpress tab are in fact part of DataCLX. The only downside on this part with three chapters is that it's relative short: less than 60 pages, compared to almost 200 pages for the second section of the book that I found far less interesting to read. For a more in-depth (and longer) coverage of this topic, I can recommend Eric Harmon's book Delphi/Kylix Database Development.
The fourth section of the book is about components, and contains two chapters: one about CLX and one about writing custom components. In the CLX chapter, the authors chose to abbreviate VisualCLX as vCLX, which is a bit shorter, but doesn't make the text much clearer. In at least one place it's written as VCLX which really made me look twice to see if they means some eXtended version of VCL instead of VisualCLX.
The fifth section of the book is called Advanced Linux Development. For a Linux developer, not all of these topics will be advanced, but I assure you that for a Delphi developer with limited Linux experience all these topics will be advanced, and are very welcome here to be covered. Topics include Processes and Threads, synchronization and communicating using IPCs and shared memory. All these work entirely different compared to Windows development with Delphi, so the 110 pages are well worth the read (although this time Linux developers may want to skip the chapters).
The last section is called Enterprise Applications, although some of the topics are also applicable to Kylix 2 Professional, so the name Web Applications would perhaps be a better classification. It starts with NetCLX, mainly WebBroker, which is part of Kylix 1 Server and Kylix 2 Professional or higher. The next two chapters cover WebSnap, which is only available in Kylix 2 Enterprise. These chapters are clearly written by Nick Hodges, and he does a great job at that. Not only does he cover the basics of WebSnap, Nick also discusses sessions and login (which don't work out-of-the-box) and shows how to get these to work for Kylix. Great job! The next chapter on Web Services is again a bit short, but to the point. The final chapter is about VisiBroker (CORBA) development with Kylix 2. I must say I have never seen any other coverage of VisiBroker in a Kylix book, nor have I heard of many people using it (the fact that by default it is not installed may have something to do with it). The chapter shows how to write a Hello World CORBA application in Kylix, but in my view it remains to be seen if VisiBroker in Kylix can withstand the hype of the alternative offered by SOAP and Web Services.
Are these topics that I'm missing? Actually, there are a few, such as XML Document Programming and the XML Mapper. The later is covered in Appendix B on the CD, which contains a number of useful appendices (hardly mentioned in the book), about useful topics such as Deploying Kylix Applications and a Linux Tutorial for Windows Developers. Apart from the appendices (and the source code of the chapters in the book), the CD also contains the trial edition of Kylix 2 Enterprise and Kylix Open Edition, as well as a number of sample applications and utilities.

Kylix 2 Development is a fairly complete book covering Kylix 2. The only disadvantage of the book is that some of the topics should have covered in a bit more space, while other topics are probably too basic for Delphi developers (or too basic for Linux developers). Without the basic stuff and a bit more space spent in the real Kylix 2 specific chapters this book could have been an intermediate/advanced-level bestseller. Right now it's a good book, and one of the few covering all new features available in Kylix 2. Especially if you're interested in web development on Linux (using WebSnap), then this book is second to none! (not even to the Kylix Developer's Guide for which I wrote the Web section, since that only covered WebBroker and not WebSnap).

(Bob Swart)


More Book Reviews

This webpage © 2001-2003 by webmaster drs. Robert E. Swart (aka Dr.Bob - www.drbob42.com). All Rights Reserved.