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.
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.
NetBeans comenzó como un proyecto estudiantil en Republica Checa (originalmente llamado Xelfi), en 1996 bajo la tutoría de la Facultad de Matemáticas y Física en la Universidad Carolina en Praga. La meta era escribir un entorno de desarrollo integrado (IDE) para Java parecida a la de Delphi. Xelfi fue el primer entorno de desarrollo integrado escrito en Java, con su primer pre-release en 1997.
Xelfi fue un proyecto divertido para trabajar, ya que las IDEs escritas en Java eran un territorio desconocido en esa época. El proyecto atrajo suficiente interés, por lo que los estudiantes, después de graduarse, decidieron que lo podían convertir en un proyecto comercial. Prestando espacios web de amigos y familiares, formaron una compañía alrededor de esto. Casi todos ellos siguen trabajando en NetBeans.
Tiempo después, fueron contactados por Roman Stanek, un empresario que ya había estado relacionado con varias iniciativas en la Republica Checa. Estaba buscando una buena idea en la que invertir, y encontró en Xelfi una buena oportunidad. Así, tras una reunión, el negocio surgió.
El plan original era desarrollar unos componentes JavaBeans para redes. Jarda Tulach, quien diseñó la arquitectura básica de la IDE, propuso la idea de llamarlo NetBeans, a fin de describir este propósito. Cuando las especificaciones de los Enterprise JavaBeans salieron, decidieron trabajar con este estándar, ya que no tenía sentido competir contra él, sin embargo permaneció el nombre de NetBeans.
En la primavera de 1999, Netbeans DeveloperX2 fue lanzado, soportando Swing. Las mejoras de rendimiento que llegaron con el JDK 1.3, lanzado en otoño de 1999, hicieron de NetBeans una alternativa realmente viable para el desarrollo de herramientas. En el verano de 1999, el equipo trabajó duro para rediseñar DeveloperX2 en un NetBeans más modular, lo que lo convirtió en la base de NetBeans hoy en día.
Algo más ocurrió en el verano de 1999. Sun Microsystems quería una herramienta mejor de desarrollo en Java, y comenzó a estar interesado en NetBeans. En otoño de 1999, con la nueva generación de NetBeans en Beta, se llegaría a un acuerdo.
Sun adquirió otra compañía de herramientas al mismo tiempo, Forté, y decidió renombrar NetBeans a Forté for Java. El nombre de NetBeans desapareció por un tiempo.
Seis meses después, se tomó la decisión de hacer a NetBeans open source. Mientras que Sun había contribuido considerablemente con líneas de código en varios proyectos de código abierto a través de los años, NetBeans se convirtió en el primer proyecto de código abierto patrocinado por ellos. En Junio del 2000 NetBeans.org fue lanzado.
Fuente: Breve historia de NetBeans (en inglés)
Un proyecto de código abierto no es nada más ni nada menos que un proceso. Toma tiempo encontrar el equilibrio. El primer año, fue crucial como inicio. Los dos años siguientes, se orientó hacia código abierto. Como muestra de lo abierto que era, en los primeros dos años había más debate que implementación.
Con NetBeans 3.5 se mejoró enormemente en desempeño, y con la llegada de NetBeans 3.6, se reimplementó el sistema de ventanas y la hoja de propiedades, y se limpió enormemente la interfaz. NetBeans 4.0 fue un gran cambio en cuanto a la forma de funcionar del IDE, con nuevos sistemas de proyectos, con el cambio no solo de la experiencia de usuario, sino del reemplazo de muchas piezas de la infraestructura que había tenido NetBeans anteriormente. NetBeans IDE 5.0 introdujo un soporte mucho mejor para el desarrollo de nuevos módulos, el nuevo constructor intuitivo de interfaces Matisse, un nuevo y rediseñado soporte de CVS, soporte a Sun ApplicationServer 8.2, Weblogic9 y JBoss 4.
Con Netbeans 6.01 y 6.5 Se dio soporte a frameworks comerciales como son Struts, Hibernate.
Durante el desarrollo del NetBeans IDE ocurrió una cosa interesante. La gente empezó a construir aplicaciones usando el NetBeans core runtime con sus propios plug-ins, de hecho, esto se convirtió en un mercado bastante grande.
La Plataforma NetBeans es una base modular y extensible usada como una estructura de integración para crear aplicaciones de escritorio grandes. Empresas independientes asociadas, especializadas en desarrollo de software, proporcionan extensiones adicionales que se integran fácilmente en la plataforma y que pueden también utilizarse para desarrollar sus propias herramientas y soluciones.
La plataforma ofrece servicios comunes a las aplicaciones de escritorio, permitiéndole al desarrollador enfocarse en la lógica específica de su aplicación. Entre las características de la plataforma están:
El IDE NetBeans es un IDE - una herramienta para programadores pensada para escribir, compilar, depurar y ejecutar programas. Está escrito en Java - pero puede servir para cualquier otro lenguaje de programación. Existe además un número importante de módulos para extender el IDE NetBeans. El IDE NetBeans es un producto libre y gratuito sin restricciones de uso.
El NetBeans IDE es un IDE de código abierto escrito completamente en Java usando la plataforma NetBeans. 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, la cual fue lanzada 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 5.
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).
Netbeans 5.5.1 con el C/C++ Native Development Module ejecutando un programa escrito en C++ bajo . Estos son los paquetes adicionales de NetBeans (algunos pueden ser descargados individualmente).
Provee Soporte para la creación de aplicaciones Orientadas a Servicios (SOA), incluyendo herramientas de esquemas XML, un editor WSDL, y un editor BPEL para web services.. Pack de Movilidad de NetBeans
El Pack de Movilidad de NetBeans es una herramienta para desarrollar aplicaciones que se ejecutan en teléfonos móviles
El Pack de Movilidad puede ser usado para escribir, probar, y depurar aplicaciones para la plataforma Java ME, tecnología existente en dispositivos móviles. Profiler de NetBeans
El Profiler de NetBeans es una herramienta para la optimización de aplicaciones Java: Ayuda a encontrar cuellos de botella en la memoria y a optimizar la velocidad de las aplicaciones. El C/C++ Native Development Module
Soporta proyectos de C/C++. más información http://www.netbeans.org/kb/55/1/cnd-index.html El Visual Web Pack
Permite rápida y visualmente, construir aplicaciones web estándar, incluyendo Soporte para AJAX y componentes JSF. Ruby
Posee facilidades para el desarrollo de aplicaciones en ruby y ruby on rails, con mejoras sobresalientes en las nuevas versiones del IDE. PHP
NetBeans permite crear aplicaciones Web con PHP 5, un potente debugger integrado y además viene con soporte para Symfony un gran framework MVC escrito en php. Al tener también soporte para AJAX, cada vez más desarrolladores de aplicaciones LAMP o WAMP, están utilizando NetBeans como IDE. Python
NetBeans permite crear aplicaciones con python ya que posee un motor para escribir (resaltando la sintaxis), identificar errores y el debugger. Sin duda alguna, netbeans se ha convertido en un IDE apto para la mayoría de los lenguajes de programación opensource modernos. También se estima que dará para soporte GUI para varias librerías gráficas como son PyQt y GTK. Se espera que salga una versión con motor para soporte para Jython, con acceso a todos las librerías de java e incluyendo soporte para Swing y también para las librerías gráficas de python que ya mencionamos. Versiones Versiones NetBeans Versión Fecha de Lanzamiento NetBeans 6.8 10 de diciembre de 2009 NetBeans 6.7.1 27 de julio de 2009 NetBeans 6.7 29 de junio de 2009 NetBeans 6.5 Noviembre 25 de 2008 NetBeans 6.1 Abril 28 de 2008 NetBeans 6.0 Diciembre 3 de 2007 NetBeans 5.5.1 Mayo 24 de 2007 NetBeans 5.5 Octubre 30 de 2006 NetBeans 5.0 Enero de 2006 NetBeans 4.1 Mayo de 2005 NetBeans 4.0 Diciembre de 2004 NetBeans 3.6 Abril de 2004 NetBeans 3.5 Junio de 2003 Radiografía
Los datos mencionados a continuación se obtuvieron usando 'SLOCCount' de David A. Wheeler's.
El NetBeans IDE 6.1 contiene aproximadamente 1.990.915 líneas de código de las cuales el 99.19% son de Java. El esfuerzo para producir un software de este tamaño según el modelo COCOMO es de aproximadamente 582 persona / año. Lenguajes de programación utilizados en NetBeans IDE 6.1 Lenguaje Líneas De Código % JAVA 1.974.732 99,19% JSP 7.917 0.40% Haskell 3.138 0,16% CPP 1.761 0.09% Yacc 1.123 0,06% Sh 1.080 0,05% Lex 506 0,03% Perl 350 0,02% Objc 288 0,01% Ansic 20 0,00%
Estado actual de NetBeans IDE 6.1 Página Web http://www.netbeans.org/ Inicio Del Proyecto 1999 Versión Actual 6.8 10 de diciembre de 2009 Líneas De Código Fuente 1.990.915 Esfuerzo estimado de desarrollo (persona-año / persona-mes) 582,15 / 6.985,81 Estimación de tiempo (años-meses) 6,02 / 72,23 Estimación del nº de desarrolladores en paralelo 96,71 Estimación de coste $ 78.640.629 (Salario promedio $56,286/año con unos costos extras de 2,40)