Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

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 />