NetBeans es un entorno de
desarrollo integrado libre, hecho principalmente para el lenguaje de
programación Java. Existe además un número importante de módulos para
extenderlo. NetBeans IDE es un producto libre y gratuito sin
restricciones de uso.
NetBeans es un proyecto de código abierto
de gran éxito con una gran base de usuarios, una comunidad en constante
crecimiento, y con cerca de 100 socios en todo el mundo. Sun
MicroSystems fundó el proyecto de código abierto NetBeans en junio de
2000 y continúa siendo el patrocinador principal de los proyectos
(Actualmente Sun Microsystems es administrado por Oracle Corporation).
La plataforma NetBeans permite que las
aplicaciones sean desarrolladas a partir de un conjunto de componentes
de software llamados módulos. Un módulo es un archivo Java que contiene
clases de java escritas para interactuar con las APIs de NetBeans y un
archivo especial (manifest file) que lo identifica como módulo. Las
aplicaciones construidas a partir de módulos pueden ser extendidas
agregándole nuevos módulos. Debido a que los módulos pueden ser
desarrollados independientemente, las aplicaciones basadas en la
plataforma NetBeans pueden ser extendidas fácilmente por otros
desarrolladores de software.
El NetBeans IDE soporta el desarrollo de
todos los tipos de aplicación Java (J2SE, web, EJB y aplicaciones
móviles). Entre sus características se encuentra un sistema de proyectos
basado en Ant, control de versiones y refactoring.
El
NetBeans IDE soporta el desarrollo de todos los tipos de aplicación
Java (J2SE, web, EJB y aplicaciones móviles). Entre sus características
se encuentra un sistema de proyectos basado en Ant, control de versiones
y refactoring.
NetBeans IDE 6.5.2, la cual fue publicada
el 19 de noviembre de 2008, extiende las características existentes del
Java EE (incluyendo Soporte a Persistencia, EJB 3 y JAX-WS).
Adicionalmente, el NetBeans Enterprise Pack soporta el desarrollo de
Aplicaciones empresariales con Java EE 5, incluyendo herramientas de
desarrollo visuales de SOA, herramientas de esquemas XML, orientación a
web servicies (for BPEL), y modelado UML. El NetBeans C/C++ Pack soporta
proyectos de C/C++, mientras el PHP Pack, soporta PHP
Modularidad. Todas las funciones del IDE
son provistas por módulos. Cada módulo provee una función bien definida,
tales como el soporte de Java, edición, o soporte para el sistema de
control de versiones. NetBeans contiene todos los módulos necesarios
para el desarrollo de aplicaciones Java en una sola descarga,
permitiéndole al usuario comenzar a trabajar inmediatamente.
Sun Studio, Sun Java Studio Enterprise, y Sun Java Studio Creator de Sun Microsystems han sido todos basados en el IDE NetBeans.
Desde julio de 2006, NetBeans IDE es
licenciado bajo la Common Development and Distribution License (CDDL),
una licencia basada en la Mozilla Public License (MPL). En octubre de
2007, Sun anunció que NetBeans desde entonces se ofrecerá bajo
licenciamiento dual de Licencia CDDL y la GPL versión 2.
Eclipse es una plataforma
de software compuesto por un conjunto de herramientas de programación
de código abierto multiplataforma para desarrollar lo que el proyecto
llama “Aplicaciones de Cliente Enriquecido”, opuesto a las aplicaciones
“Cliente-liviano” basadas en navegadores.
Esta plataforma, típicamente ha sido usada
para desarrollar entornos de desarrollo integrados (del inglés IDE),
como el IDE de Java llamado Java Development Toolkit (JDT) y el
compilador (ECJ) que se entrega como parte de Eclipse (y que son usados
también para desarrollar el mismo Eclipse). Sin embargo, también se
puede usar para otros tipos de aplicaciones cliente, como BitTorrent o
Azureus.
Eclipse es también una comunidad de
usuarios, extendiendo constantemente las áreas de aplicación cubiertas.
Un ejemplo es el recientemente creado Eclipse Modeling Project,
cubriendo casi todas las áreas de Model Driven Engineering.
Eclipse
fue desarrollado originalmente por IBM como el sucesor de su familia de
herramientas para VisualAge. Eclipse es ahora desarrollado por la
Fundación Eclipse, una organización independiente sin ánimo de lucro que
fomenta una comunidad de código abierto y un conjunto de productos
complementarios, capacidades y servicios.
Eclipse fue liberado originalmente bajo la
Common Public License, pero después fue re-licenciado bajo la Eclipse
Public License. La Free Software Foundation ha dicho que ambas licencias
son licencias de software libre, pero son incompatibles con Licencia
pública general de GNU (GNU GPL).
ArquitecturaLa base para Eclipse es la
Plataforma de cliente enriquecido (del inglés Rich Client Platform RCP).
Los siguientes componentes constituyen la plataforma de cliente
enriquecido:
Pantalla de carga de Eclipse Luna
Plataforma principal – inicio de Eclipse, ejecución de plugins
OSGi – una plataforma para bundling estándar.
El Standard Widget Toolkit (SWT) – Un widget toolkit portable.
JFace – manejo de archivos, manejo de texto, editores de texto
El Workbench de Eclipse – vistas, editores, perspectivas, asistentes
Los widgets de Eclipse están
implementados por una herramienta de widget para Java llamada Standard
Widget Toolkit, a diferencia de la mayoría de las aplicaciones Java, que
usan las opciones estándar Abstract Window Toolkit (AWT) o Swing.
La interfaz de usuario de Eclipse también
tiene una capa GUI intermedia llamada JFace, la cual simplifica la
construcción de aplicaciones basadas en SWT.
El entorno de desarrollo integrado (IDE)
de Eclipse emplea módulos (en inglés plug-in) para proporcionar toda su
funcionalidad al frente de la plataforma de cliente enriquecido, a
diferencia de otros entornos monolíticos donde las funcionalidades están
todas incluidas, las necesite el usuario o no. Este mecanismo de
módulos es una plataforma ligera para componentes de software.
Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes
de programación como son C/C++ y Python, permite a Eclipse trabajar con
lenguajes para procesado de texto como LaTeX, aplicaciones en red como
Telnet y Sistema de gestión de base de datos. La arquitectura plugin
permite escribir cualquier extensión deseada en el ambiente, como sería
Gestión de la configuración. Se provee soporte para Java y CVS en el SDK
de Eclipse. Y no tiene por qué ser usado únicamente con estos
lenguajes, ya que soporta otros lenguajes de programación.
La
definición que da el proyecto Eclipse acerca de su software es: “una
especie de herramienta universal – un IDE abierto y extensible para todo
y nada en particular”.
Imagen de Eclipse trabajando con el lenguaje de programación Python
En cuanto a las aplicaciones clientes,
Eclipse provee al programador con frameworks muy ricos para el
desarrollo de aplicaciones gráficas, definición y manipulación de
modelos de software, aplicaciones web, etc. Por ejemplo, GEF (Graphic
Editing Framework – Framework para la edición gráfica) es un plugin de
Eclipse para el desarrollo de editores visuales que pueden ir desde
procesadores de texto wysiwyg hasta editores de diagramas UML,
interfaces gráficas para el usuario (GUI), etc. Dado que los editores
realizados con GEF “viven” dentro de Eclipse, además de poder ser usados
conjuntamente con otros plugins, hacen uso de su interfaz gráfica
personalizable y profesional.
El SDK de Eclipse incluye las herramientas
de desarrollo de Java, ofreciendo un IDE con un compilador de Java
interno y un modelo completo de los archivos fuente de Java. Esto
permite técnicas avanzadas de refactorización y análisis de código.
Mediante diversos plugins estas herramientas están también disponibles
para otros lenguajes como C/C++ (Eclipse CDT) y en la medida de lo
posible para lenguajes de script no tipados como PHP o Javascript. El
IDE también hace uso de un espacio de trabajo, en este caso un grupo de
metadatos en un espacio para archivos planos, permitiendo modificaciones
externas a los archivos en tanto.
Spring es un
framework para el desarrollo de aplicaciones y contenedor de inversión
de control, de código abierto para la plataforma Java.
Los primeros componentes de lo que se ha convertido en Spring Framework fueron escritos por Rod Johnson en el año 2000, mientras trabajaba como consultor independiente para sus clientes en la industria financiera en Londres. Mientras escribía el libro Expert One-on-one J2EE Design And Development (Programmer to programmer), Rod amplió su código para sintetizar su visión acerca de cómo las aplicaciones que trabajan con varias partes de la plataforma J2EE podían llegar a ser más simples y más consistentes que aquellas que los desarrolladores y compañías estaban usando por aquel entonces.
En el año 2001 los modelos dominantes de
programación para aplicaciones basadas en web eran ofrecidas por el API
Java Servlet y los Enterprise JavaBeans, ambas especificaciones creadas
por Sun Microsystems en colaboración con otros distribuidores y partes
interesadas que disfrutaban de gran popularidad en la comunidad Java.
Las aplicaciones que no eran basadas en web, como las aplicaciones
basadas en cliente o aplicaciones en batch, podían ser escritas con base
en herramientas y proyectos de código abierto o comerciales que
proveyeran las características requeridas para aquellos desarrollos.
Se formó un pequeño equipo de
desarrolladores que esperaba trabajar en extender el framework y un
proyecto fue creado en Sourceforge en febrero de 2003. Después de
trabajar en su desarrollo durante más de un año lanzaron una primera
versión (1.0) en marzo de 2004. Después de este lanzamiento Spring ganó
mucha popularidad en la comunidad Java, debido en parte al uso de
Javadoc y de una documentación de referencia por encima del promedio de
un proyecto de código abierto.
Sin
embargo, Spring Framework también fue duramente criticado en 2004 y
sigue siendo el tema de acalorados debates. Al tiempo en que se daba su
primer gran lanzamiento muchos desarrolladores y líderes de opinión
vieron a Spring como un gran paso con respecto al modelo de programación
tradicional; esto era especialmente cierto con respecto a Enterprise
JavaBeans. Una de las metas de diseño de Spring Framework es su
facilidad de integración con los estándares J2EE y herramientas
comerciales existentes. Esto quita en parte la necesidad de definir sus
características en un documento de especificación elaborado por un
comité oficial y que podría ser criticado.
Spring Framework comprende diversos módulos que proveen un rango de servicios:
Contenedor de inversión de control:
permite la configuración de los componentes de aplicación y la
administración del ciclo de vida de los objetos Java, se lleva a cabo
principalmente a través de la inyección de dependencias.
Programación orientada a aspectos: habilita la implementación de rutinas transversales.
Acceso a datos: se trabaja con RDBMS en la
plataforma java, usando Java Database Connectivity y herramientas de
Mapeo objeto relacional con bases de datos NoSQL.
Gestión de transacciones: unifica distintas APIs de gestión y coordina las transacciones para los objetos Java.
Modelo visto controlador: Un framework
basado en HTTP y servlets, que provee herramientas para la extensión y
personalización de aplicaciones web y servicios web REST.
Framework de acceso remoto: Permite la
importación y exportación estilo RPC, de objetos Java a través de redes
que soporten RMI, CORBA y protocolos basados en HTTP incluyendo
servicios web (SOAP).
Convención sobre Configuración: el módulo
Spring Roo ofrece una solución rápida para el desarrollo de aplicaciones
basadas en Spring Framework, privilegiando la simplicidad sin perder
flexibilidad.
Procesamiento
por lotes: un framework para procesamiento de mucho volumen que como
características incluye funciones de registro/trazado, manejo de
transacciones, estadísticas de procesamiento de tareas, reinicio de
tareas, y manejo de recursos.
Autenticación y Autorización: procesos de
seguridad configurables que soportan un rango de estándares, protocolos,
herramientas y prácticas a través del subproyecto Spring Security
(antiguamente Acegi).
Administración Remota: Configuración de visibilidad y gestión de objetos Java para la configuración local o remota vía JMX.
Mensajes: Registro configurable de objetos
receptores de mensajes, para el consumo transparente desde la a través
de JMS, una mejora del envío de mensajes sobre las API JMS estándar.
Intel XDK Es un kit
de desarrollo creada por Intel para crear aplicaciones nativas para los
teléfonos celulares y las tabletas que utilizan tecnologías de la web
como HTML5, CSS y Javascript.Las aplicaciones están compiladas vía
on-line en la plataforma Cordova para hacer aplicaciones
cross-platform. Está disponible para descargarse gratuitamente para
Windows, OS X y Linux (32-bit y 64-bit).
Las aplicaciones están compiladas vía
on-line en la plataforma Cordova para hacer aplicaciones
cross-platform. Está disponible para descargarse gratuitamente para
Windows, OS X y Linux (32-bit y 64-bit).
Características
Pistas de código
Conclusión de código
Emulador
Pruebas de dispositivo móvil vía Intel App Preview
Soporte de plugins Third Party
Soporte de plantillas
Drag-nDrop UI
Soporte para APIs de expansión de dispositivo
Soporte de plataforma móvil
iOS
Windows 8
Windows Phone 8
Chrome OS
Firefox OS
Tizen OS
Comentarios
Publicar un comentario