Linux – A supercharged development environment
Linux is not just another operating system, but a complete stack of technologies that virtually any developer will enjoy. It doesn’t matter if he or she is coming from Windows, Mac or any other OS – there is something for everyone. This feature looks behind the scenes and finds out what really makes Linux tick as a development platform…
This article originally appeared in issue 84 of Linux User & Developer magazine.
Linux User & Developer, one of the nation’s favourite Linux and Open Source publications, is now part of the award winning Imagine Publishing family. Readers can subscribe and save more than 30% and receive our exclusive money back guarantee – click here to find out more.
Linux has come a long way from being just a geek’s operating system. But there is no doubt that Linux is still the best operating system for geeks and developers. The effect of Linux as a development environment has not just been limited to Linux, but has spread on all systems including embedded devices. Projects like Firefox, FileZilla, Qt and SuperTux were originally created on Linux and then made their way to different platforms.
It’s certainly not just another operating system, but in fact a complete stack
of technologies that virtually any developer will enjoy. It doesn’t matter
if he or she is coming from Windows, Mac or any other OS – there is something for everyone. This feature looks behind the scenes and finds out what really makes Linux tick as a development platform…
Application development libraries
Application development libraries are the heart and soul of any program. Even for something as simple as a ‘Hello World’ program written in C, you’ll need the stdio (standard input/output) library, because the latter contains a function to display text onto a standard I/O device. So you see, the life of a developer would be nothing without such libraries.
Linux comes with a really large collection of development libraries for a wide variety of tasks. Most of the libraries available on Linux are often cross-platform. Essentially, this means that when you develop an application for Linux, you can easily port it onto other platforms such as Mac OS X and Windows.
Let’s look at the some of the popular libraries available on the Linux platform…
GUI toolkits help developers write GUI (graphical user interface) applications
Qt is a cross-platform application and UI framework. Qt is probably the best C++ toolkit currently available. And to prove its stability and functionality, there is KDE (K Desktop Environment) which uses Qt from top to bottom. Until recently Qt had a dual-licensing model which made its use in commercial applications very costly. With the release of new LGPL licence, Qt is friendly to both open source and commercial application developers.
Qt is very easy to use and it comes with its own set of development tools, including a multiplatform make tool (qmake), a GUI designer and a translation tool. Qt is not only supported on all the major operating systems (Windows, Mac, Solaris and so on), but also on embedded platforms like Maemo, Symbian and Windows Mobile. The best thing about Qt is that when you are porting your Qt application to other platforms, even on an embedded platform it requires very minimal code changes. It supports all the popular compilers, including GCC, Intel C++ Compiler and Sun Studio.
Qt is not just a collection of UI libraries: it also has support for non-UI-specific things like XML parsing, threading and networking, plus the wrappers around popular open source libraries such as CLucene and WebKit. This means that you will rarely need to use any native libraries when using Qt. Qt applications are very easy to translate. The Qt translation system consists of Linguist, which is an easy-to-use application for translation of your application user interface into many different languages.
Qt is available with almost all Linux distributions and can be installed using from your distribution’s package manager or from the Qt website. Lot of applications use Qt, including KDE, Opera, VLC, VirtualBox and Google Earth.