Cross plataform development with mono [fonts]
-
Upload
kementeus -
Category
Technology
-
view
1.901 -
download
1
description
Transcript of Cross plataform development with mono [fonts]
![Page 1: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/1.jpg)
![Page 2: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/2.jpg)
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
![Page 3: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/3.jpg)
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
![Page 4: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/4.jpg)
What’s mono anyway?
Tip: this is not a biology class…
![Page 5: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/5.jpg)
Ok, What’s not Mono…
Because sometimes myths are just myths…
![Page 6: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/6.jpg)
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
![Page 7: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/7.jpg)
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
![Page 8: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/8.jpg)
Compiler as a Service?
Because static languages are hot as well!
![Page 9: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/9.jpg)
What’s supported in Mono?
Ok, you got me…
![Page 10: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/10.jpg)
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)
![Page 11: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/11.jpg)
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)
![Page 12: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/12.jpg)
Porting your application
Crossing the river…
![Page 13: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/13.jpg)
Stylizer by Skybound
![Page 14: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/14.jpg)
PlasticSCM by Codice
![Page 15: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/15.jpg)
Unity3D by UNITY
![Page 16: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/16.jpg)
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
![Page 17: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/17.jpg)
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!!!
![Page 18: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/18.jpg)
Plenty of UI options… Winforms
Your old “good” friend?
Gtk#
Qyoto
WX.Net
MonoCurses
MonoMac*
iOS/Android
![Page 19: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/19.jpg)
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)
![Page 20: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/20.jpg)
Business LogicWPF
MonoTouch
MonoDroid
MonoMac
Gtk#
![Page 21: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/21.jpg)
MOMA
A Funny acronym for an useful app!
![Page 22: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/22.jpg)
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!)
![Page 23: Cross plataform development with mono [fonts]](https://reader035.fdocuments.in/reader035/viewer/2022062704/5557d532d8b42ab6258b4971/html5/thumbnails/23.jpg)
Questions?
Come on! Don’t be so shy!