DISEÑO WEB

DISEŅO WEB, Chihuahua, Hospedaje Web, Dominios, Email Marketing, Logotipos, Diseņo web Chihuahua, SEO, SEM,

linux chihuahua
 

Diseņo Web chihuahua

Diseņo web Pro

Paginas web

Empresa Diseņo web

Servicios Web

Posicionamiento Web

Diseņo Web Chihuahua

Diseņo Web Joomla

Diseņo Web Avanzado

Diseņo Web CSS

Diseņo Web HTML

Diseņo Paginas Web

Diseņo Web PYMES

Diseņo Web Mexico

diseņo web chihuahua

Diseņo Web y Hospedaje web

Diseņo Web y Hospedaje webDiseņo Web y Hospedaje web

LA ALTERNATIVA DE SOFTWARE LIBRE A .NET

 

A estas alturas ya todos hemos oído hablar de .NET, el gran lanzamiento de Microsoft, sin embargo, lo que no se conoce es que desde tiempo está en marcha un proyecto con la intención de brindar algunas de las partes de .NET a nuestro sistema operativo favorito.

Apesar de las críticas que recibe Microsoft a causa de la discutible calidad de algunos de sus productos y los problemas de seguridad de otros, hay que reconocer que la gente de Redmond también aciertan. Y en el caso de .NET, la verdad es que han dado en el clavo por razones que explicaremos mas adelante y que tiene muy claro Miguel de Icaza, fundador del proyecto GNOME, que se ha embarcado en el proyecto Mono, que intenta llevar a GNU/Linux algunas de las partes de la arquitectura .NET.

Hay mucha confusión en cuanto a qué es exactamente .NET, debido a la cantidad de cosas que este simple término abarca.
A saber:
—La plataforma de desarrollo .NET para escribir software.
—Servicios Web (SOAP).
—Aplicaciones servidor de Microsoft.
—Nuevas herramientas que usan esta pla taforma.
—Hailstorm, el servicio de autenticación que tanta polémica ha suscitado.


El proyecto Mono, como hemos comentado anteriormente, sólo está interesado en una de estas partes, que es la plataforma de desarrollo .NET, fuertemente basada en la idea promovida por el lenguaje Java de «compila una vez, ejecuta en cualquier sitio», pero con algunos añadidos muy interesantes. El resto de cosas abarcadas dentro del término .NET, o bien no levantan ningun interés especial en los integrantes del proyecto Mono o bien se dejan para que sean desarrollados por terceras partes.
Esta plataforma de desarrollo incluye conceptos que serán de sobra conocidos por los desarrolladores de Java: máquina virtual, librería de clases o código intermedio (bytecode). Ademas, en cuanto echen un vistazo a un programa desarrollado en C#, encontrarán enormes similitudes con Java. Esto se debe a que, en parte, Microsoft ha cogido las ideas que tuvieron los desarrolladores de Java, muy buenas algunas de ellas, por cierto, y las ha mejorado bastante, añadiendo nuevas funcionalidades/características que hacen de .NET una tecnología digna de, por lo menos, ser conocida. Entre estas mejoras hay algo que se echa bastante de menos en Java, que es el soporte para distintos lenguajes de programación, que si bien es posible con Java, no es sencillo

Esta plataforma de desarrollo se compone, a su vez, de distintas partes, que son:


—Un entorno de ejecución (máquina virtual) que provee de servicios básicos a las aplicaciones .NET, como son la recolección de memoria y el soporte para distintos hilos de ejecución, a la vez que define lo que se conoce como VES (Virtual Execution System ), que es una especificación de la máquina virtual usada en la plataforma .NET.
—Una librería de clases repleta de funcionalidad (para tratamiento de ficheros, protocolos de red, acceso a BBDD, etc.), con el interesante añadido de que cualquier clase de .NET puede ser implementada en cualquier lenguaje soportado por .NET y utilizada desde cualquier lenguaje soportado por .NET. De forma que, por ejemplo, podríamos implementar un analizador sintáctico de XML en C# y lo podríamos usar, sin ninguna complicación adicional como en el caso de Java (JNI), desde nuestras aplicaciones escritas en Perl o en cualquier otro lenguaje soportado.
—Un nuevo lenguaje, C# que ha sido desarrollado, como decíamos antes, para acceder a toda la potencia de la plataforma .NET. Este lenguaje está fuertemente basado en la sintaxis del lenguaje Java.
—Una especificación de un lenguaje intermedio, conocido como CLS (Common Language Specification), que permite que distintos compiladores puedan generar un código intermedio (o bytecode en la terminología Java), que es el que luego procesará la máquina virtual de .NET a la hora de ejecuta programas. Esto permite que, por ejemplo, se añada soporte para generar este código intermedio a cualquier lenguaje existente, de forma que los programas desarrollados en ese lenguaje puedan ser ejecutados en el entorno de ejecución de .NET.
Todas estas partes forman una plataforma de desarrollo realmente interesante, especial mente por la independencia de lenguaje que comentamos.

Si .NET estuviera limitado a C# por ejemplo, estaríamos hablando de algo muy parecido al entorno Java, con sus ventajas e inconvenientes, y si bien sería otra tecnología (ya existente en Java) interesante, su utilidad para el proyecto GNOME realmente sería mínima.

Sin embargo, esta independencia del lenguaje de programación utilizado es lo que hace a .NET especial con respecto a Java, pues entra de lleno a solucionar los problemas que tenemos los desarrolladores de software, que es la continua necesidad de reutilizar todo tipo de código, para no tener que estar reinventando la rueda (o sea, re-implementando lo mismo para distintos lenguajes de programación) una y otra vez. Esta es la característica, con respecto a Java, mas interesante en nuestra opinión de .NET, aunque hay otros añadidos al lenguaje y, sobre todo, la cantidad de informacion que se almacena de cada clase del sistema, que es realmente impresionante en .NET.


Otra característica que hace interesante a .NET a los ojos de los desarrolladores de software libre es que, para sorpresa de todos, Microsoft ha publicado y entregado al ECMA, una organización que se dedica a aprobar estándares, las especificaciones de la plataforma .NET, de manera que cualquiera puede leerse dichas especificaciones y realizar su propia implementación. Si bien este movimiento Microsoft puede ser entendido como una estrategia para acallar las voces que les acusan de monopolio, el caso es que el tener un estándar público nos permite, a los desarrolladores de software libre, y gracias a Mono, tener acceso a esta novedosa plataforma de desarrollo. Por ello, vaya desde aquí nuestra felicitación a Microsoft por elegir el camino de los estándares abiertos y olvidarse de los protocolos/espe cificaciones/API ocultas. Esperemos que sigan con esta actitud a partir de ahora, pues es algo que será beneficioso para todos, tanto usuarios/desarrolladores de software libre como de software propietario.
Ademas, al ser una especificación pública, digamos que los desarrolladores de software libre estamos, de una forma u otra, obligados a soportarla en nuestros sistemas, como pasa con el resto de estándares (HTTP, FTP, POSIX,etc.), de forma que nuestro sistema operativo preferido siga siendo el mejor en el campo de la integración con otros sistemas, pues soporta todos y cada uno de los estándares mas comunes. Menos mal que los desarrolladores de Mono van a hacer este trabajo por nosotros, así que podemos dormir tranquilos.

PROYECTO MONO

Bien, pues ya sabemos mas o menos qué ofrece .NET. Ahora, la pregunta es, ¿por qué Miguel de Icaza, líder espiritual del proyecto GNOME, se embarca en un proyecto de esta magnitud en vez de continuar con el desarrollo de GNOME como hasta ahora?

La mejor respuesta a esta pregunta la podemos leer, de manos del propio Icaza, en el web del proyecto Mono, pero vamos a intentar explicarlo con nuestras propias palabras.
En primer lugar, hay que destacar que, como dice Miguel, Microsoft ha desarrollado toda esta nueva plataforma de desarrollo para resolver un problema que se les había presentado, que es la complejidad de las API (interfaces para programación de aplicaciones, es decir, las librerías de desarrollo disponibles en el sistema) a medida que van creciendo.

Ademas, aparte de la complejidad que van adquiriendo las librerías de desarrollo, principal mente debida a la imperiosa necesidad de ofrecer compatibilidad con versiones anteriores, se añade el hecho de que cada librería, cada funcionalidad del sistema, debe ser adaptada, de una forma u otra, a cada lenguaje de programación que se quiera soportar en el sistema.
Este es un poblema que se ha tratado de solucionar (y se ha solucionado en parte) dentro del
proyecto GNOME, donde la intención principal es la de ofrecer una plataforma de desarrollo multilenguaje, moderna y completa.
Hasta ahora, como decimos, este problema se ha solucionado en parte en el proyecto GNOME, gracias especialmente a desarrollo de un sistema para la definición de las distintas API, que puede ser utilizado para generar, casi automáticamente, soporte para otros lenguajes de programación de esas API Otra solucion implementada ha sido el uso de Bonobo, el sistema de componentes del pro yecto GNOME, que permite la comunicación entre distintas partes (procesos, componentes) independientemente del lenguaje de programación en el que estén desarrolladas.
El uso del sistema de generacion automática a partir de las API tiene el problema de que cada característica nueva con lleva el trabajo de actualizar el sistema de generacion automática, generar los distintos soportes para cada lenguaje y sacar nuevas versiones de mas librerías (en vez de una sola, la original), lo cual, como queda patente, acarrea mucho mas trabajo del que cabría esperar.
En cuanto a Bonobo, en parte soluciona el problema, permitiendo implementar una determinada característica en forma de componente, y da el acceso a dicha característica a cualquier programa que soporte Bonobo.
Pero al estar Bonobo basado en CORBA, no tiene sentido usarlo para algunas cosas sencillas como puede ser, por ejemplo, una simple librería de acceso al puerto serie. En ese caso, tiene mas sentido tener una librería simple y ligera que un componente ejecutándose en otro proceso, por razones obvias de rendimiento.
Así, como vemos, resulta que el problema que resuelve o intenta resolver Microsoft con su .NET es el mismo que, desde el año 1997, se intenta solucionar dentro del proyecto GNOME.

Esta es la razón principal por la que los desarrolladores de Mono, encabezados por Miguel de Icaza y Ximian, se han embarcado en este proyecto tras haber estudiado a fondo qué es .NET y comprobar que realmente es una plataforma digna de ser estudiada.


Pero, como comentábamos en la introducción, Mono no pretende implementar todas las partes de las que se compone .NET, simplemente hay interés en la plataforma de desarrollo. Mono, a día de hoy, se compone de las siguientes partes:
—Un compilador de C#, que está siendo desarrollado también en C#, y que ya es capaz de compilar programas simples como el famoso «Hola Mundo» o algunos algoritmos como el de Fibonacci, etc.
—El Sistema de Ejecución Virtual (VES), que contendrá un compilador JIT (Just-In-Time-Compiler), el recolector de memoria y el soporte para carga de ejecutables y para programas multihilo. Asimismo, se espera incluir un intérprete de código intermedio (CIL), de forma que pueda ser usado desde otros programas y permitir así que Mono sea portado a otros sistemas, o para dejar que programas de depuración y Analisis puedan acceder a las entrañas de la plataforma.
—Una implementación de la librería de clases de .NET, con algunos añadidos propios como un puente con Bonobo, el sistema de componentes usado en GNOME, una extensión de Windows.Forms (la jerarquía de clases de .NET para el desarrollo de aplicaciones con interfaz gráfica) a través de GTK# (una implementación de GTK+ en C#).
—Herramientas de desarrollo visuales como SharpDevelop, Visual Studio.NET, etc.
—Soporte en GCC (la familia de compiladores del proyecto GNU) para la generacion de CIL, de forma que cualquier programa compilado con cualquiera de los distintos lenguajes soportados por GCC (C, C++, Java, ObjectiveC) pueda ser ejecutado en el entorno de ejecución de Mono.
Todas estas partes, especialmente la librería de clases, se están desarrollando basándose en todo el trabajo realizado, desde 1997, como parte del proyecto GNOME. La reutilización de librerías ya hechas y ampliamente probadas va a permitir acelerar el desarrollo considerablemente, pues en caso con trario, empezar desde cero llevaría mucho
tiempo. Aparte, por supuesto, que el objetivo principal de Mono es solucionar los problemas ya mencionados del proyecto GNOME, a la vez que se brinda a los desarrolladores/usuarios de sistemas libres, como el caso de GNU/Linux, una nueva tecnología bastante interesante.
Entre las cosas que se van a reutilizar del proyecto GNOME podemos citar glib, una librería básica para cualquier programador de C; libxml, un analizador sintáctico de XML; GTK+, el toolkit que usan las aplicaciones GNOME para dibujar los distintos elementos graficos (botones, ventanas, etc.) de la interfaz gráfica y que se utilizará para la implementación de la jerarquía Windows.Forms de la librería de clases; GNOME-DB, que se emplea para la implementación de las partes de acceso a bases de datos, etc.
Toda esta reutilización es básica si no se quiere demorar el proyecto indefinidamente, aparte de que la intención es que Mono pueda ser usado para desarrollar aplicaciones para GNOME, permitiendo, por supuesto, que se introduzcan las modificaciones necesarias para hacerlo funcionar en otros entornos como KDE, por ejemplo, u otros sistemas operativos como Macintosh o cualquier otro.

OTROS PROYECTOS.

Una de las cosas a destacar del proyecto Mono es la velocidad con la que se está uniendo mas y mas gente para ayudar en el desarrollo, así como los proyectos que surgen en torno a la plataforma. Así, si ya son varias las personas que están colaborando en el desarrollo de las partes básicas (compilador, librería de clases, máquina virtual), han surgido algunos proyectos, como por ejemplo GTK#, una implementación de GTK+ en C#, que permitirá desarrollar aplicaciones GTK+ en C#.
Es notable destacar que el propio desarrollador de SharpDevelop (un entorno de desarrollo para .NET libre y que inicialmente estaba siendo desarrollado en Windows) ha encontrado en GTK# la solucion a sus problemas con las clases Windows.Forms de Microsoft. Esto se debe, como él mismo explica, a que el manejo de widgets (botones, ventanas, cajas de texto, etc.) en Microsoft Windows es bastante enrevesado y limita las posibilidades del programador.

En cambio, GTK+ es un toolkit sencillo de usar y que permite el acceso y manejo al mas bajo nivel de todos los widgets, así como la extensión mediante un sistema de clases bastante sencillo de los distintos widgets. Los problemas de Windows.Forms y las ventajas de GTK+ y, por consiguiente, de GTK#, le han convencido para tomar la decisión de usar GTK# para el desarrollo de SharpDevelop.
Este caso, como tantos otros de sobra conocidos (Apache, Samba, KDE/GNOME, etc.) demuestran que la comunidad de software libre no es sólo capaz de desarrollar los mismos productos que las empresas de software propietario, sino que en ocasiones incluso es capaz de superarlos, como en este caso GTK+, que es uno de los mejores toolkits para desarrollo de aplicaciones con interfaz gráfica que existen en la actualidad, y que supera de lejos al toolkit usado para desarrollar aplicaciones en Microsoft Windows.


Otros proyectos relacionados con Mono se están comentando abiertamente en la lista de correo de Mono (lista, por cierta, abierta a todo el mundo), aunque aún ninguno ha entrado en la fase de desarrollo, mas bien están en la fase de Analisis y estudio de lo que se va a hacer. Entre ellos destaca la implementación de las clases CPAN (un archivo de módulos para Perl realmente impresionante, con centenares de módulos para distintas cosas como acceso a BBDD, redes, etc.) en la librería de clases de Mono.
Todos estos proyectos que están naciendo alrededor de Mono demuestran el interés que se ha tomado la comunidad de software libre en este proyecto, al ver la cantidad de ventajas que puede traer esta plataforma a los sistemas operativos libres. Es de destacar también que incluso programadores que viene del mundo Windows se están uniendo al proyecto Mono, demostrando una vez mas que el desarrollo de software abierto y libre puede obtener resultados realmente impresionantes mucho mejores, en algunas ocasiones, a su equivalentes cerrados.

Con todo lo expuesto en este artículo hemos pretendido dar a conocer las intenciones de Mono, un proyecto libre y abierto que, si tiene exito, nos traerá a los desarrolladores de soft ware libre una plataforma de desarrollo realmente potente, a la vez que seguramente ayu dará a que muchos programadores de sistemas propietarios como Microsoft Windows se pasen, sin ningún esfuerzo, a sistemas operativos libres, pues podrian, gracias a la portabilidad de las aplicaciones .NET, ejecutar sus aplicaciones desarrolladas para .NET tanto en Windows como en cualquier otro sistema operativo en el que funcione Mono.

Esperamos que también sirva para que mas desarrolladores se unan al proyecto...

Rodrigo Moya / rodrigo@gnome-db.org

Diseņo Web y Hospedaje web

Calle Campo de cadillo 9923, Fracc. Campo Bello, Chihuahua,Chih. Mexico Tel 01 (614) 411-06-94 Cel (614) 234-54-83 WebMix Networks
Correo Electronico:contacto@web-mix.ws

Servidor Dedicado Celeron Dual Core, Servidor Dedicado Pentium 4 , Servidor Dedicado Core 2 Duo, Servidor Dedicado Dual Xeon "Irwindale", Servidor Dedicado 3200 "Kentsfield" , Servidor Dedicado 3440 Nehalem EN, Servidor Dedicado 5410 "Harpertown", Servidor Dedicado 5520 Nehalem EP ,Servidor Dedicado 5530 Nehalem EP, Servidor Dedicado 5570 Nehalem EX, Linux Servidor Dedicado,Operating System Linux, Servidor Dedicado, Fedora Core 8 (with Plesk 8.6), Linux Servidor Dedicado CentOS 5.3, Linux Servidor Dedicado SUSE 11.1, Linux Servidor Dedicado Mandriva, Linux Servidor Dedicado Red Hat Enterprise Edition 5 , Linux Servidor Dedicado Debian 5 Linux Servidor Dedicado GENTOO 2008 , Linux Servidor Dedicado Ubuntu Server Edition 8.04LTS, Linux Servidor Dedicado FreeBSD 7.1 (We know, we know – it’s Unix, but we had to put it somewhere) Windows Servidor Dedicado , Operating System Servidor Dedicado Windows 2008 Server , Servidor Dedicado Windows Server 2003 Servidor Dedicado Windows Small Business Server, Servidor Dedicado Windows Server 2003 Web Edition , Standard Edition , Enterprise Edition , Datacenter Edition Windows Compute Cluster Server , Windows Storage Server

Posicionamiento Web en buscadores y Diseņo web profesional optimizado para Google

© 2011 WebMix Networks. - Diseņo Web Chihuahua - Posicionamiento Web Chihuahua - Mantenimiento Web Chihuahua.

Webs Amigas: Posicionamiento Web Webmix Networks | Diseņo Web SEO Chihuahua | Diseņo Web Hosting Web Windows | Diseņo Web Hospedaje Web | Diseņador Web Flash Creativa | Posicionamiento Web Linux | Diseņo Web SEO | Diseņo Web Diseņo Web Pro | Diseņo Web Studio Web Flash | Diseņo Paginas Web Chihuahua XDR Formacion Web |Diseņo Web Crea webs | Diseņo Web Desarrollo Web | Diseņo Web PHP | Diseņo Web Html Soluciones Web | Posicionamiento Web Seo | Diseņo Web Flash Diprox | Diseņo Paginas Web Webpsilon | Diseņo Web Joomla Joomla Web| Diseņo Web Css Webstyle | Diseņo Web Grupo SGM | Programacion Web Inter Digital | Diseņo Web Flash Basicum | Diseņo Web Sitelicon | Diseņo Web Hosting Web Linux | Diseņo Grafico Logotipos Web | Diseņo Web Visual Tu empresa en Internet | Hosting Web y Diseņo Web Pro Design Web | Diseņo Web Chihuahua Profesionalnet | Hospedaje Web Hosting Web Pro | Diseņo Web Profesional WebMax | SEO MEXICO Division Seo Mexico | Diseņo Web Carton Webs | Diseņo Web America Internet