Introducción a la plataforma .NET y Mono
Esta presentación está basada en una charla que di hace ya algún tiempo en la Navarparty, aunque actualizada sobretodo en lo que respecta al estado del proyecto Mono. Está basada en una introducción a la plataforma .NET y una explicación de las principales características del proyecto Mono, una implementación libre de la tecnología. Por último se muestran también algunos ejemplos de aplicaciones sencillas, principalmente ASP.NET.
Introducción a .NET
.NET es el nombre que ha dado Microsoft a su forma de ver el futuro de las aplicaciones. Esta visión se centra en un mundo en el cual las aplicaciones se ejecutan de modo distribuido, a lo largo de todo Internet, y son accesibles desde múltiples dispositivos.
Esta visión no surge al azar, si no que tiene varias motivaciones. La primera motivación, se debe a que al igual que la programación orientada a objetos, la programación distribuida fomenta la reutilización de software. De hecho, lo lleva un paso más adelante, ya que no sólo podemos reutilizar nuestro propio código, o aquellas librerías de las que disponemos, sino que se pueden reutilizar recursos disponibles en distintas ubicaciones de Internet.
Por otra parte, el poder acceder a las aplicaciones desde cualquier sitio y desde cualquier dispositivo, es una aspiración de Microsoft, que con la tecnología .NET puede llevarse a cabo de forma sencilla, mediante la utilización de servicios web.
Microsoft divide su filosofía .NET en 3 apartados muy distintos:
- El .NET Framework
- Servicios (MyServices, Passport)
- Otras cosas con la etiqueta «.NET»
En esta presentación vamos a ceñirnos al primero de ellos, que es sobre el cual se sustenta toda la tecnología, y del que se está desarrollando su versión Open Source, mono.
.NET puede considerarse en ciertos aspectos como la respuesta de Microsoft a Java, aunque tiene bastantes diferencias. Reúne en una misma plataforma un conjunto interesante de características, como independencia de plataforma, independencia de lenguaje, soporte de bases de datos, soporte para XML, servicios Web y aplicaciones Web, entre otras. De entre todas estas, quizás una de las más importantes sean las dos primeras, referentes a la independencia tanto del lenguaje como de la plataforma.
Independencia del lenguaje
Se puede desarrollar aplicaciones en múltiples lenguajes dentro de la plataforma .NET, pero lo más interesante, es que una aplicación puede tener diferentes partes desarrolladas en diferentes lenguajes, y todas estas pueden comunicarse entre sí, transparentemente, sin tener que utilizar ningún tipo de capa intermedia que posibilite esta comunicación. Esto permite a su vez una gran reutilización de código, ya que las clases desarrolladas para un proyecto en un lenguaje concreto, podrán ser reutilizadas en un nuevo proyecto, independientemente del lenguaje en el que se desarrolle éste.
Independencia de plataforma
Al igual que en Java, el código .NET no se compila a código máquina, sino a un código en un formato intermedio, independiente de la plataforma. Esto permite llevar los binarios producidos de una plataforma a otra, tal como sucede en Java. Para que esto sea posible, así como en Java existe la máquina virtual (JVM), que es la encargada de interpretar o compilar JIT los bytecodes de una aplicación, en la plataforma .NET existe el Common Language Runtime (CLR), que se encarga de ejecutar el código intermedio o Common Intermediate Language (CIL).
hola Patxi sabes me piden que haga un trabajo todos sobre mono ventajas, y modos de intalarse en diversas plataformas kisiera saber si tienes algunos documentos ke me puedan ayudar a realizarlo poara poder hacer un tutorial te lo agradeceria muchisimo saludos desde tabasco.
Hola:
me parece muy interesante el articulo. Yo tambien estoy iniciandome en este mundo y como deben saber tengo muchas dudas, por el momento quisiera que trataran de ayudarme con esta:
si voy a migrar un sitio donde los .aspx estan en una carpeta y los .ascx estan en otra y asi, como resolver los problemas que da mod_mono con los caminos ?
les agradeceria mucho que alguien me ayudara o me diera alguna idea.Cualquier comentario es valido.
Si no es mucha molestia quisiera que me escribieran a bricelno@gmail.com
Muchas gracias a todos
Hola.. to2
Muy interesante articulo ademas de completo.. me acabo de solucionar dudas de concepto que tenia..
Una pregunta: La plataforma .net es solo para redes ?.. es decir soy programador y estoy buscando alternativas a VisualBasic, Vfox, las tipicas de siempre.. me encontre son SharpDevelop. que dice que permite programa en C# pero quiero hacer aplicativos normales ,, esta herramienta de programacion me sirve o la orientacion es diferente…
Hola Jose, en efecto, con .NET puedes desarrollar cualquier tipo de aplicativo, desde aplicaciones de escritorio hasta aplicaciones web empresariales. Para ello puedes utilizar multitud de entornos de desarrollo, como Visual Studio, SharpDevelop, o incluso simplemente el editor de notas y el compilador del SDK. Además también puedes programar en diferentes lenguajes, como C#, Visual Basic, Delphi, etc…
Hola Mi Nombre es Rafael.
He leido algo sobre el proyecto mono y pienso que el proyecto es muy interesante, y precisamente por esto quiero ver si puedo migrar una aplicacion web desarrollada en VB .net a CENTOS 5, mi aplicacion consta con web services y conexiones a bases de datos SQL Server 2005, ya baje los programas de instalacion de MONO para Windows y tambien para CENTOS 5, pero el problema esque no se como instalar la parte de CENTOS 5, si alguien me puediese decir que tan bueno es el proyecto en este momento para intenetar migrar mi aplicacion para que funcione sobre Linux se los agradeceria.
Aparte no se si alguien tenga documentacion acerca de como instalar mono sobre CENTOS 5 paso a paso y como probar mi aplicacion, se los agradeceria infinitamente.
Saludos y felicidades por esta pagina.
Disculpa, pero podrias ayudarme para instalar mono sobre fedra core 8?, recien estoy empezando con el desarrollo sobre linux, porque antes utilice SharpDevelop pero para windows y ahora quiero intentarlo con linux, porfaa
Hola compañeros de eslomas.com:
Quisiera saber dentro de la plataforma .net, refiriéndome no solo a .net Framework sino también a el paquete de Visual Studio.net y todo lo que compone la tecnología .net.,por donde inicio mi capacitación para comprenderla mejor y poder aplicarla adecuadamente.
Gracias
ay no c que es eso ocupo q me digan es d tarea tengo examen porfas alludenme plis jejje bye
hola quisiera saber si MONO es un framewor o es una plataforma