Uno de los factores más atractivos a la hora de desarrollar aplicaciones para sistemas de tipo GNU/Linux es la amplia gama de herramientas orientadas a tal objetivo.
Aunque realmente la filosofÃa de este tipo de herramientas no es centrarse en un determinado tipo de sistema operativo, sino introducir el concepto de aplicación multiplataforma, es decir, una aplicación que pueda lanzarse en cualquier sistema operativo. En este reportaje nos vamos a centrar en un conjunto de herramientas o marcos de trabajo de desarrollo de aplicaciones orientadas a ser empleadas en sistemas GNU/Linux.
En primer lugar nos vamos a centrar en Kdevelop. Esta herramienta de desarrollo se encuentra integrada dentro del proyecto del entorno de escritorio KDE y está orientada al desarrollo de aplicaciones para ser lanzadas en dicho entorno, haciendo uso de su librerÃa gráfica, Qt de Trolltech. Kdevelop no dispone de compilador propio, sino que hace uso del compilador gcc de Linux. Las aplicaciones desarrolla se codifican mediante C++ y se puede especificar en qué versión de KDE se desea que corran. La interfaz de usuario del entorno es muy atractiva y está bastante bien organizada. Como curiosidad decir que el propio entorno se desarrolló a partir de la versión anterior al mismo. Para desarrollar aplicaciones gráficas necesitaremos adjuntar al proyecto los ficheros obtenidos en el diseño mediante QT Designer.
Actualmente se está preparando el desarrollo de la versión nueva denominada HEAD.
Otra de las posibilidades es hacer uso de Anjuta, una herramienta para la codificación de aplicaciones en C y C++, lo que nos permite desarrollar software tanto para escritorios KDE como Gnome, o lo que es lo mismo, la herramienta es independiente del tipo de entorno de escritorio que estemos usando dentro de nuestra distribución Linux favorita. La herramienta, además, posee soporte para otros lenguajes tales como Perl y Java. Aunque si nunca nos ha gustado C ni C++ esto no es ningún obstáculo para no poder desarrollar aplicaciones en Linux. Gambas es un buen ejemplo de esto, un entorno gráfico de desarrollo para aplicaciones en Visual Basic.
Gambas es un entorno que, además de permitirnos desarrollar en Basic y VB, nos permite el acceso a bases de datos MySQL, PostgreSQL y SQLite además de desarrollar aplicaciones KDE y mediante OpenGL. La última versión de este producto es altamente recomendable, dado que las primeras atrajeron a múltiples desarrolladores que se encontraron con numerosas incidencias y bugs que, hoy por hoy, han sido solventados.
Otro entorno que no corrió la misma suerte, pero que fue todo un atractivo proyecto que, de haber sido exitoso podrÃa considerarse como toda una lección dentro de la filosofÃa de desarrollo multiplataforma, fue Borland Kylix. Kylix nos proporcionaba un clon al IDE de Borland, Borland C++ Builder y Borland Delphi. Con este entorno era posible desarrollar aplicaciones en los dos anteriormente citados IDE y migrarlos a Linux cambiando una serie de parámetros como, por ejemplo, la librerÃa de gráficos a emplear, se recompilaba y ya tenÃamos la aplicación desarrollada en un sistema Windows corriendo en Linux. La realidad fue que la cantidad de incidencias y fallos encontrados en la aplicación y en el proceso de migración congelaron el proyecto hasta que al final se dejó de lado y no se volvieron a sacar nuevas versiones del mismo, siendo la última la 3.0.
Una de las últimas y más vistosas alternativas ha sido la aparición de las wxWidgets. Esta librerÃa de interfaces de usuario multiplataforma permite a los programadores crear aplicaciones para Win31, Mac OS X, GTK+, X11, Motif, WinCE, y un largo etcétera. Son múltiples las aplicaciones actuales que se han montado con este sistema de librerÃas el cual nos brinda un consumo de recursos mÃnimo y muy óptimo.
El principal atractivo de todo este abanico de alternativas es la facilidad de aprendizaje de uso de las mismas dado que se basan en lenguajes de desarrollo comunes y muy bien estructurados.
Además de estas existe, actualmente, un IDE que encaja perfectamente dentro del desarrollo de sistemas para cualquier tipo de plataforma. Hablamos de Eclipse, desarrollado en Java y que no está especÃficamente orientado sólo al mundo Linux, sino a cualquier tipo de sistema. Eclipse es actualmente la apuesta más fuerte dado que se basa en Java y su organización es robusta y su desarrollo es continuo, además de fácilmente extensible, proporcionando a la comunidad de desarrolladores un sistema de enganche de plug-ins muy adecuado para poder adaptar el entorno a las necesidades de desarrollo sobre las que estemos trabajando.
También es destacable otro IDE que ha aparecido hace poco en el mercado y que también está basado en Java, nos referimos a Netbeans. Este nos proporciona un entorno de desarrollo de aplicaciones multiplataforma basada en este entorno en el que, de un plumazo, podemos crear auténticas obras de arte. El problema es que no se encuentra muy refinado su desarrollo teniendo problemas en determinadas opciones, como por ejemplo en el uso de CVS tipo Sourcesafe o en el refactoring de proyectos, problemas totalmente paliados en Eclipse que, hoy por hoy, es el número uno del mercado.
Comunmente para el desarrollo de aplicaciones bajo, y para sistemas Linux, se han empleado una metodologÃa, digamos artesanal, en lo que se refiere al desarrollo de un producto software. Asà pues, el uso de editores de texto como entornos ha sido una práctica que a dÃa de hoy aún se sigue empleando para el desarrollo de aplicaciones software. PodrÃamos englobar a dichos editores como herramientas de desarrollo. Por citar algunos, requieren una mención especial el editor emacs, el cual posee un innumerable sin fin de caracterÃsticas, o vi.
Pero, como sabemos, para el desarrollo de software no sólo necesitamos un entorno para programar, también necesitamos disponer de herramientas que nos permitan modelar diagramas UML o que nos gestionen procesos de desarrollo. Eclipse vuelve a sonar por aquà con Eclipse Process Framework como plug-in para definir procesos de metodologÃas de desarrollo software y para dibujar diagramas UML que mejor que Umbrello o Poseidon, dos fuertes alternativas a Microsoft Visio.
Con esto hemos definido un conjunto de herramientas que nos permitirán desarrollar aplicaciones software bajo entornos Linux y orientados a este sistema operativo, aunque sin olvidar la filosofÃa multiplataforma.
Si se desean conocer más posibilidades, invitamos a los lectores de MundoInformática a que se den una vuelta por la forja de software conocida como Sourceforge y disfruten de la cantidad de herramientas disponibles para este sistema operativo destinadas a la finalidad que hemos comentado, el desarrollo de aplicaciones para y bajo Linux.

Enlaces Patrocinados:
Otros Reportajes:
Tendencias vÃricas: Qué nos depara el futuro »
Entornos de escritorio: KDE vs. Gnome »










Estás en:


Estás en:
MundoInformática | Linux | Herramientas de desarrollo de aplicaciones para sistemas GNU/Linux: Alternativas de mercado

