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.

Mono

3,864 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Mono

  1. 1. Prepared By Yan Drugalya yan@unity3d.com
  2. 2. Prepared By Yan Drugalya yan@unity3d.com
  3. 3. Agenda  Goals  History  Products  Architecture  Features  Demoes
  4. 4. What is mono  Mono is:  ECMA compliant implementation of .NET framework  .NET compatible set of tools  CLR  Compiler  xbuild.
  5. 5. Motivation  C# is a beautiful language  Bring C# to different platforms:  Android, MAC OSX, Solaris, PS3, Wii, Xbox 360  No one was interested in developers  Compatible runtime to the CLR  ECMA made it possible  Develop, build, debug on Windows, Linux or MAC
  6. 6. Products
  7. 7. Products
  8. 8. History - DEC 2000 .NET CTP - Jul 2001 Mono project started - Jan 2002. .NET 1.0 - Aug 2003 - Novell acquires Ximian - Jun 2004 - Mono 1.0 - Nov 2006 - Mono 1.2 (C# 2.0 support) - Oct 2008 – Mono 2.0 (C# 3.0 and visual basic compiler) - Jan 2009 - Mono 2.2 - performance improvements - C# REPL - AOT Compiling - March 2009 – Mono 2.4 (2.2 for suse) - Dec 2009 – Mono 2.6 (web, LINQ, xbuild)
  9. 9. History  Sep 2010 Mono 2.8  C# 4, ASP.NET 4.0  Dynamic code generation and GC  MEF  Apr 2011 Attachmate acquires Novell  May 2011 Xamarin founded  2012-10-18  C# 5.0, ASYNC
  10. 10. Current State  OCT 2013 Mono 3.2  AIM: full support of feature of .NET 4.0 except WPF, WF, limited WCF  C# 5  F#  2.10 is no longer supported
  11. 11. Components Linux stack Microsoft Stack Gtk#, Mono.Posix, DB… ADO, ASP, Web Forms… Core: Compiler, VM
  12. 12. Modularity Mono And .NET Miguel de Icaza PDC 2008
  13. 13. AOT/Static compilation Mono And .NET Miguel de Icaza PDC 2008
  14. 14. Features  Compiler as a library  Mono linker (Re-shaping assemblies)  Injecting Code Into the live process  …
  15. 15. Demo
  16. 16. Games Graphics Engine Game engine Game AI Low Level Low Level Scripts
  17. 17. Demo
  18. 18. Games: Mono.SIMD C# IL x86 • pos += delta • call [Mono.Simd]Mono.Simd.Vector4f::op_Addition( valuetype [Mono.Simd]Mono.Simd.Vector4f, valuetype [Mono.Simd]Mono.Simd.Vector4f) • movups (%eax),%xmm0 • movups (%edi),%xmm1 • addps %xmm1,%xmm0 • movups %xmm0,(%eax)
  19. 19. UI Mark Zuckerberg: Our Biggest Mistake Was Betting Too Much On HTML5  Android  business logic:Xamarin studio or visual studio  UI: Xamarin android designer  iOS :  business logic: Xamarin studio or visual studio  UI: Xamarin android designer
  20. 20. UI  Write once, run ugly anywhere (WORA)  It is not about mono approach  UI is a plugin!
  21. 21. Mono on Android
  22. 22. How to develop  Be proactive!  Don’t trust - test  Don’t hope - deploy and test  Be ready for Objective-C and Java
  23. 23. Other  Play script  XNA and Mono Game  Win Forms on nokia N900  mono on Raspberry Pi
  24. 24. References  http://www.mono-project.com  Miguel de Icaza presentation on PDC 2008  Personal blog of Miguel de Icaza  monodroid  habrhabr.ru
  25. 25. Questions ?

×