Transcript

Prepared By Yan Drugalyayan@unity3d.com

Prepared By Yan Drugalyayan@unity3d.com

Agenda

Goals

History

Products

Architecture

Features

Demoes

What is mono

Mono is: ECMA compliant implementation of .NET framework

.NET compatible set of tools

CLR

Compiler

xbuild.

Motivation

C# is a beautiful language

Bring C# to different platforms: Android, MAC OSX, Solaris, PS3, Wii, Xbox 360

No one was interested in developers Compatible runtime to the CLR

ECMA made it possible

Develop, build, debug on Windows, Linux or MAC

Products

Products

History

- DEC 2000 .NET CTP

- Jul 2001 Mono project started

- Jan 2002. .NET 1.0

- Aug 2003 - Novell acquires Ximian

- Jun 2004 - Mono 1.0

- Nov 2006 - Mono 1.2 (C# 2.0 support)

- Oct 2008 – Mono 2.0 (C# 3.0 and visual basic compiler)

- Jan 2009 - Mono 2.2 - performance improvements

- C# REPL

- AOT Compiling

- March 2009 – Mono 2.4 (2.2 for suse)

- Dec 2009 – Mono 2.6 (web, LINQ, xbuild)

History

Sep 2010 Mono 2.8 C# 4, ASP.NET 4.0

Dynamic code generation and GC

MEF

Apr 2011 Attachmate acquires Novell

May 2011 Xamarin founded

2012-10-18 C# 5.0, ASYNC

Current State

OCT 2013 Mono 3.2 AIM: full support of feature of .NET 4.0 except WPF, WF,

limited WCF

C# 5

F#

2.10 is no longer supported

Components

Core: Compiler, VM

Linux stack Gtk#, Mono.Posix,

DB…

Microsoft Stack ADO, ASP, Web Forms…

Modularity

Mono And .NET Miguel de Icaza PDC 2008

AOT/Static compilation

Mono And .NET Miguel de Icaza PDC 2008

Features

Compiler as a library

Mono linker (Re-shaping assemblies)

Injecting Code Into the live process

Demo

Games

Graphics Engine

Low Level

Game engine

Low Level

Game AI

Scripts

Demo

Games: Mono.SIMD

• pos += deltaC#• call [Mono.Simd]Mono.Simd.Vector4f::op_Addition(

valuetype [Mono.Simd]Mono.Simd.Vector4f,

valuetype [Mono.Simd]Mono.Simd.Vector4f)IL

• movups (%eax),%xmm0• movups (%edi),%xmm1• addps %xmm1,%xmm0• movups %xmm0,(%eax)x86

UI

Mark Zuckerberg: Our Biggest Mistake Was Betting Too Much On HTML5

Android business logic:Xamarin studio or visual studio

UI: Xamarin android designer

iOS : business logic: Xamarin studio or visual studio

UI: Xamarin android designer

UI Write once, run ugly anywhere (WORA)

It is not about mono approach

UI is a plugin!

Mono on Android

How to develop

Be proactive!

Don’t trust - test

Don’t hope - deploy and test

Be ready for Objective-C and Java

Questions ?

top related