Mono Technology
Upcoming SlideShare
Loading in...5
×
 

Mono Technology

on

  • 3,514 views

 

Statistics

Views

Total Views
3,514
Views on SlideShare
3,514
Embed Views
0

Actions

Likes
0
Downloads
26
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mono Technology Mono Technology Presentation Transcript

      • Mono Platform Technologies
      • Alvaro del Castillo San Félix
      • [email_address]
      • GSyC/LibreSoft
  • A .NET Framework Implementation
    • CLI: Common Language Infrastructure virtual machine: class loader, Just-in-time compiler, and a garbage collecting runtime.
    • Class Library to be used in CLR.
    • Compiler for C#
  • http://www.mono-project.com/.NET_Framework_Architecture
  • http://en.wikipedia.org/wiki/Image:DotNet.svg
  • Mono supported languages http://www.mono-project.com/Languages
    • C#
    • Java
    • Python
    • JavaScript
    • PHP
    • Visual Basic .NET
    • Nemerle
    • Boo
    • Oberon
    • Object Pascal
    • LUA
    • Cobra
  • Mono C# Language ECMA 334 C# Goals
    • C# is intended to be a simple, modern, general-purpose, object-oriented programming language.
    • 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.
    • The language is intended for use in developing software components suitable for deployment in distributed environments.
    • Source code portability is very important, as is programmer portability, especially for those programmers already familiar with C and C++.
  • Mono C# Language ECMA 334 C# Goals
    • Support for internationalization is very important.
    • 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.
    • 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.
  • Mono install process
    • Ubuntu gutsy/Debian etch install process
  • Mono and Windows
    • Once we have WinForms fully implemented in Mono applications will be migrated easily from Windows to/from Linux.
    • Complete example with Paint.NET
    • MoMA: Mono Migration Analyzer (MoMA)
    • http://www.mono-project.com/Guide:_Porting_Winforms_Applications
  • Mono and GNOME
    • GNOME as a natural place to use Mono: common developers, solve issues for wrapping libraries, high level language.
    • Major GNOME libraries wrapped to be used from Mono.
    • Some serious applications: FSpot, Tomboy
  • Mono and Java
    • ikvm: ikvm - Java virtual machine/compiler implemented in .NET (Mono)
    • Run a Java Application
    • Convert a Java Application to .NET
    • Develop a .NET Application in Java:
      • Create Java stubs for .NET APIs: ikvmstub /usr/lib/mono/2.0/mscorlib.lib
  • Mono in the Web
    • ASP.Net: XSP server and mod_mono for Apache.
    • Samples session: http://localhost:8082/samples/
      • apt-get install asp.net2-examples
    • Moonlight: Implementation for Silverlight (FLASH alternative)
  • FLOSS Mono Applications http://www.mono-project.com/Software
    • Monodevelop
    • Imendio BLAM!
    • Muine
    • Tomboy
    • ChronoJump
    • Beagle
    • Banshee
    • F-Spot
    • iFolder
    • Yet Another Forum
    • .... (there are also commercial ones)
  • The Future
    • The Windows applications will be migrated more easily ... if we have the source code ;)
    • Mono platform will be more adopted
    • Better development tools for Mono
    • ¿Mono in the web will find a place in Ruby on Rails, Django, J2EE, Java portals?
    • ¿Mono will find its place in FLOSS desktops?