Kylix 2 Development
By Eric Whipple, Rick Ross with Nick Hodges
Published by Wordware Publishing Inc.
The easiest way to purchase Kylix 2 Development is to click on this link. If you prefer the German edition use this link instead. By using either of these links to order Kylix 2 Development, I get a small percentage of the book sale. Thanks for buying the book!
Update: If you prefer the Portugeuse version, you can purchase it here.
Remember to look at the CD-ROM where you will find nine additional appendices, Kylix 2 Open Edition, Kylix 2 Enterprise Trial and the source code from the book.
Summary of the Book
From its simple beginnings, Linux has emerged as a powerful server operating system with a remarkable desktop environment and user interface. With Kylix, Linux developers now have a rapid application development tool for generating applications. Kylix 2 Development covers a wide range of topics from the simplest of client/server programs to the intricacies of writing complex multithreaded and multiprocess applications, including object-oriented programming, CLX components, dbExpress, DataCLX, WebSnap, Web Services, NetCLX, and CORBA.
Forward – by Steve Teixeira
To understand the importance of this work to the Kylix community, you need to understand a bit of history in Delphi’s importance to the Windows community — Delphi, of course, being the immediate ancestor of Kylix. The historical parallels are remarkable.
On Valentine’s Day in 1995 a little software shop called Borland International released a product called Delphi, and Windows programming was forever changed. While a lot can be said about exactly what made Delphi into the success it ultimately became, an argument can be made for Delphi owing its success to three key factors:
- Delphi challenged the previously held belief that developers had to choose between runtime performance and ease of development. Prior to this, developers felt they had to choose between Visual Basic if they wanted rapid application development (RAD) or C/C++ if they wanted runtime performance. By combining a superfast native code compiler with visual application design tools, Delphi demonstrated to the world that productivity and performance are not mutually exclusive.
- Delphi also challenged the assumption that database features could not be a firstclass feature in a highperformance development tool. Rather than work with databases as a disjointed VBXstyle or C++ library bolton or in bulky 4GL tools, Delphi made database functionality a firstclass citizen in the development tool, adding easy database programming to the already powerful combination of RAD and runtime performance.
- A healthy thirdparty market grew around Delphi, consisting of publications, component vendors, and a devoted community of software developers. This enabled those in the know to distribute the knowledge virally across this worldwide community.
I was lucky enough to own not one but two front row seats to this revolution in Windows development. As a member of the Delphi team at Borland, I helped define, create, and launch the product into the market. As an author of the bestselling Delphi Developer’s Guide series of books, I was a part of the community that established the knowledge beachhead in the industry that provided the information folks needed to become effective Delphi developers.
Prior to the introduction of Kylix, the Linux development community found itself in a position similar to that of the Windows community prior to the launch of Delphi. Projecting Delphi’s keys to success to the world of Linux and Kylix, you find:
- Linux was at a similar crossroad between performance and developer productivity. In fact, Linux was perhaps even further behind the developer productivity curve than Windows because Linux lacked a rapid application development tool with the usability and critical mass that Visual Basic brought to Windows in the early days. A great deal of Linux development is still done using textbased tools such as EMACS and GCC, which — while lightweight and flexible — don’t begin to offer the performance/productivity combination of Kylix.
- Likewise, Linux database developers for the most part are put in the position of having to choose between C/C++style libraries that lack productivity and integration or less efficient access via scripting languages such as Perl or PHP.
- Kylix is now beginning to build community and thirdparty momentum on the Linux platform as Delphi did before it on Windows. Kylix has an opportunity to take even greater hold in the hearts and minds of Linux developers due to the propensity of Linux developers to be connected to the community and the lack of other dominant vendors in the tools market. You hold in your hand one of the vehicles driving this momentum: Kylix 2 Development is exactly what Kylix developers — and the Linux community in general — needs to raise the standard of development to the next level.
Kylix 2 Development is clearly written for developers by developers, with an eye toward giving Kylix programmers the exact information they require to first become productive with the tool, and then learn to make it sing for them in building more complex applications. The text is pithy and clear, and the code snippets provide great illustration for using Kylix and the Object Pascal language they way they are intended to be used.
The maxim stating that “history repeats itself” is clearly manifesting itself in the parallels between the successes of Delphi in the Windows world and Kylix in the Linux world. Kylix 2 Development provides one of the keys to riding this next great wave of developer productivity.
Section 1 – Introduction
Chapter 1: Introduction
Chapter 2: Installation
Chapter 3: The Kylix IDE
Section 2 – Building Applications
Chapter 4: Working with Projects and Files
Chapter 5: Object Pascal
Chapter 6: Application Architecture
Chapter 7: Object-Oriented Development
Chapter 8: Shared Objects and Packages
Chapter 9: Compiler, Run-time Library and Variants
Chapter 10: Exception Handling and Resource Protection
Chapter 11: Debugging and the Debugger
Section 3 – Data Access
Chapter 12: dbExpress and DataCLX
Chapter 13: Client-Side Data Management
Chapter 14: Using Field Objects
Section 4 – Components
Chapter 15: CLX
Chapter 16: Writing Custom Components
Section 5 – Advanced Linux Development
Chapter 17: Processes and Threads
Chapter 18: Synchronization IPCs
Chapter 19: Message Passing IPCs
Chapter 20: Shared Memory
Section 6 – Enterprise Applications
Chapter 21: Internet Applications — NetCLX
Chapter 22: Introduction to WebSnap
Chapter 23: Advanced WebSnap
Chapter 24: Web Services
Chapter 25: CORBA Development with Visibroker 4.5 for Kylix
Appendices – On the CD-ROM
Appendix A: Deploying Kylix Applications
Appendix B: Using the XML Mapper
Appendix C: Introduction to Internet Technologies
Appendix D: Designing Internet Applications
Appendix E: Linux Tutorial for Windows Developers
Appendix F: Linux Commands
Appendix G: Compiler Directives
Appendix H: Routines of the Runtime Library
Appendix I: Useful Request For Comments