InfoQ

News

Mono 2.0 Released

Posted by Jonathan Allen on Oct 06, 2008 01:44 AM

Community
.NET
Topics
Linux ,
Open Source
Tags
Mono

Mono 2.0 has been released. Though still behind Microsoft's .NET in some areas, in others it has leaped ahead. For those seeking to write cross-platform applications, the first list of features in the release notes is the Microsoft-compatible APIs.

  • ADO.NET 2.0 API for accessing databases.
  • ASP.NET 2.0 API for developing Web-based applications.
  • Windows.Forms 2.0 API to create desktop applications.
  • System.XML 2.0: An API to manipulate XML documents.
  • System.Core: Provides support for the Language Integrated Query (LINQ).
  • System.Xml.Linq: Provides a LINQ provider for XML.
  • System.Drawing 2.0 API: A portable graphics rendering API.

For cross-platform graphics, Mono also offers Mono.Cairo, a binding to the Cairo Graphics library. "Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB."

For applications that behave more natively on Linux, Gtk# 2.12 is available as an alternative to Windows.Forms. These provide access to Gtk+ and Gnome, and are also usable on Windows and OSX. Also useful to Linux developers is Mono.Posix, which offers both low level and high level interfaces to Linux and Unix-specific functionality.

If you are looking to manipulate compiled assemblies, Mono.Cecil does just that. This can be used for experimentation, patching code after the source was lost, or for building AOP-style frameworks and tools.

For database access, Mono provides bindings to SQLite. Other databases supported by third-party libraries include PostgresSQL, DB2, Oracle, Sybase, SQL server, and Firebird.

On the compiler front, C# 3 is supported with full LINQ support. Very large arrays using 64-bt indexes are supported on 64-bit machines, a part of the ECMA specification that Microsoft has not implemented yet. Visual Basic is a version behind, only supporting VB 8.

On MacOS and Solaris, DTrace is supported.

3 comments

Reply

SharpDevelop by Lars Tackmann Posted Oct 6, 2008 4:31 AM
Re: SharpDevelop by Jonathan Allen Posted Oct 6, 2008 10:57 AM
SplendidCRM 2.1 released for PostgreSQL and Mono by Paul Rony Posted Oct 7, 2008 5:12 PM
  1. Back to top

    SharpDevelop

    Oct 6, 2008 4:31 AM by Lars Tackmann

    Looks good. I cannot help noticing allot of graphics API work, does this mean that SharpDevelop will finally be able to run on Linux or are we still stuck with MonoDevelop ?.

  2. Back to top

    Re: SharpDevelop

    Oct 6, 2008 10:57 AM by Jonathan Allen

    Good question, I'll ask around and see what I can find out.

  3. Adding to the excitement, SplendidCRM is releasing a version that supports PostgreSQL and Linux using Mono.
    www.splendidcrm.com/AboutUs/PressReleases/Octob...

Exclusive Content

Clojure

Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.

Composite Oriented Programming with Qi4j

We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

Principles and Practices of Lean-Agile Software Development

Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.