Mostrando las entradas con la etiqueta mono. Mostrar todas las entradas
Mostrando las entradas con la etiqueta mono. Mostrar todas las entradas

martes, mayo 05, 2009

Alternativas a Visual Studio

Para aquellas personas habituadas al desarrollo de aplicaciones Microsoft (basadas en WinForms, ASP.Net o inclusive WPF, WWF, WCF) quisiera mostrarles las distintas alternativas que existen que les van a permitir seguir desarrollando en los lenguajes a los que están acostumbrados (C#, VB.Net, XAML) sin necesidad de pagar licencias de SO Windows ni de Visual Studio:

  • Monodevelop: Es un IDE liviano basado en GTK, trabaja con el framework Mono, no trabaja con .Net framework, hay binarios para la mayoria de las distribuciones GNU/Linux aunque para windows se puede generar desde los fuentes,editor visual de interfaces gráficas en GTK, soporte para aplicaciones ASP.Net.

  • SharpDevelop: Es un IDE extremadamente liviano, soporte .Net Framework y Mono, editor visual de interfaces gráficas en Windows Form y WPF, soporte para C#, VB.Net, Boo, F# e IronPython, soporte para ASP.Net, el instalador sólo pesa 14 MB en comparación con los casi 4 GB del Visual Studio de Microsoft, soporte para .Net 3.5 (WPF, WCF, WWF).

jueves, abril 23, 2009

¿Java, PHP o .Net (VB.Net/C#)?

Hoy en día estos 3 son considerados como "Los Grandes" y yo pienso que hay razón en decirlo, aprender uno de estos es una de las cosas que debemos hacer si queremos estar al día por unos 5 años más en el mundo del desarrollo de software, ahora bien, siempre nos planteamos la pregunta ¿cuál de ellos?, a lo que respondo como siempre lo hago: "depende!".
En mi opinión, sería ideal conocerlos todos y enfocarnos en uno o dos, ya que pienso que todos tienen sus ventajas, desventajas y propósitos diferentes:

  • PHP: Está diseñado para la programación web, en lo que es definitivamente uno de los lenguajes más utilizados en su área (por no decir el más utilizado), es rápido, versátil, multiplataforma, libre, gratis.

  • Java: es un lenguaje de propósito general (desktop, web, movil, etc), bien tipado, robusto, excelentes IDEs, muchísimos framewors, multiplataforma, gratis, libre.

  • .NET (VB.Net / C#):Multipropósito, no es multiplataforma (aunque el proyecto MONO está bastante avanzado, lo que nos permite usar C# u otros lenguajes en otras plataforma), bastantes frameworks, pocos IDEs la mayoría propietarios.

Cualquiera por el que se inclinen sumará bastantes puntos en su currículo y además garantizará su valor en el mercado actual, aunque viendo las características de cada uno, pienso que java lleva una ventaja significativa. Veamos un ejemplo:

Tenemos que desarrollar una aplicación web que gestione una agenda de contactos para ser usada por el departamento de ventas, por lo que decidimos -debido a la sencillez- del asunto usar PHP, realizamos el software y el personal del departamento antes mencionado empieza a utilizarlo. Con el pasar del tiempo la empresa crece, se crean nuevos departamentos e ingresa más personal, por lo que la demanda de la aplicación aumenta y sale un nuevo requerimiento: “El nuevo departamento de RRHH necesita acceder a la aplicación desde una interfaz Desktop (no veo la razón del porque esto, pero creanme que me ha pasado)”.

Viendo este requerimiento, y con la decisión que tomamos anteriormente nos vemos en la necesidad de realizar una nueva aplicación desktop que se conecte a la BBDD.

Si la opción seleccionada anteriormente hubiese sido Java o .Net, y asumiendo que la arquitectura de la aplicación está hecha en capas (como debe ser), la parte de la lógica de negocios la tuviéramos aislada de la presentación web, así como el acceso a los datos, por lo que sólo nos tocaría construir las nueva interfaz desktop. ;)