Mono Moonlight Mono Develop and Mono Touch Miguel

  • Slides: 49
Download presentation
Mono, Moonlight, Mono. Develop and Mono. Touch Miguel de Icaza miguel@gnome. org

Mono, Moonlight, Mono. Develop and Mono. Touch Miguel de Icaza miguel@gnome. org

Mono Mix 08 Talk Summary • Moonlight – Silverlight – On Linux

Mono Mix 08 Talk Summary • Moonlight – Silverlight – On Linux

Mix 08 Summary • Moonlight – Silverlight – On Linux • Q&A

Mix 08 Summary • Moonlight – Silverlight – On Linux • Q&A

Mono’s Embrace of. NET 4. 0 • C# 4. 0 • LINQ 4. 0

Mono’s Embrace of. NET 4. 0 • C# 4. 0 • LINQ 4. 0 • ASP. NET 4. 0 NET 3. 5 • C# 3. 0 • System. Core • LINQ • ASP. Net 3. 5 • ASP. Net MVC • LINQ to SQL. NET 3. 0 • WCF - Silverlight 2 • WPF - no plans • WF . NET 2. 0 • C# 2. 0 (generics) • Core Libraries 2. 0: mscorlib, System. Xml • ASP. Net 2. 0 - except Web. Parts • ADO. Net 2. 0 • Winforms/System. Drawing 2. 0. NET 1. 1 • C# 1. 0 • Core Libraries 1. 1 • ASP. Net 1. 1 • ADO. Net 1. 1 • Winforms/System. Drawing 1. 1 • System. Management • System. Enterprise. Services

Mono’s Extension of. NET Platforms • Mono. Touch (i. Phone) – Extended the VM

Mono’s Extension of. NET Platforms • Mono. Touch (i. Phone) – Extended the VM • Mono. Droid (Android) – Later this year • Mono. Mac (Mac) – Similar to i. Phone • Gtk# (Linux, OSX, Windows) • PS 3, Xbox, Wii APIs Most of the time Xplat • Mono. * libraries Unique to Mono: • Mono. SIMD • C# Eval and C# REPL • Continuations/Tasks • AOT compilation

Mobile IDE Servers Mono Linux Desktop Moonlight Gaming Mac OSX

Mobile IDE Servers Mono Linux Desktop Moonlight Gaming Mac OSX

Survey Results

Survey Results

TODAY

TODAY

Linux Mac OS X Windows Solaris • i. Phone • i. Pad • Android

Linux Mac OS X Windows Solaris • i. Phone • i. Pad • Android • Mee. Go • Embedded • Set top boxes Gaming • • Mobile Operating Systems Mono: Your. NET Skills Everywhere • Play. Station 3 • Wii • XBox 360 • • XNA Unity Cocos. Net Phyre. Engine

 • i. Phone • i. Pad • Android • Mee. Go • Embedded

• i. Phone • i. Pad • Android • Mee. Go • Embedded • Set top boxes Gaming • Linux • Mac OS X • Windows • Solaris Mobile Operating Systems Mono: Your. NET Skills Everywhere • Play. Station 3 • Wii • XBox 360 • XNA • Unity • Cocos. Net • Phyre. Engine

In Pictures

In Pictures

MONO ON THE IPHONE

MONO ON THE IPHONE

The Origins of Mono. Touch. 600!

The Origins of Mono. Touch. 600!

After PDC • Gaming was great • But developers wanted to build native apps

After PDC • Gaming was great • But developers wanted to build native apps • Gmail started flagging “When is Mono for i. Phone coming out” as spam

Apple Rules • Contractual requirements: – No interpreted code • Plug nuance. • Kernel

Apple Rules • Contractual requirements: – No interpreted code • Plug nuance. • Kernel limitations: – With i. Phone. OS 2. 0 JITing was disabled.

Mono’s JIT engine Memory R W X Mono 1 CIL

Mono’s JIT engine Memory R W X Mono 1 CIL

Mono’s AOT engine Native Code Mono AOT 1 CIL Mono Runtime 2 ARM

Mono’s AOT engine Native Code Mono AOT 1 CIL Mono Runtime 2 ARM

Mono. Touch’s APIs. NET APIs • • • mscorlib System. Core (LINQ) System. Data

Mono. Touch’s APIs. NET APIs • • • mscorlib System. Core (LINQ) System. Data System. Service. Model • WCF System. Json System. Web. Services System. Xml. Linq Mono. Touch Third Party

Developer Reaction

Developer Reaction

Mono. Touch’s APIs. NET APIs • • • mscorlib System. Core (LINQ) System. Data

Mono. Touch’s APIs. NET APIs • • • mscorlib System. Core (LINQ) System. Data System. Service. Model • WCF System. Json System. Web. Services System. Xml. Linq Mono. Touch • Address. Book • Audio. Toolbox/AVFoundatio n • Core. Animation • Core. Graphics • Core. Location • Game. Kit • Media. Player • Message. UI • Store. Kit • System. Configuration • UIKit Third Party • Open. TK • Open. GL • Open. AL • Mono. Data. Sqlite

Linking Assemblies Complete APIs l Mono Linker l l l Result l

Linking Assemblies Complete APIs l Mono Linker l l l Result l

DEMO: MONOTOUCH

DEMO: MONOTOUCH

Updating our UI MONODEVELOP

Updating our UI MONODEVELOP

Bubble Errors

Bubble Errors

Pinned Watches

Pinned Watches

Xna. Touch Mono. XNA • XNA Effort for Linux • A few years old,

Xna. Touch Mono. XNA • XNA Effort for Linux • A few years old, just a few samples Silver XNA • Reused Mono. XNA code • Runs XNA programs on Silverlight Xna. Touch • Reused Silver. XNA • Port to Mono. Touch

Xna. Touch – Jose Antonio “jalf” Direct. X/XNA MVP CEO Stairs Studio http: //www.

Xna. Touch – Jose Antonio “jalf” Direct. X/XNA MVP CEO Stairs Studio http: //www. stairs. com. br Administrator of Sharpgames Portal http: //www. sharpgames. net Books Author XNATouch Creator

MONODROID

MONODROID

Mono on Android Mono. Touch Mono. Droid Win. Mo • . NET • Cocoa.

Mono on Android Mono. Touch Mono. Droid Win. Mo • . NET • Cocoa. Touch • XNA • . NET • Android UI • XNA • . NET • Silverlight • XNA

Mono. Droid • Need to provide to Android APIs • Developer experience: – Mono.

Mono. Droid • Need to provide to Android APIs • Developer experience: – Mono. Develop on: • Windows • Linux • Mac OS – Visual Studio on Windows

Mono Tools for Visual Studio Ease the transition to other platforms

Mono Tools for Visual Studio Ease the transition to other platforms

Mono. Tools For Visual Studio • Today: – Develop on Windows (ASP. NET, Winforms,

Mono. Tools For Visual Studio • Today: – Develop on Windows (ASP. NET, Winforms, Server) – Debug/Deploy on Linux • Mono. Tools 2. 0, adds: – Debug/Deploy to Android, Mee. Go, Mac – Silverlight debugging – Consoles

UITABLEVIEW

UITABLEVIEW

Sections

Sections

Section Header Rows

Section Header Rows

Cells

Cells

Section Header View Cell

Section Header View Cell

UITable. Views Made Easy MONOTOUCH. DIALOG

UITable. Views Made Easy MONOTOUCH. DIALOG

Using LINQ to UITable. View

Using LINQ to UITable. View

Using Reflection to create UIs

Using Reflection to create UIs

DEMO: MONOTOUCH DIALOG

DEMO: MONOTOUCH DIALOG