Linux Developers Corner: Porting and Migration
Novell Cool Solutions: Feature
By Richard Smith
Digg This -
Posted: 13 May 2004
This month in the Linux Developers Corner we're going to focus on porting and migration. If you don't currently develop software for the Linux platform you should find this very useful in helping you plan the transition. We'll look at a number of resources available to help make this as painless as possible. Along the way we'll point out some tools as well as give you some ideas on how to undertake this task. We know that most situations are unique, but will provide some high-level guidance and get you started.
Porting situations and considerations
We realize that there is an infinite number of scenarios that will present themselves to developers considering migration to Linux, or perhaps starting a new project with Linux as the target platform. Or maybe you've been tasked with single-sourcing a project that will need to be deployed on multiple platforms. No matter what your situation is, we have created a centralized reference point for you, to assist you in finding appropriate information. Go to http://developer.novell.com/linux/ where you'll find links to resources that will help in your efforts.
Assistance porting from Windows (or ???) to Linux
A good place to start if you are a Windows developer using Microsoft tools (Visual C/C++ MFC) is TrollTech's MFC to Qt Migration - Walkthrough .
This walkthrough is focused on providing guidance for Windows GUI developers to port their applications to QT, which will allow the same source code to be compiled using many different compilers on many different platforms. This document uses Microsoft Visual Studio and its wizards to build the basic application and then takes you step-by-step through the conversion process.
IBM also provides information for Windows to Linux migration using wxWindows, a portable GUI toolkit for C++. This article outlines wxWindows interfaces that mirror MFC interfaces and describes how to use them to build a full-featured, portable GUI application that will run on most Linux windowing environments. You can read the entire article here.
Another resource from IBM has a focus on providing a solid background in how to perform certain operations on Linux that are typically required of software developers. From working at the command-line to networking to building and installing applications, this multipart tutorial provides lots of information and resource links to supply the basic understanding of the Linux operating system needed to enable you to develop for Linux.
So maybe you're not moving from Windows but from UNIX. IBM also has a guide to help with this. Get this PDF file which provides a lot of useful information to help with the migration. Covering topics like zSeries Linux and porting from Solaris, this guide also lists some excellent external resources and a few comments from developers who have done this type of porting.
I just want to learn about Linux development!
So you are the type that wants to get a taste of it right away. Here are some sources to help you get started and find what you need to try it all out.
Linux.com has a site dedicated to programming on Linux. This place will keep you busy. Recently a series of articles on RAD tools covered everything from VB-like tools to Mozilla. (Yes, that's right, Mozilla is a platform for building cross-platform web-enabled applications beyond a browser.) But that's just the tip of the iceberg of what's located on this site. Take your time and browse through it, you'll be glad you spent the time looking it over.
If you are new to Linux, in addition to the resources mentioned above, IBM has a very good guide that takes you through what is Linux, to how to use it and why it matters. You might also want to look here , navigate to the Technical library and look into the Articles and Tutorials that are linked there.
SUSE Linux Software Development Kit (SDK9)
If you are developing software to support the many platforms that SUSE Linux Server 9 supports, then you need to go here and check out the SUSE Linux SDK9. This kit provides everything from IDEs to version control systems, and provides the means not only to develop for multiple platforms, but also to certify your solution against those platforms.
As Linux, and SUSE Linux more specifically, gains more acceptance as an enterprise-ready application server platform, your customers will begin to demand your solutions on it. The SUSE Linux SDK9 will give you a head start in fulfilling those needs.
Novell Forge Spotlight
If you've ever used Novell's iFolder, then you will want to go to Novell Forge and checkout the iFolder open source project. If you haven't used iFolder, try it out and then you'll understand why this open source project is so cool!
iFolder is a great tool for anyone who uses more than one computer. It allows a user to have access to files from almost anywhere. For all the details on how iFolder works go here. Then, as a developer, get involved in the iFolder open source project. Using mono/.NET and C#, the iFolder project gives developers a source-level look at iFolder's file sharing, address book and Simias object store for collaboration solutions. The iFolder project is located on Novell Forge at http://forge.novell.com/modules/xfmod/project/?ifolder.
Got a porting or migration story?
Drop me an email and if we publish your story, I'll pull something cool from our closet of goodies for you.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com