Novell Home

Develop for SUSE Linux Enterprise 10

Information for Linux Developers

Linux Developer Links

If you're looking to develop for Linux, take a good hard look at the development resources available from Novell. SUSE® Linux Enterprise provides technical components and computing technology experience for novice and versed Linux developers, who benefit from a secure and reliable development environment for their desktops and servers.

Customers are increasingly deploying Linux in new, enterprise-level applications, where flexibility, compatibility and scalability is key for success. SUSE Linux Enterprise offers a foundation for enterprise computing from the desktop to the data center.

SUSE Linux Enterprise comes with numerous benefits that position it as an operating system platform for development solutions:

  • Support for multiple programming languages
  • State-of-the-art and high-quality packages
  • Reliable environment
  • First-class support
  • Development platform for desktop and server
  • Enhanced vendor support

More importantly, SUSE Linux Enterprise ships with excellent Linux developer tools and utilities, providing a powerful and easy–to–use development environment.

The Mono Project

SUSE Linux Enterprise is the only enterprise Linux distribution to include Mono®, an open source implementation of the .NET framework that allows corporate IT and ISV developers to develop new applications or port their existing .NET applications to Linux—without investing major resources to rewrite code.

The Mono project was announced 2001 in as an open source project that delivered the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows and UNIX. Mono is an open-source cross-platform implementation of Microsoft's .NET environment. Since Mono 1.0 was released in June 2004, it has become the platform of choice for many open source and commercial projects. Many applications available from Novell® were built on the Mono framework including Beagle (desktop search tool), F-Spot (photo management software), Banshee (media player), Tomboy (for taking notes) and iFolder (for disconnected file sharing).

Today, the Mono project implements ADO.NET and ASP.NET as well as Windows.Forms, which is a technology for developing GUI applications with .NET. The .NET implementation in Mono is based on the ECMA/ISO standard, an international standard for C# and the Common Language Infrastructure. The next release of Mono (V2.0) will complete the .NET 2.0 coverage. Although Novell developers contribute heavily to the Mono project, it is still a community project with many constituents and collaborators, ranging from companies and universities to governments and individuals. As such, it will continue to work and operate as a community project.

Recent developments in Mono tools include the new Visual Basic compiler, which allows software developers who use Microsoft Visual Basic to run their applications across multiple platforms without any modifications to the code. They can continue to code in their preferred Visual Basic/Visual Studio environment and compile and run that same code base on a variety of operating systems and architectures, including Windows, Linux and Mac OS. As a result, developers and customers gain a powerful, flexible new tool to maximize the value of custom-developed software in their organizations.

MonoDevelop is the integrated development environment (IDE) in Mono, based on the GNOME development platform. MonoDevelop is primarily designed for C# and other .NET languages and provides a complete set of tools for developers on Linux, so they can comfortably choose Linux as their main development platform (regardless of whether the software is later deployed on Windows or MacOS). ASP.NET applications can be ported with little or no work; about 80% of applications can run without changes, and the rest require minimal changes.

The Mono Migration Analyzer (called MoMA) is another new tool for assisting the Linux developer in the migration process from .NET to Mono. MoMA can run on a .NET executable, analyze the work required to port the application to Mono and assist Novell in prioritizing development. MoMA includes a definition of the most current version of Mono and inspects the byte code to determine the required methods. MoMA then generates a report summarizing the issues, which is sent to the Mono project team.

Finally, with the proliferation of client and server operating systems such as Windows, Linux, Solaris and Mac OSX, businesses no longer invest in a single platform for all of their data center or IT needs. Thus, independent software vendors (ISVs) who target applications for just one platform may be surrendering a significant portion of their potential market. Mono allows developers to write a piece of code, and with minimal effort, get that same code to run on Linux and other operating systems across multiple architectures.

openSUSE Build Service

The openSUSE Build Service provides Linux developers with a tool to create and release their open source software for openSUSE and other Linux distributions easily on different hardware architectures and for a broad user audience. The Build Service allows individual Linux developers and teams of developers to build binary packages for the distribution of their choice. It also allows a Linux developer to build and release several distributions from the same source package. Currently, packages can be built for the latest Novell distributions, including the openSUSE 10.2 release (and its predecessors SUSE Linux 10.0 and 10.1) and the SUSE Linux Enterprise 9 and 10 product lines. Linux developers can also build packages for other current distributions, including Debian Etch, Fedora Core 5 and 6, Mandriva 2006 and Ubuntu 6.06. The Build Service provides end users access to binary packages for their systems and allows them to update just the packages required at the next release—instead of self-compiling them or waiting for the next release of their distribution. The Build Service makes the process of package creation—and soon the process of distribution creation—transparent and leads to reproducible, automated package and distribution creation for all.

The openSUSE Build Service contains a server and multiple clients. The server hosts sources, the build infrastructure, package download and mirroring tools and the communication framework. Linux developers can run their packages in specified environments or create them for multiple hardware architectures. The client includes the tools and interfaces needed to organize and build packages from source code, including a command–line and a Web–based interface.

Every project provides workspace for a set of users and software packages. From here, Linux developers can manage sources used for multiple distributions. A project can host an entire distribution (the full, up-to-date version of openSUSE, for example), a single package or even just a bugfix for an existing package.

This is the starting point for Linux developers who create complete system images using KIWI, the system image tool from Novell. KIWI creates complete operating system images for Linux-supported hardware platforms, as well as for virtualization systems like Xen.

The Build Service is completely free, offering packages for a variety of Linux distributions, including the openSUSE.org community. In addition, releasing the Build Service as open source software ensures that all future growth will build on an open source foundation. Linux developers are also encouraged to help in the development of the service itself—and use a version of it on their own machines.

Linux Software Development Kit

The SUSE Linux Enterprise Software Development Kit supports application development for SUSE Linux Enterprise Server and SUSE Linux Enterprise Desktop and provides a comprehensive build system. The software development toolkit includes all the open source tools that were used to build the SUSE Linux Enterprise platform. For Linux developers, ISVs, or IHVs, the software development kit provides all the tools required to port applications to all of the hardware platforms supported by SUSE Linux Enterprise. The toolkit contains development libraries, language support and integrated development environments for nearly every modern programming language.

Novell® Making IT Work As One

© 2009 Novell, Inc. All Rights Reserved.