brainshare presentation template - safe harbor statement

25
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of features or functionality described for Novell products remains at the sole discretion of Novell. Cross-Platform .NET: Mono and Moonlight Joseph Hill Product Manager [email protected]

Upload: sampetruda

Post on 22-May-2015

635 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: BrainShare Presentation Template - Safe Harbor Statement

Safe Harbor StatementThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of features or functionality described for Novell products remains at the sole discretion of Novell.

Cross-Platform .NET: Mono and Moonlight

Joseph HillProduct [email protected]

Page 2: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

2

What is Mono®?

• 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

Mono (mō•nō), n: A complete and modern development platform for Linux

The necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix

A thriving open source project with a growing community

Page 3: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

3

Multi-platform, Multi-language

Page 4: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

4

Platform Support

• 32 bit:– x86

– SPARC

– S390, IBM

– ARM family

– PowerPC

• 64 bit:– x86-64

– s390x, IBM

– Itanium

• Operating Systems:– Linux

– Solaris

– MacOS X

– Windows

– Nokia/Maemo

• Devices– Nintendo Wii

– Sony Playstation 3

– iPhone

Page 5: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

5

APIs

ASP.NETASP.NET

Apache and FastCGI

Apache and FastCGI

System.DataSQL Server

System.DataSQL Server

ServerServer

Postgres, MySQLSqlite, Oracle, SybasePostgres, MySQL

Sqlite, Oracle, Sybase

Tao.FrameworkTao.Framework

C5C5

NDesk.DBusNDesk.DBus

Third PartyThird Party

Gtk#Gtk# Windows.FormsWindows.Forms

Cocoa#Cocoa#

ClientClient

Mono.CairoMono.CairoGdk#Gdk#

Pango#Pango#

Mono.RelaxNGMono.RelaxNGJava/IKVMJava/IKVM

Mono.ZeroConfMono.ZeroConf Mono.NatMono.NatMono.CecilMono.Cecil

Novell.LdapNovell.Ldap Mono.FuseMono.Fuse

Mono.AddinsMono.Addins

Gecko# (Mozilla)Gecko# (Mozilla)Mono.NatMono.NatMono.TorrentMono.Torrent Mono.UpnpMono.Upnp

InfrastructureInfrastructure

Tao.Framework\

Page 6: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

6

“Moonlight”: Silverlight for Linux

• Moonlight 1.0>Beta – 12/2/2008>Final – 2/11/2009 (Current)

• Moonlight 2.0>Alpha – 3/18/2009>Final – September 2009

• More Info:– http://mono-project.com/Moonlight

• FireFox Add-in:– http://go-mono.com/moonlight

Page 7: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

7

Mono® 1.0 (7/04)

.NET 3.0 / .NET 3.5

.NET 2.0

C# 2.0Generics

Upgrades to stack.

.NET 1.1

Server: ASP.NET Gtk# WinForms

Upgrades to stack.

C# 3.0LINQ

WCFWF

WPF

Page 8: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

8

Mono® 2.0 (October 08)

.NET 3.0 / .NET 3.5

.NET 2.0

C# 2.0Generics

Upgrades to stack.

.NET 1.1

Server: ASP.NET Gtk# WinForms

Upgrades to stack.

C# 3.0LINQ

WCFWF

WPF

Page 9: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

9

Mono® Today:Mono® 2.2 – January 2009

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

Sybase, MySQL, DB2, SQLite, etc

Win Forms 1.1 & 2.0

C# 1.0, 2.0, 3.0

GTK#

Page 10: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

10

New in Mono® 2.2

– New JIT engine (Linear IL)

– Full AOT, Full Generics Sharing

– Mono.Simd

– ASP.NET Routing

– C# Compiler Services> Shell

> C# Eval (Mono.CSharp.Evaluator)

Page 11: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

11

Mono® 3.0 (Olive)

.NET 3.0 / .NET 3.5

.NET 2.0

C# 2.0Generics

Upgrades to stack.

.NET 1.1

Server: ASP.NET Gtk# WinForms

Upgrades to stack.

C# 3.0LINQ

WCFWF

WPF

Page 12: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

12

Mono® Roadmap Mono 2.4 (March 09)

> ASP.NET 3.5 APIs

> MSBuild Alpha

> MonoDevelop 2.0

» Includes Integrated GUI debugger

> ASP.NET MVC

– Mono 2.6 (June 09)> Windows.Forms - OS X Update

> LINQ to DB integration

> MSBuild Alpha

> Silverlight 2.0 Preview

> Beta version of new multi-runtime, multi-target C# compiler

Mono 3.0TBD

http://www.mono-project.com/Roadmap

Page 13: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

13

Mono® Migration Analyzer (MoMA)

• Inspects CIL byte code

• Looks for uses, compares with implementation

– Missing methods

– Unmanaged Calls

– “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

Page 14: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

14

Develop Anywhere - Deploy Anywhere

• Mono includes a toolchain for Linux

– command-line C# & VB compilers

– MonoDevelop IDE

– Much More...

• Mono's runtime is also binary-compatible with .NET on Windows

– Use Visual Studio IDE to Develop, Compile, and Debug code

– Take advantage of tools available in the .NET ecosystem for profiling, static analysis, etc.

– Deploy to Linux, OS X, etc

Page 15: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

15

Commercial Mono®-based Apps

• Patient information system

• 3D game modeling tool

• Windows to Linux migration tool

• Test automation software

• Managed office wiki

• Instant messaging & social networking

• Cross-platform CRM

• Embeddable SQL database engine

–Hundreds of application developed using Mono, including:

Page 16: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

16

Case Study: Graffiti CMS

• Who– Telligent – Creators of Community Server

• Business Challenges– Windows-only solution limited market reach– Established competitors provide cross-platform offerings

• Mono Solution– Support for ASP.NET 2.0

> Host with apache or fastcgi servers

– Multiple Database backends> VistaDB

> MySQL

> SQL Server

> Access

http://www.graffiticms.com/

Page 17: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

17

Case Study: Codice

• Who– Developers of PlasticSCM configuration management– Extremely competitive market– Tradeoff between high-end expense and low-end functionality– Bring high-end SCM technology to small/medium software teams

• Business Challenges– Windows-only solution limited market reach– High-end features available and affordable on multiple platforms, while still

being easy to install and use– Advanced features like branch handling and security settings, without

imposing development restrictions– As powerful as Clearcase, easy to use, fast and affordable to any-sized team

• Mono Solution– Advanced features of C#– Single code-base for Windows/Linux– Fast time to market

http://www.codicesoftware.com/

Page 18: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

18

Mobile Devices

• Sansa Connect– First Wi-Fi™ based MP3 player from

SanDisk’s audio line; plays music, photos and Internet radio

– Running Linux, entire application stack is built on Mono, running on an ARM processor

– Developed by zing.net

– “Best in Show” at CES

I've been doing stuff like this for the past 4 or 5 years, I've been doing stuff like this for the past 4 or 5 years, and I can definitely say that mono is WAY better than and I can definitely say that mono is WAY better than MSFT's .NetCF.”MSFT's .NetCF.”

--Tim Nichols, Sansa Connect¸ Zing--Tim Nichols, Sansa Connect¸ Zing

Page 19: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

19

Case Study: Second Life

• Who– 3-D virtual world entirely built and owned by its Residents– Inhabited by 9,333,833 Residents from around the globe

• Business Challenges– As of August 2006, 3000 computers, growing at 300 machines/month– 12,000 distinct scripts, 3 million lines of script code (user code)– Current scripting language LSL running out of steam

• Mono Solution– High performance JIT VM– Existing LSL code JITed and optimized by Mono engine and run at native speeds– Gives developers the flexibility they need in using the LSL language– Opens the doors to the Second Life developers to use other CLI languages like C#,

Boo, Python or JavaScript side-by-side.– 50 – 150 times faster– Less than 50% of the memory use

http://www.secondlife.com

Page 20: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

20

Case Study: Otee

• Who– Creator of the Unity 3D game development system– Used by leading game development studios worldwide– "Best Use of Mac OS X Graphics" at Apple's World Wide Developer Conference

• Business Challenges– Python for scripting becoming too slow and unwieldy for growing code base– New solution had to be very fast because game code runs in real-time– Had to be portable to support making games for multiple platforms– Wide range of developer backgrounds, programming languages– Had to be easy to understand, accommodate wide range of users and skill levels

• Mono Solution– Allowed OTEE to give developers a choice between JavaScript, C# and Boo– Very short learning curve and immediate familiarity with scripting in Unity– Mono scripting provides power to create complex game logic, without sacrificing

performance.– Unity now enjoys a rapidly growing user base on both Windows and Mac OS X

http://unity3d.com/

Page 21: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

21

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/

Page 22: BrainShare Presentation Template - Safe Harbor Statement
Page 23: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

23

Embeddable Runtime.

• Mono® Virtual Machine:

– Embeddable in C/C++ applications.

– ~4Mb footprint for basic setup (uncompressed).

– Allows C code to call managed code.

– Allows managed code to call into main application.

• Fast:

– JIT engine provides the speed.

– Choice of languages.

Page 24: BrainShare Presentation Template - Safe Harbor Statement

© Novell Inc. All rights reserved

24

Mono Licensing

• Can I write commercial or proprietary applications that run with Mono?

– Yes. The licensing scheme is planned to allow proprietary developers to write applications with Mono.

• We use three open source licenses:> The C# Compiler and tools are released under the terms of the GNU

General Public License (Moving to MIT X11 in Mono 2.0)

> The runtime libraries are under the GNU Library GPL 2.0

> The class libraries are released under the terms of the MIT X11 license.

• Mono runtime and Mono C# Compiler are available under a proprietary license for those who can not use the LGPL and the GPL in their code.

Page 25: BrainShare Presentation Template - Safe Harbor Statement

Safe Harbor StatementThe following is intended to outline our general product direction. It is intended for information purposes only, and may

not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of features or functionality described for Novell products remains at the sole discretion of Novell.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. Novell, Inc.,

makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc., reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.