Desarrollo Open Source con .NET
Casiva Agustin
[email protected] www.osis.com.ar
Que es Mono? Es una implementacion Open Source de la tecnologia .NET
Un compilador para el lenguaje C#, Visual Basic.Net Una máquina virtual Una implementación de la librería de clases de .NET: manipulación XML, Entrada/Salida, funciones matemáticas, criptografía, xslt, etc. Librería de clases multiplataforma para el acceso a bases de datos: PostgreSQL, MySQL, DB2, TDS, Sybase, Oracle, ODBC y Gnome-GDA Librería de clases UNIX: Mono.Posix Librería de clases GNOME: la familia Gtk#
Quien lo Desarrolla? ➲
Idea de Miguel de Icaza y Nat Fridman
➲
Originalmen creado por Ximian
➲
Acutalmente soportado por Novell
➲
Soporte de la comunidad Open Source
➲
Soporte del proyecto Gnome
Por que nacio Mono? ➲
Nececidad de Ximian de un Lenguaje Estandar y funcional para sus desarrollos
➲
Muchos Lenguajes y Tecnologias necesarios para un desarrollo
➲
Bonobo les quedo chico
➲
Java no fue suficiente
➲
MS.NET buena idea, no Open Source, pero con el Estandar Abierto
Historia ➲
2000- Presenta a la tecnologia .NET
➲
2001- Ximian presenta el Proyecto mono
➲
2003 – Novell compra a Ximian
➲
2004 – Beta 1.0 de Mono, Estable 1.0
➲
2005 – Beta 2.0 de Mono
Objetivos del Proyecto Mono ➲
➲
Proveer una completa herramienta ●
Para evitar aprender muchos lenguajes
●
Para fomentar el desarrollo en Gnu/Linux
●
Para fortalecer la comunidad
Lograr que sea Multiplataforma ●
Evitando desarrollar varias veces lo mismo
●
Trayendo proyectos de Windows a Gnu/Linux
➲
Lograr compatibilidad con MS.NET
➲
No pretende ser MS.NET!, tiene diferentes metas y cuenta con su propia idetidad.
Posicion de MicroSoft ➲
En particular Ninguna
➲
No tiene nada que ver con Mono
➲
No ayuda al proyecto ●
Ni Economicamente
●
Ni Estandarizando componentes
●
Ni Promocionandolo
Que tenemos en Mono?
Que mas tenemos en Mono?
Caracteristicas de Mono ➲
Casi todas las de MS.NET como ●
Independencia del Lenguaje
●
Maquina virtual
●
ASP.NET, ADO.NET.
➲
Multiplataforma, funciona en Windows, Mac, y GNU/Linux
➲
Gran numero de Librerias Heredadas
➲
Open Source
Lenguajes ➲
C#
➲
VB.NET
➲
Nemerle
➲
Java
➲
Otros Perl.NET, Fortran.NET, Ruby.NET,...
C# el Lenguaje ➲
El lenguaje Original
➲
Basado en el Estandar ECMA 334
➲
Igual al de MS.NET
➲
Permite exprimir todo el potencial del Framework dado que este fue diseñado pensado en este lenguaje
VB.NET ➲
Nuevo en el Proyecto
➲
No esta estandarizado por MicroSoft
➲
Full compatibilidad con la sintaxis del VB.NET de Microsoft.
Librería de Clases Disponibles
ADO.NET ➲
Permite conectividad a Base de Datos
➲
Desarrollada en un 100 %
➲
Compatible en en 100% con MS.NET
➲
Facil de Comprende con conocimientos previos de MS.NET
➲
Permite modelo Desconectado y Desconectado
ASP.NET ➲
Permite desarrollos Web
➲
WebServices
➲
WebForms
➲
Tiene un servidor propio XSP
➲
Corren con Apache
➲
Compatible con la especificacion 2.0
Windows Forms ➲
No terminado en en 100% por falta de estandar
➲
Muchos componentes de terceros
➲
Esta en desarrollo
➲
Basado en Ingenieria Reversa
Gtk# ➲
Enmascaramiento para Mono de las librerias Gtk
➲
Es la librería por exelencia para el desarrollo de aplicaciones visuales de escritorio
➲
Recomendada por la Comunidad
➲
Disponible para GNU/Linux y Windows
Otras Librerias Graficas ➲
Qt ●
Provenientes del Proyecto KDE
➲
Wxwindow
➲
SWT Sharp WT ●
Provenientes del Mundo Java
XML ➲
Soporte 100%
➲
Disponible DOM, estandarizado por la w3c consorcium
➲
Xpath
➲
Sax no Disponible en cambio se usa ●
XmlWriter
●
XmlReader
Trabajar con Mono
Desde la Shell ➲
➲
➲
Editores ●
Vim
●
Emacs
Compiladores ●
C# mcs
●
VB.NET mbas
Automatizacion de Compilacion ●
Nant
IDEs ➲
MonoDevelop
➲
Plugins Para Eclipse
➲
Plugins Para Kdevelop Problemas
● ●
Ninguno tiene soporte para diseño de formularios Ninguno tiene soporte para ASP.NET
Mono Doc ➲
Herramienta de Documentacion
➲
Puede comparase con MAN de Unix
➲
Soporta Interfaz Visual y desde linea de comandos
➲
Permite generar la documentacion de nuestro proyecto
➲
Algunas cosas no estan completas
Nunit ➲
Framework para control de errores
➲
Derivado de Junit
➲
Requerido para Metdologias agiles de desarrollo
Nant ➲
Permite automatizar la compilacion
➲
Similar al Make
➲
Basada en Ant
Glade ➲
Diseñador de interfaces
➲
Genera un archivo Xml
➲
Facil de Usar
➲
Simplifica la vida del usuario
Es mejor Mono que MS.NET?
Comparativa ➲
Mejor IDE
➲
Open Source
➲
Soporte para Dispositivos Mobiles
➲
Multiplataforma
➲
Muchas mas librerias
➲
Esta creciendo rapidamente
➲
➲
Buena integracion de Herramientas Mas Facil
Como estamos MS.NET
Mono
100 %
80 %
Preguntas???
Links ➲
www.go-mono.com
➲
www.monohispano.org
➲
www.osis.com.ar
➲
www.casivaagustin.com.ar