Some combinations are naturally good together: chocolate and peanut butter, toast and jam, macaroni and cheese, pickles and ice cream. Admittedly, the last one was specifically paired by my wife when she was pregnant, but the others seem pretty sound. Sometimes unlikely pairs happen to work really well together too. Open-source applications and the Microsoft Windows operating system is one such pairing.
Before you burn this issue of Linux Journal as a symbolic gesture rallying against proprietary operating systems, bear with me for a moment. I'm suggesting we look past the obvious and into the slightly sneaky territory of planting seeds of freedom in otherwise proprietary soil. (Yes, that metaphor made my eyes roll too.) If people start using open-source software in their Windows environments, what is going to keep them from using Windows in the long run? I don't think it will be a love for spyware that keeps them. Cross-platform applications like Firefox, OpenOffice.org and Adobe AIR/Flash have done more to promote the viability of Linux on the desktop than years of me talking about it. This month, we focus on cross-platform development, and for those of us who work in a cross-platform environment, it should be a welcome topic of discussion.
Reuven M. Lerner starts out this issue with the most popular form of cross-platform development: the Web. He shows how to test Rails apps with Shoulda, an interestingly named tool that should help Ruby shine. Marcel Gagné adds to the idea of “open networks” by showing how to utilize open standards on the Internet. He walks us through setting up a Jabber server, which will allow users of any platform to connect and chat. As a warning, if you connect with Marcel, you'll likely end up chatting about Wine—or possibly his funny hat.
Kyle Rankin decided to join the world of Twitter this month, and although there already are many cross-platform Twitter applications, Kyle decided he needed to have it in his little green-on-black text window. Kyle “Mr Twitter” Rankin demonstrates how to make Twitter nothing more than another channel in your IRC client. Deep down, I'm a bit jealous Kyle does most of his communication via IRC, but don't tell him or he'll be impossible to work with.
Although Web applications certainly seem to be the current trend in programming, what if you want a desktop application instead? Mark Obcena shows us Titanium, an open-source platform Web developers can use to create desktop applications. Just like their Web counterparts, Titanium applications allow for cross-platform development.
If Web development isn't your thing, that's perfectly fine too. Mattias Gaertner demonstrates Lazarus for creating platform-independent code. Whether you're aiming for native applications on Linux, Windows or OS X, Lazarus can do it for you. In a similar vein, Johan Thelin tells us about Qt. Although it's most known for its huge role in KDE development, recent versions of Qt integrate quite nicely with GTK+ as well. Add to that cross-platform application support, and Qt continues to be a great development platform.
Don't worry though; here's the paragraph where I tell you it's okay if you don't identify with $ISSUE_FOCUS, because we still have a well-rounded magazine filled with Linux goodies. Mick Bauer dissects Ubuntu's AppArmor and what it means for the security-minded user. Ibrahim Haddad discusses open-source compliance. It would be nice if everyone followed the rules, but sometimes the rules are difficult to understand and the procedures for dealing with them are complicated. Ibrahim helps us out. We also have an interview with the team that is working on Chrome, which is Google's cross-platform Web browser. Yes, I realize it's cross-platform, but with Google's recent announcement of its Chrome OS, Chrome is going to be an entirely new platform of its own! Like all good platforms, however, Chrome, of course, will be based on Linux.
So, if you still think open source has no place in a proprietary world or that cross-platform application development is a bad idea, feel free to burn this issue. While it's burning, you might want to roast a marshmallow over the fire and then combine it with chocolate and graham crackers. That combination definitely works.