Cross plataform development with mono [fonts]


Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Cross plataform development with mono [fonts]

  1. 1.
  2. 2. Who am I?<br />I’m a cross platform developer from a beautiful and tropical place<br />I was a Linux guy for long time in the past<br />Open Source contributor<br />Currently work as Senior Developer for Readify<br />Microsoft .Net lover, polyglot developer, ASP.NET MVP<br />Multi-cat guy, husband, blogger, gamer, things like that…<br /> or @cprieto<br />
  3. 3. Assumptions<br />You know what’s code<br />You know what’s .Net<br />You are already a .Net developer<br />You know there’s life beyond Windows<br />You are curious about monkeys…<br />You know a mono is a primate<br />
  4. 4. What’s mono anyway?<br />Tip: this is not a biology class…<br />
  5. 5. Ok, What’s not Mono…<br />Because sometimes myths are just myths…<br />
  6. 6. Seriously, this is not Mono<br />Mono is NOT a Linux [only] port to .Net<br />Mono is NOT attached to Microsoft [directly]<br />Mono is NOT just a compiler or interpreter<br />Mono is NOT a .Net copy<br />Mono is NOT dead<br />
  7. 7. Mono is more than a monkey…<br />MonoTouch<br />MonoMac<br />MonoDroid<br />MonoDevelop IDE<br />Mac and Windows<br />Git and Svn support<br />Many mono libraries<br />Cecil, Zeroconf, etc.<br />LLVM compiler<br />New Garbage Collector<br />Sharpen<br />Moonlight 4<br />C# Compiler as a Service<br />Mono in games<br />Mono in Servers<br />
  8. 8. Compiler as a Service?<br />Because static languages are hot as well!<br />
  9. 9. What’s supported in Mono?<br />Ok, you got me…<br />
  10. 10. Microsoft .Net libraries<br />C# 4.0, 3.0, 2.0<br />ASP.NET<br />System.Core<br />Core libraries<br />MEF<br />DLR (ipy, irb)<br />Code Contracts (partially)<br />LINQ, LINQ to SQL<br />ADO.NET<br />NuGet<br />OrchardCMS<br />F#<br />VB<br />XNA (MonoXNA)<br />WCF (partially)<br />Odata (client side)<br />
  11. 11. What’s NOTsupported<br />Windows Presentation Foundation<br />System.Management<br />Windows P/Invoke<br />System.EnterpriseServices<br />Cross process transactions<br />COM<br />WF (WF 4.0 will be implemented)<br />
  12. 12. Porting your application<br />Crossing the river…<br />
  13. 13. Stylizer by Skybound<br />
  14. 14. PlasticSCM by Codice<br />
  15. 15. Unity3D by UNITY<br />
  16. 16. Core and basics<br />Mono is CIL compatible with Microsoft implementation<br />What about data access?<br />You cannot use EF yet<br />But you can use NHibernate!<br />Ok, you can use Mindscape’s Lightspeed too…<br />VistaDB, MySQL, PostgreSQL, Firebird, SQLServer, SQLite<br />Do I have some other usefull libraries to use?<br />Bitsharp, Mono.Addins, MonoTorrent, GitSharp, Mono.Zeroconf, many others!<br />You can use MonoDevelop IDE <br />
  17. 17. Pay attention to details…<br />Paths are not the same…<br />Interop is not your friend…<br />COM is not your mate…<br />Did you really need that API?<br />What about cross platform libraries?<br />MoMA is your ally!!!<br />
  18. 18. Plenty of UI options…<br />Winforms<br />Your old “good” friend?<br />Gtk#<br />Qyoto<br />WX.Net<br />MonoCurses<br />MonoMac*<br />iOS/Android<br />
  19. 19. Simple Guidelines<br />Design your code to be presentation agnostic<br />Independent<br />Business Logic<br />Presentation Layer<br />Just follow the advise of your pattern loving buddies<br />Model, View, Controller (MVC)<br />Model, View, Presenter (MVP)<br />Model, View, ViewModel (MVVM)<br />
  20. 20.
  21. 21. MOMA<br />A Funny acronym for an useful app!<br />
  22. 22. What about web apps?<br />ASP.NET Webforms<br />ASP.NET MVC1, MVC2<br />Portions of ASP.NET MVC3<br />Monorail, FubuMVC, OpenRasta<br />OrchardCMS<br />NuGet<br />Moonlight 4<br />Magical things… like Manos de Mono! (no cross platform… yet!)<br />
  23. 23. Questions?<br />Come on! Don’t be so shy!<br />