MonoDevelop - .NET development on Linux, Solaris, Mac OS X (and Windows)
Mono has gone a long way since Miguel de Icaza started work on it in 2001. It can run binaries produced by Visual Studio and it has C# and VB.NET compilers. Mono is still working on full .NET 2.0 support but they have a lot of interesting features in the Mono namespace:
- Gtk#: Bindings for the popular Gtk+ GUI toolkit for UNIX and Windows systems. Other bindings are available: Diacanvas-Sharp and MrProject.
- #ZipLib: A library to manipulate various kinds of compressed files and archives (Zip and tar).
- Tao Framework: bindings for OpenGL
- Mono.Directory.LDAP / Novell.Directory.LDAP: LDAP access for .NET apps.
- Mono.Data: We ship support for PostgreSQL, MySQL, Firebird, Sybase ASE, IBM DB2, SQLite, Microsoft SQL Server, Oracle, and ODBC data sources.
- Mono.Cairo: Bindings for the Cairo rendering engine (Our System.Drawing is implemented on top of this).
- Mono.Posix / Mono.UNIX: Bindings for building POSIX applications using C#.
- Mono.Remoting.Channels.Unix: Unix socket based remoting
- Mono.Security: Enhanced security and crypto framework
- Mono.Math: BigInteger and Prime number generation
- Mono.Http: Support for creating custom, embedded HTTP servers and common HTTP handlers for your applications.
- Mono.XML: Extended support for XML
- Managed.Windows.Forms (aka System.Windows.Forms): A complete and cross platform, System.Drawing based Winforms implementation.
- Remoting.CORBA: A CORBA implementation for Mono.
- Ginzu: An implementation on top of Remoting for the ICE stack
Earlier this month they also released Monodevelop 0.15 which has all the features you would expect from a modern development IDE like code completion, projects and add-in support:
I spend my time developing for Windows these days but it is great to see that support for .NET is growing on other platforms as well. Mono supports embedded http servers and http handlers but it would be great to see a .NET cross platform application server.
[Update: made some small formatting changes]