cross plataform development with mono [fonts]

Post on 17-May-2015

1.904 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Small session and talk about Mono and Cross development platform development for .Net developers. Talk shared in DDD Melbourne and DDD Adelaide 2011

TRANSCRIPT

Who am I? I’m a cross platform developer from a beautiful

and tropical place

I was a Linux guy for long time in the past

Open Source contributor

Currently work as Senior Developer for Readify

Microsoft .Net lover, polyglot developer, ASP.NET MVP

Multi-cat guy, husband, blogger, gamer, things like that…

http://www.cprieto.com or @cprieto

Assumptions

You know what’s code

You know what’s .Net

You are already a .Net developer

You know there’s life beyond Windows

You are curious about monkeys…

You know a mono is a primate

What’s mono anyway?

Tip: this is not a biology class…

Ok, What’s not Mono…

Because sometimes myths are just myths…

Seriously, this is not Mono

Mono is NOT a Linux [only] port to .Net

Mono is NOT attached to Microsoft [directly]

Mono is NOT just a compiler or interpreter

Mono is NOT a .Net copy

Mono is NOT dead

Mono is more than a monkey… MonoTouch

MonoMac

MonoDroid

MonoDevelop IDE Mac and Windows

Git and Svn support

Many mono libraries Cecil, Zeroconf, etc.

LLVM compiler

New Garbage Collector

Sharpen

Moonlight 4

C# Compiler as a Service

Mono in games

Mono in Servers

Compiler as a Service?

Because static languages are hot as well!

What’s supported in Mono?

Ok, you got me…

Microsoft .Net libraries C# 4.0, 3.0, 2.0

ASP.NET

System.Core

Core libraries

MEF

DLR (ipy, irb)

Code Contracts (partially)

LINQ, LINQ to SQL

ADO.NET

NuGet

OrchardCMS

F#

VB

XNA (MonoXNA)

WCF (partially)

Odata (client side)

What’s NOT supported Windows Presentation Foundation

System.Management

Windows P/Invoke

System.EnterpriseServices

Cross process transactions

COM

WF (WF 4.0 will be implemented)

Porting your application

Crossing the river…

Stylizer by Skybound

PlasticSCM by Codice

Unity3D by UNITY

Core and basics Mono is CIL compatible with Microsoft

implementation

What about data access? You cannot use EF yet

But you can use NHibernate!

Ok, you can use Mindscape’s Lightspeed too…

VistaDB, MySQL, PostgreSQL, Firebird, SQLServer, SQLite

Do I have some other usefull libraries to use? Bitsharp, Mono.Addins, MonoTorrent, GitSharp,

Mono.Zeroconf, many others!

You can use MonoDevelop IDE

Pay attention to details…

Paths are not the same…

Interop is not your friend…

COM is not your mate…

Did you really need that API?

What about cross platform libraries?

MoMA is your ally!!!

Plenty of UI options… Winforms

Your old “good” friend?

Gtk#

Qyoto

WX.Net

MonoCurses

MonoMac*

iOS/Android

Simple Guidelines Design your code to be presentation

agnostic

Independent Business Logic

Presentation Layer

Just follow the advise of your pattern loving buddies Model, View, Controller (MVC)

Model, View, Presenter (MVP)

Model, View, ViewModel (MVVM)

Business LogicWPF

MonoTouch

MonoDroid

MonoMac

Gtk#

MOMA

A Funny acronym for an useful app!

What about web apps? ASP.NET Webforms

ASP.NET MVC1, MVC2

Portions of ASP.NET MVC3

Monorail, FubuMVC, OpenRasta

OrchardCMS

NuGet

Moonlight 4

Magical things… like Manos de Mono! (no cross platform… yet!)

Questions?

Come on! Don’t be so shy!

top related