Cross Platform .NET Development with Mono and MySQL

download Cross Platform .NET Development with Mono and MySQL

If you can't read please download the document

Transcript of Cross Platform .NET Development with Mono and MySQL

Cross-Platform .NET: Mono and MySQLPresented by, MySQL & OReilly Media, Inc.

Joseph Hill Product Manager for Mono, Novell [email protected] Joe Audette Founder, Source Tree Solutions, LLC [email protected]

What is Mono?Mono (mn), 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-languageC# Visual Basic Boo Java (IKVM) F# JavaScript IronPython IronRubyCommon Intermediate Language Code Generation: Just-In-Time or Ahead-of-Time

x86

SPARC

StrongARM

s390

PowerPC

Mono 1.0 (7/04)

.NET 3.0 / .NET 3.5 .NET 2.0 .NET 1.1Server: ASP.NET Gtk# WinFormsUpgrades to stack. WCF WF WPF

Upgrades to stack.

C# 2.0 Generics

C# 3.0 LINQ

Mono 1.2 (11/06)

.NET 3.0 / .NET 3.5 .NET 2.0 .NET 1.1Server: ASP.NET Gtk# WinFormsUpgrades to stack. WCF WF WPF

Upgrades to stack.

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 .NET 2.0 .NET 1.1Server: ASP.NET Gtk# WinFormsUpgrades to stack. WCF WF WPF

Upgrades to stack.

C# 2.0 Generics

C# 3.0 LINQ

Mono 3.0 (Olive)

.NET 3.0 / .NET 3.5 .NET 2.0 .NET 1.1Server: ASP.NET Gtk# WinFormsUpgrades to stack. WCF WF WPF

Upgrades to stack.

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 Mozilla

MySQL/Postgress

Gtk#/Gnome Bonjour Identity Sqlite#

Evolution#

D-Bus#

Mozilla

Novell APIs: Novell iFolder iFolder, LDAPGTK# Desktop: GTK# Gnome#

ADO.NET ADO.NET ADO.NET

Apache Mono OpenOffice

Apache Mono

Novell LDAP

Cecil

Windows.Forms Windows.Forms

Windows.Forms

Java Java Compatibility Compatibility Addins Mono Libraries

Rocks

Microsoft Compatibility Libraries

.NET Stack

Mono StackVirtual Machine: Multilanguage Mono Runtime(Implementation of ECMA #335)

Platform Support 32 bit:x86 SPARC S390, IBM ARM family PowerPC

Operating Systems:Linux Solaris MacOS X Windows Nokia/Maemo

64 bit:x86-64 s390x, IBM Itanium

Contributed ports:Alpha, MIPS (not finished).