Editores de Texto vs. IDEs


Editores o IDEs ... esa es la cuestión!

Me preguntan sobre los Editores de Texto y los IDEs. ¿Cuál es la diferencia? ¿Cuál conviene usar? Por eso es que decidí crear un Post explicando las diferencias entre ellos. También voy a enumerar algunos Editores y algunos IDEs, describiendo sus ventajas. Pero ya basta de tanta "intro", ¡Pongámonos a contestar estas preguntas!

Antes que nada, para saber diferenciar entre unos y otros, antes tenemos que saber qué son los unos y qué los otros, ¿Verdad? Así que empecemos ... IDE es un Entorno de Desarrollo Integrado (de sus siglas en inglés 'Integrated Development Environment'). En pocas palabras, es un sistema preparado con todas las herramientas posibles necesarias para el desarrollo de software/web; conexiones a Bases de Datos, Inicio/Detención de Servidores de Aplicaciones, ejecución de código, ejecución en modo Debug, sólo por nombrar algunas de las herramientas. Los IDEs están pensados y diseñados para dar soporte y una alta gama de funciones y herramientas brindando comodidad al desarrollador, al tener todo lo necesario en un sólo lugar, un sólo programa. Desde la edición de código hasta la compilación, pasando por debugging y diseño; el IDE contiene todo lo necesario para empezar, desarrollar y terminar una aplicación completa, sin necesidad de utilizar ningún otro software.

Ahora bien, entonces, ¿Para qué usar un Editor de Texto? Si un IDE me ofrece todo y es muuucho más completo ... :S

Bueno, veamos un poco de historia ( :S ) No, no te asustes, no pongas esa cara; es una simple manera de decir :) ... El Editor de Texto, de ahora en más Editor (es más corto :P), comenzó como algo muy simple para poder visualizar código rápidamente y, de ser necesario, hacer algunas mínimas modificaciones o arreglos. Pero entonces, ¿Por qué son más usados los Editores que los IDEs? ¿De dónde salió todo esto? Pues, la respuesta es bien simple. Hay una gran diferencia entre los Editores y los IDEs, que ya vimos; pero hay otra gran diferencia oculta, que fue la que hizo que se prefiriera el Editor al IDE; y ésta fue que la curva de aprendizaje para utilizar un IDE, era muy superior a la del Editor. El Editor es mucho más simple y fácil de usar, se aprende mucho más rápido y tiene una más variada gama de lenguajes en los que codificar. Un IDE tiene una gama reducida de lenguajes, cuesta mucho más aprender a utilizarlo, puede "comer" un poco más de recursos, haciéndolo más lento. Además, para desarrollo web, no son tan necesarias las herramientas que incluye un IDE. Es por esto que se comenzó a mejorar a los Editores, y fueron evolucionando en las herramientas bastante completas que conocemos hoy en día.

Ok, entiendo. Pero ahora, ¿cuál uso entonces?

Bueno, no desesperéis ... Usar, puedes usar el que más te guste y con el que más cómodo te sientas. Después de todo, tu comodidad es lo más importante, ya que de ella dependerá, en gran parte, tu productividad. Yo, personalmente, para Desarrollo Web, siempre he usado Editores, me resultan mucho más rápidos, simples y fáciles; además, para web, no me son necesarias más de la mitad de las herramientas que trae un IDE. Ahora, para Desarrollo de Software, siempre me tiré más a usar un IDE, me resultan mucho más cómodos y, en este caso sí, uso las herramientas incluídas. Pero cada uno tiene que probar por sí mismo. Lo que te recomiendo es que descargues Editores y IDEs y empieces a probar ambos, siempre recordando que el IDE tiene una curva de aprendizaje mayor, por lo cual va a tomar más tiempo aprenderlo.

Ahora que ya hemos visto que es uno y el otro, y sus diferencias y el porqué de las cosas; ya estás casi listo para tomar una decisión informada :). Vamos a ver algunos IDEs y algunos Editores para que los conozcas y puedas decidirte por alguno de ellos. Estos son sólo algunos de la interminable lista que hay disponible. Empecemos por los IDEs.


IDEs

Hay varios muchos montones de IDEs, para muchos lenguajes diferentes. Así que voy a enumerar sólo algunos. Si te interesa saber de alguno en especial, me lo puedes dejar en los comentarios y prepararé un Post ;).



NETBEANS IDE - NetBeans IDE es un entorno de desarrollo visual de código abierto para aplicaciones programadas mediante Java, uno de los lenguajes de programación más poderosos del momento.

Su aprendizaje se ha convertido en fundamental para quienes están interesados en el desarrollo de aplicaciones multiplataforma.

No importa que la máquina donde se instale sea un Linux, un Mac o un Windows, pues el funcionamiento del programa creado será igual.

Mediante NetBeans es posible diseñar aplicaciones con solo arrastrar y soltar objetos sobre la interfaz de un formulario. Si ya te familiarizaste con entornos como .NET no te costará trabajo aprender los nuevos JLabels, JButtons o JTextFields.

Con NetBeans IDE no solo es posible elaborar potentes aplicaciones para el Escritorio, también para la Web y para dispositivos portatiles, como móviles o Pocket PC, sin que cambie la forma de programar.

La programación mediante NetBeans se realiza a través de componentes de software modulares, también llamados módulos.

NetBeans pone a disposición de los usuarios decenas de módulos a través de su página web, que podrás integrar en él para conseguir mejores aplicaciones.



ECLIPSE IDE - Eclipse es un entorno de desarrollo integrado de aplicaciones de código abierto y multiplataforma, cuyo uso principal es el de servir como plataforma de programación, compilación y depurado para un sinfín de lenguajes de programación. Aunque su función más extendida es la de servir para programar en Java, su modularidad permite ampliar su conjunto de herramientas para servir como base de programación en C o Python entre muchos otros.

Su framework o entorno de desarrollo es claro y se divide en varias ventanas de representación diferentes con un alto grado de personalización. Además, aunque su editor de código dispone de herramientas de depuración y análisis de errores integrado, también permite trabajar con vistas previas de los proyectos, por lo que por ejemplo, podremos ver cómo se visualiza nuestra aplicación en Java sin tener que compilar y lanzar la aplicación.

La versión Eclipse Standard incluye el IDE de desarrollo de Java, así como sus Development Tools (JDT), plugins necesarios para programar en este lenguaje.



MICROSOFT VISUAL STUDIO IDE - Visual Studio es el entorno de desarrollo integrado oficial de Microsoft, un IDE de propósito general que permite implementar, testear y compilar todo tipo de aplicaciones y proyectos web, con el aliciente de soportar una gran cantidad de lenguajes de programación y plataformas de salida, ya sean programas de escritorio, aplicaciones web, servicios basados en la nube o apps móviles.

Permite trabajar con C++, Python, HTML5 y JavaScript, así como los lenguajes estandarizados por Microsoft C Sharp, Visual Basic y F Sharp. Además, dispone de varias herramientas de apoyo en desarrollo web para el framework ASP.NET y Node.js. En cuanto al entorno en sí, incluye todo tipo de herramientas de detección de código, sangriado y autocompletado, así como opciones de depuración.

Su carácter multiplataforma permite crear tanto proyectos web como aplicaciones para smartphones o tablets en sistemas iOS, Windows Phone y Android. De hecho, las últimas versiones de Visual Studio incluyen un emulador para el sistema operativo de Google para probar en dispositivos virtuales nuestras creaciones. Evidentemente, también permite conectar dispositivos físicos para el testeo, todo ello fácilmente configurable desde su asistente de instalación que permite integrar el SDK que necesitemos.

Visual Studio Community tiene todas las características de la edición comercial Professional y permite crear todo tipo de proyectos, ya sean libres o comerciales. El único requisito es su limitación de uso en entornos no-empresariales para equipos de hasta cinco personas. Por lo demás, su licencia de uso es completamente gratuita y permite instalar las más de 1.500 extensiones que aumentan más si cabe las funcionalidades de la herramienta.



CODE:BLOCKS - Code Blocks es una opción excelente para programar en C . Constituye un entorno integrado de desarrollo multiplataforma y de código abierto que soporta la utilización de múltiples compiladores, entre ellos: GCC (MingW / GNU GCC), MSVC , Digital Mars, Borland C 5.5 u Open Watcom. El compilador que viene por defecto con este paquete de Code Blocks es MinGW.

Las funciones de Code Blocks se pueden ampliar mediante la utilización de plugins, posee un rápido sistema de construcción personalizado que no necesita la presencia de makefiles y que permite realizar construcciones paralelas en equipos con una CPU de varios núcleos.

El depurador de Code Blocks soporta la aplicación de puntos de ruptura sobre el código fuente o sobre los datos que maneja el programa, así como el establecimiento de condiciones y contadores para dichos puntos de ruptura. También es posible crear inspecciones definidas por el usuario. Los volcados de memoria personalizados son otra característica que merece la pena destacar.

Por último, Code Blocks colorea la sintaxis del código fuente, incluye la función de agrupación de código o 'code folding' para los lenguajes C y XML, posee una interfaz con pestañas, cuenta con un explorador de clases y una función para completar el código fuente.



APTANA STUDIO 3 - Aptana Studio es un entorno integrado de desarrollo para la elaboración de aplicaciones web dinámicas que empleen PHP, Ruby, Ruby on Rails y Python. Cuenta con módulos que permiten utilizarlo para crear programas mediante la tecnología Adobe Air y utilidades para el iPhone.

Su integración con dos nuevas herramientas de Aptana amplían sus posibilidades casi al infinito. Estas son Aptana Jaxer, un servidor AJAX, y Aptana Cloud, un servicio de hosting complementario.

Aptana Studio posee un asistente de código que ayuda al programador en la escritura de los diferentes lenguajes, CSS y Javascript entre ellos. En el caso del HTML, puede mostrar todas los elementos pertenecientes a este lenguaje y sus propiedades.

Aptana Studio contiene también información de soporte para los principales navegadores web: IE, Firefox, Opera, Netscape y Safari.

Otras características interesantes de Aptana son las siguientes:
- Explorador de código en forma de árbol.
- Librerías populares AJAX/Javascript.
- Extensión de funcionalidad mediante macros y acciones.
- Visor de errores y advertencias.
- Servidor local para probar el código.


Editores de Texto.


NOTEPAD++ - NotePad Plus Plus es un completo editor de texto plano para suplir en todos los aspectos al Bloc de notas tradicional. Además de trabajar con texto sin formato, puede ser utilizado como editor de código para programadores compatible con más de 50 lenguajes.

Es capaz de detectar y trabajar con la sintaxis de muchos lenguajes de programación, y es totalmente personalizable, pudiendo modificar el estilo para cada lenguaje soportado: color, tipo, tamaño y estilo de fuente para las palabras reservadas.

Permite visualizar y trabajar varios documentos al mismo tiempo desde varias pestañas e incluso modificar simultáneamente varias vistas de un mismo archivo. La modificación del documento en una vista quedará reflejada también en la otra. También soporta búsquedas de palabras o frases usando expresiones regulares.

Entre algunos de los lenguajes soportados están C, Java, XML, HTML, PHP, Java Script, archivo de recursos RC, makefile, archivo ASCII art, doxygen, archivo ini, ASP, archivos VB/VBS, SQL, Objective-C, CSS, Pascal, Perl o Python. Cada uno de ellos cuenta con su propio sistema de visualización que el programa aprovecha para sugerir expresiones de autocompletado o permitir el compactado de trozos de código entre corchetes.



ATOM - GitHub es una de las mayores comunidades de desarrollo de software que existen en Internet. Atom es un editor de texto Open Source que puede utilizarse como IDE para un sinfín de lenguaje de programación y cuyas competencias pueden ampliarse enormemente gracias al soporte continuado de la comunidad.

Incluye todas las características que se le pueden pedir a un editor de código como el resaltado de sintaxis, autodetección de lenguajes, sistema de autocompletado contextual, la posibilidad de utilizar varios paneles, organizar nuestro proyecto en carpetas, soporte para snippets y un potente buscador. Su mayor potencial, de todas formas, es la modularidad de su entorno a la hora de instalar paquetes que añadan más características si caben al entorno. Huelga decir que se incluye el sistema de control de versiones Git para publicar en la propia plataforma GitHub.

Atom es multiplataforma (Windows, Linux y Mac), y permite un uso cross-platform para nuestros proyectos. Su personalización es la mayor baza: En el momento de escribir esta resseña ya existen más de 2000 paquetes y 600 temas, por que dado el grado de personalización de la herramienta y la cantidad de características incluidas por defecto estamos ante uno de los mejores entornos de desarrollo que podemos encontrar con el aliciente de resultar más liviano que otras alternativas similares.



VS CODE - GitHub es una de las mayores comunidades de desarrollo de software que existen en Internet. Atom es un editor de texto Open Source que puede utilizarse como IDE para un sinfín de lenguaje de programación y cuyas competencias pueden ampliarse enormemente gracias al soporte continuado de la comunidad.

Incluye todas las características que se le pueden pedir a un editor de código como el resaltado de sintaxis, autodetección de lenguajes, sistema de autocompletado contextual, la posibilidad de utilizar varios paneles, organizar nuestro proyecto en carpetas, soporte para snippets y un potente buscador. Su mayor potencial, de todas formas, es la modularidad de su entorno a la hora de instalar paquetes que añadan más características si caben al entorno. Huelga decir que se incluye el sistema de control de versiones Git para publicar en la propia plataforma GitHub.

Atom es multiplataforma (Windows, Linux y Mac), y permite un uso cross-platform para nuestros proyectos. Su personalización es la mayor baza: En el momento de escribir esta resseña ya existen más de 2000 paquetes y 600 temas, por que dado el grado de personalización de la herramienta y la cantidad de características incluidas por defecto estamos ante uno de los mejores entornos de desarrollo que podemos encontrar con el aliciente de resultar más liviano que otras alternativas similares.



SUBLIME TEXT - Un editor de texto avanzado para programadores, multiplataforma. Aunque es bastante espartano lo cierto es que todo el que invierte tiempo en aprender a dominarlo luego no lo quiere dejar, ya que aumenta mucho la productividad a la hora de escribir código. No ofrece muchas de las características de ayuda al programador web que sí ofrecen la mayoría de los otros entornos, por lo que es recomendable sobre todo si vamos a trabajar mucho directamente con código, especialmente JavaScript. Lo podemos descargar y utilizar gratuitamente, pero si lo vamos a usar a menudo para trabajar sus creadores nos solicitan que les paguemos una licencia.

Para finalizar, si tienes algún tema en mente del que te gustaría que hable; por favor, házmelo saber en los comentarios y con gusto lo prepararé. No olvides suscribirte al Blog y seguirme en las Redes Sociales disponibles más abajo.

Deja tu comentario, dejame saber qué te pareció el Post.


Agustín Palisa - Desarrollador Web
</H7>Computación.

Sígueme!

Comentarios

Entradas populares de este blog

Curso de Angular 4 Recomendado

Framework ¿Qué es? ¿Para qué sirve?

React.JS ¿Qué es? y ¿Para qué sirve?