NetBeans

From Wikipedia, the free encyclopedia

Jump to: navigation, search
NetBeans IDE
Developed by Sun Microsystems
Latest release 6.5 / 19 November 2008; 30 days ago
Written in Java
OS Cross-platform
Available in Multilingual
Type Java IDE
License CDDL or GPL2 + "certain source files" allow classpath exception
Website www.netbeans.org

NetBeans refers to both a platform for the development of applications for the network (using perl, php, python, ruby, java, c and c++), and an integrated development environment (IDE) developed using the NetBeans Platform.

The NetBeans Platform allows applications to be developed from a set of modular software components called modules. A module is a Java archive file that contains Java classes written to interact with the NetBeans Open APIs and a manifest file that identifies it as a module. Applications built on modules can be extended by adding new modules. Since modules can be developed independently, applications based on the NetBeans platform can be extended by third party developers.[1]

Contents

[edit] History

[edit] Early history

NetBeans began in 1997 as Xelfi[2][3], a student project under the guidance of the Faculty of Mathematics and Physics at Charles University in Prague. Roman Stanek later formed a company around the project and produced commercial versions of the NetBeans IDE until it was bought by Sun Microsystems in 1999. Sun open-sourced the NetBeans IDE in June of the following year. The NetBeans community has since continued to grow, thanks to individuals and companies using and contributing to the project.[4]

[edit] Current versions

NetBeans IDE 6.1 extended the existing Java EE features (including Java Persistence support, EJB 3 and JAX-WS). Additionally, the NetBeans Enterprise Pack supports development of Java EE 5 enterprise applications, including SOA visual design tools, XML schema tools, web services orchestration (for BPEL), and UML modeling. The NetBeans C/C++ Pack supports C/C++ projects.

NetBeans IDE 6.0 builds upon the previous version 5.5.1, which introduced comprehensive support for developing IDE modules and rich client applications based on the NetBeans platform, a new GUI builder (formerly known as "Project Matisse"), new and redesigned CVS support, Weblogic 9 and JBoss 4 support, and many editor enhancements. NetBeans 6.0 is being delivered as part of the Ubuntu 8.04 and the Debian Linux distributions[5].

The current development version is NetBeans IDE 6.5, which was released in November 2008.

[edit] The NetBeans Platform

The NetBeans Platform is a reusable framework for simplifying the development of other desktop applications. When an application based on the NetBeans Platform is run, the platform's Main class is executed. Available modules are located, placed in an in-memory registry, and the modules' startup tasks are executed. Generally, a module's code is loaded into memory only as it is needed.

Applications can install modules dynamically. Any application can include the Update Center module to allow users of the application to download digitally-signed upgrades and new features directly into the running application. Reinstalling an upgrade or a new release does not force users to download the entire application again.

The platform offers services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are:

  • User interface management (e.g. menus and toolbars)
  • User settings management
  • Storage management (saving and loading any kind of data)
  • Window management
  • Wizard framework (supports step-by-step dialogs)

[edit] The NetBeans IDE

The NetBeans IDE is an open-source integrated development environment written entirely in Java using the NetBeans Platform. NetBeans IDE supports development of all Java application types (J2SE, web, EJB and mobile applications) out of the box. Among other features are an Ant-based project system, version control and refactoring.

Modularity: All the functions of the IDE are provided by modules. Each module provides a well defined function, such as support for the Java language, editing, or support for the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended. New features, such as support for other programming languages, can be added by installing additional modules. For instance, Sun Studio, Sun Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based on the NetBeans IDE.

License: From July 2006 through 2007, NetBeans IDE was licensed under Sun's Common Development and Distribution License (CDDL), a license based on the Mozilla Public License (MPL). In October 2007, Sun announced that NetBeans would henceforth be offered under a dual license of the CDDL and the GPL version 2 licences, with the GPL linking exception for GNU Classpath[6]

[edit] NetBeans integrated modules

These modules are part of the core Netbeans IDE.

[edit] NetBeans Profiler

The NetBeans Profiler[7] is a tool for the monitoring of Java applications: It helps you find memory leaks and optimize speed. Formerly downloaded separately, it is integrated into the core IDE since version 6.0.

The Profiler is based on a Sun Laboratories research project that was named JFluid. That research uncovered specific techniques that can be used to lower the overhead of profiling a Java application. One of those techniques is dynamic bytecode instrumentation, which is particularly useful for profiling large Java applications. Using dynamic bytecode instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime information on applications that are too large or complex for other profilers. NetBeans also support Profiling Points that let you profile precise points of execution and measure execution time.

[edit] GUI design tool

Formerly known as project Matisse, the GUI design-tool enables developers to prototype and design Swing GUIs by dragging and positioning GUI components [8].

The GUI builder has also built-in support for JSR 296 (Swing Application Framework), and JSR 295 (Beans Binding technology).

[edit] NetBeans JavaScript Editor

NetBeans JavaScript Editor provides extended support for Javascript and CSS[9][10].

Features comprise:

  1. JavaScript editor:
  2. CSS editor:
    • code completion for styles names,
    • quick navigation through the navigator panel,
    • display CSS rule declaration in a List View,
    • display file structure in a Tree View,
    • sort the outline view by name, type or declaration order (List & Tree),
    • create rule declaration (Tree only),
    • refactor a part of a rule name (Tree only).

[edit] NetBeans IDE Download Bundles

Users can choose to download NetBeans IDE bundles tailored to specific development needs. With the exception of the NetBeans IDE 6.1 Early Access for PHP bundle, users can download and install all other features at a later date directly through the NetBeans IDE.

[edit] NetBeans IDE Bundle for Web & Java EE

The NetBeans IDE Bundle for Web & Java EE[11] provides tools for building all Java EE components, including Enterprise Java Beans (EJBs), web pages, servlets, and web services.

The bundle also includes an easy and intuitive drag and drop interface for developers to create rich UIs for web development. These components are based on JSF and help in easy development for user interfaces. This visual web pack is considered to be a much better and improved version with a lot of good features compared to the previous releases of Sun Java Studio Creator.

The source code for the UI component set is also open source and available for download at: https://woodstock.dev.java.net/

[edit] NetBeans IDE Bundle for Ruby

The NetBeans IDE Bundle for Ruby[12] includes a Ruby editor (with code completion), debugger, and full support for Rails. Includes the JRuby runtime. Supports Ruby and JRuby, as well as Rails for these two implementations of Ruby [1] [2].

The bundle for Ruby includes:

  • basic editing,
  • syntax highlighting for Ruby
  • code completion,
  • occurrence highlighting,
  • integrated documentation pop-ups for Ruby API calls,
  • semantic analysis with highlighting of parameters and unused local variables,
  • Ruby code debugging.

It is also possible to create directly Ruby projects or Ruby on Rails projects, using the reference Ruby implementation, or using JRuby (the Java implementation of Ruby).

[edit] NetBeans IDE Bundle for Mobility

The NetBeans IDE Bundle for Mobility [3] is a tool for developing applications that run on mobile devices; generally mobile phones, but this also includes entry-level PDAs, among others.

The Mobility Pack can be used to write, test, and debug applications for the Java Micro Edition platform (Java ME platform) technology-enabled mobile devices. It integrates support for the Mobile Information Device Profile (MIDP) 2.0, the Connected Limited Device Configuration (CLDC) 1.1, and Connected Device Configuration (CDC). One can easily integrate third-party emulators for a robust testing environment. Currently, the pack is available as two separate clusters, one covering CDC and the other, CLDC devices.

[edit] NetBeans IDE Bundle for C/C++

Netbeans 6.5 Beta 1 debugging a C++ application with NetBeans C/C++ Pack & The Cygwin Compiler, In Microsoft Windows XP.

The NetBeans IDE Bundle for C/C++[13] adds support for C/C++ developers to NetBeans IDE 5.5.

This pack lets C/C++ developers use their specified set of compilers and tools in conjunction with NetBeans IDE to build native applications for e.g. MS Windows, Mac OS X, Linux, and Solaris. The pack makes the editor language-aware for C/C++, and provides project templates, a dynamic class browser, make file support, and debugger functionality. Developers can also extend the pack with their own additional functionalities. The NetBeans C/C++ bundle does not include a C/C++ compiler. However, Sun Microsystems has a page with instructions on how to install a free GNU C/C++ Compiler.

[edit] NetBeans IDE Bundle for PHP

On August 18th 2008, Sun Microsystems released Netbeans 6.5 Beta, with support for PHP editing and debugging. On October 29, this was updated to RC1.

[edit] NetBeans IDE Complete Bundle

Sun Microsystems also releases a Version of NetBeans that include all of the features of the above bundles. This Includes:

  • NetBeans Base IDE
  • Java SE
  • Web & Java EE
  • Mobility
  • SOA
  • Ruby
  • C/C++ (Compiler Distributed Separately)
  • PHP (Version 6.5 and later)
  • GlassFish
  • Apache Tomcat

[edit] NetBeans IDE Starter Kit

Sun Microsystems used to offer a free DVD-ROM which included all of the components needed to run NetBeans. However, the DVD is no longer available, as Sun is evaluating more efficient ways of distributing the software, which is to include an ISO of the DVD available for download.[14]

[edit] Localization

As of January 2007, Simplified Chinese, Traditional Chinese, German, Japanese, Portuguese (Brazil) and Spanish language packs are available for Netbeans 5.5.1.[4]

Albanian, Azerbaijani, Czech, Dutch, French, Greek, Indonesian, Italian and Swedish language packs are in progress.

[edit] References

  1. ^ platform: NetBeans Modules and Rich-Client Applications Learning Trail
  2. ^ "original Xelfi homepage". Retrieved on 2008-05-17.
  3. ^ "Happy Birthday NetBeans - interview with Jaroslav "Yarda" Tulach". Netbeans.org. Retrieved on 2008-05-17.
  4. ^ "A Brief History of NetBeans". Netbeans.org. Retrieved on 2008-05-17.
  5. ^ "Open Source Java Technology Debuts In GNU/Linux Distributions". Sun Microsystems. Retrieved on 2008-05-02.
  6. ^ Why dual license Netbeans faq
  7. ^ "Profiler". Netbeans.org. Retrieved on 2008-05-17.
  8. ^ "Swing GUI Builder (formerly Project Matisse)". Netbeans.org. Retrieved on 2008-05-17.
  9. ^ "Javascript". Netbeans wiki (2007-03-31). Retrieved on 2008-04-19.
  10. ^ "Java Web Applications". Netbeans.org. Retrieved on 2008-04-19.
  11. ^ "Web & Java EE". Netbeans.org. Retrieved on 2008-05-17.
  12. ^ "Ruby". Netbeans.org. Retrieved on 2008-05-17.
  13. ^ "C/C++ Development". Netbeans.org. Retrieved on 2008-05-17.
  14. ^ NetBeans DVD Starter Kit Program

[edit] See also

[edit] External links

Personal tools