Mono Technology


Published on

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

Mono Technology

  1. 1. <ul><ul><li>Mono Platform Technologies </li></ul></ul><ul><ul><li>Alvaro del Castillo San Félix </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>GSyC/LibreSoft </li></ul></ul>
  2. 2. A .NET Framework Implementation <ul><li>CLI: Common Language Infrastructure virtual machine: class loader, Just-in-time compiler, and a garbage collecting runtime. </li></ul><ul><li>Class Library to be used in CLR. </li></ul><ul><li>Compiler for C# </li></ul>
  3. 3.
  4. 4.
  5. 5. Mono supported languages <ul><li>C# </li></ul><ul><li>Java </li></ul><ul><li>Python </li></ul><ul><li>JavaScript </li></ul><ul><li>PHP </li></ul><ul><li>Visual Basic .NET </li></ul><ul><li>Nemerle </li></ul><ul><li>Boo </li></ul><ul><li>Oberon </li></ul><ul><li>Object Pascal </li></ul><ul><li>LUA </li></ul><ul><li>Cobra </li></ul>
  6. 6. Mono C# Language ECMA 334 C# Goals <ul><li>C# is intended to be a simple, modern, general-purpose, object-oriented programming language. </li></ul><ul><li>The language, and implementations thereof, should provide support for software engineering principle such as strong type checking, array bounds checking, detection of attempts to use uninitialized variables, and automatic garbage collection. Software robustness, durability, and programmer productivity are important. </li></ul><ul><li>The language is intended for use in developing software components suitable for deployment in distributed environments. </li></ul><ul><li>Source code portability is very important, as is programmer portability, especially for those programmers already familiar with C and C++. </li></ul>
  7. 7. Mono C# Language ECMA 334 C# Goals <ul><li>Support for internationalization is very important. </li></ul><ul><li>C# is intended to be suitable for writing applications for both hosted and embedded systems, ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions. </li></ul><ul><li>Although C# applications are intended to be economical with regard to memory and processing power requirements, the language was not intended to compete directly on performance and size with C or assembly language. </li></ul>
  8. 8. Mono install process <ul><li>Ubuntu gutsy/Debian etch install process </li></ul>
  9. 9. Mono and Windows <ul><li>Once we have WinForms fully implemented in Mono applications will be migrated easily from Windows to/from Linux. </li></ul><ul><li>Complete example with Paint.NET </li></ul><ul><li>MoMA: Mono Migration Analyzer (MoMA) </li></ul><ul><li> </li></ul>
  10. 10. Mono and GNOME <ul><li>GNOME as a natural place to use Mono: common developers, solve issues for wrapping libraries, high level language. </li></ul><ul><li>Major GNOME libraries wrapped to be used from Mono. </li></ul><ul><li>Some serious applications: FSpot, Tomboy </li></ul>
  11. 11. Mono and Java <ul><li>ikvm: ikvm - Java virtual machine/compiler implemented in .NET (Mono) </li></ul><ul><li>Run a Java Application </li></ul><ul><li>Convert a Java Application to .NET </li></ul><ul><li>Develop a .NET Application in Java: </li></ul><ul><ul><li>Create Java stubs for .NET APIs: ikvmstub /usr/lib/mono/2.0/mscorlib.lib </li></ul></ul>
  12. 12. Mono in the Web <ul><li>ASP.Net: XSP server and mod_mono for Apache. </li></ul><ul><li>Samples session: http://localhost:8082/samples/ </li></ul><ul><ul><li>apt-get install asp.net2-examples </li></ul></ul><ul><li>Moonlight: Implementation for Silverlight (FLASH alternative) </li></ul>
  13. 13. FLOSS Mono Applications <ul><li>Monodevelop </li></ul><ul><li>Imendio BLAM! </li></ul><ul><li>Muine </li></ul><ul><li>Tomboy </li></ul><ul><li>ChronoJump </li></ul><ul><li>Beagle </li></ul><ul><li>Banshee </li></ul><ul><li>F-Spot </li></ul><ul><li>iFolder </li></ul><ul><li>Yet Another Forum </li></ul><ul><li>.... (there are also commercial ones) </li></ul>
  14. 14. The Future <ul><li>The Windows applications will be migrated more easily ... if we have the source code ;) </li></ul><ul><li>Mono platform will be more adopted </li></ul><ul><li>Better development tools for Mono </li></ul><ul><li>¿Mono in the web will find a place in Ruby on Rails, Django, J2EE, Java portals? </li></ul><ul><li>¿Mono will find its place in FLOSS desktops? </li></ul>