You are on page 1of 16

Cross-Platform .

NET:
Mono and MySQL

Presented by, •Joseph Hill


MySQL & O’Reilly Media, Inc.
•Product Manager for Mono, Novell
•jhill@novell.com

•Joe Audette
•Founder, Source Tree Solutions, LLC
•joe.audette@gmail.com

What is Mono?
Mono (mō•nō), n:
1. A complete and modern development platform for Linux
2. The necessary software to develop and run .NET client and
server applications on Linux, Solaris, Mac OS X, Windows,
and Unix
3. A thriving open source project with a growing community

What Can You Do with Mono?


● Migrate Microsoft .NET desktop and server applications to Linux
without significant investment in rewriting code
● Target multiple platforms and increase addressable market
● Leverage existing expertise in computer languages for more
efficient development
Multi-platform, Multi-language
C# x86

Visual Basic

SPARC
Boo

Java (IKVM) Common Code Generation:


Intermediate Just-In-Time StrongARM
Language or Ahead-of-Time
F#

JavaScript
s390
IronPython

IronRuby
PowerPC
Mono 1.0 (7/04)
®

.NET 3.0 / .NET 3.5


WCF
WF

.NET 2.0 WPF

.NET 1.1 Upgrades to


stack.
Upgrades to
stack.

Server:
Gtk# WinForms
ASP.NET C# 2.0
Generics C# 3.0
LINQ
Mono 1.2 (11/06)
®

.NET 3.0 / .NET 3.5


WCF
WF

.NET 2.0 WPF

.NET 1.1 Upgrades to


stack.
Upgrades to
stack.

Server:
Gtk# WinForms
ASP.NET C# 2.0
Generics C# 3.0
LINQ
Mono Today: Mono 1.9 – March 2008

 ASP.NET 1.1 & 2.0


Web Forms & Web Services
Support for ASP.NET AJAX
 ADO.NET 1.1 & 2.0
SQL Server, Oracle, PostgreSQL
MySQL, Sybase, DB2, SQLite, etc
 Win Forms 1.1 & 2.0
 C# 1.0, 2.0, 3.0
LINQ
 GTK#
Mono 2.0 (Summer 08)
®

.NET 3.0 / .NET 3.5


WCF
WF

.NET 2.0 WPF

.NET 1.1 Upgrades to


stack.
Upgrades to
stack.

Server:
Gtk# WinForms
ASP.NET C# 2.0
Generics C# 3.0
LINQ
Mono 3.0 (Olive)
®

.NET 3.0 / .NET 3.5


WCF
WF

.NET 2.0 WPF

.NET 1.1 Upgrades to


stack.
Upgrades to
stack.

Server:
Gtk# WinForms
ASP.NET C# 2.0
Generics C# 3.0
LINQ
Mono Migration Analyzer (MoMA)
®

 Inspects CIL byte code


 Looks for uses, compares
with implementation
 Missing methods
 “Todo” methods (flagged
with an attribute)
 MoMA is the best place to
start; full report of how
easy your existing app will
be to migrate

http://www.mono-project.com/Moma
mojoPortal – What Is It?

 Content Management/Web Site Framework


 Project began with the idea of supporting MySql
and Mono
 Current Features – Blogs, Forums, Calendars,
Maps, Image Gallery, Ecommerce, and more
 Download it from www.mojoportal.com
mojoPortal Architecture
Cross Platform Development

 Visual Studio 2005/2008


 MonoDevelop
Developing with MonoDevelop

 Free .NET IDE for Linux and Mac OS X

Code completion
Refactoring
Class management
Built-in help
VS 2005 project support
Gtk# designer support
ASP.NET support
C#/VB/Boo/C/C++ support
Much More
Getting Mono

 Mono
http://www.mono-project.com/Downloads
 MoMA
http://www.mono-project.com/MoMA
 Moonlight
http://www.mono-project.com/Moonlight
http://go-mono.com/moonlight
 Mono projects
http://packages.opensuse-community.org/
 mojoPortal
http://www.mojoportal.com

Mono Stacks®

ASP.NET
ASP.NET
ASP.NET MySQL MySQL/Postgress
Gtk#/Gnome D-Bus#
Evolution#

Mozilla Mozilla Novell APIs:


Novell iFolder
Bonjour
iFolder, LDAP
ADO.NET
ADO.NET
ADO.NET Apache Mono Apache Mono
Identity GTK# GTK#
Desktop:

Novell LDAP Gnome#


OpenOffice Sqlite# Cecil
Windows.Forms
Windows.Forms
Windows.Forms Java Compatibility
Java Compatibility Addins Rocks
Microsoft Compatibility Libraries Mono Libraries
.NET Stack Mono Stack

Virtual Machine:
Mono Runtime
Multilanguage
(Implementation of ECMA #335)
Platform Support

 32 bit:  Operating Systems:


x86 Linux
SPARC Solaris
S390, IBM MacOS X
ARM family Windows
PowerPC Nokia/Maemo
 64 bit:
x86-64  Contributed ports:
s390x, IBM Alpha, MIPS (not
Itanium finished).

You might also like