vývojové prostředí pro jazyk Java a další From Wikipedia, the free encyclopedia
NetBeans IDE je svobodné, zdarma distribuované integrované vývojové prostředí (IDE), které vlastní firma Oracle Corporation, které též sponzoruje jeho vývoj. V současné době je NetBeans v režii Apache Software Foundation. Technologický základ tvoří platforma NetBeans. Primárně je určeno pro vývoj v programovacím jazyce Java (Java SE, Java EE, Java ME), ale díky modulární softwarové architektuře umožňuje programování i v jiných programovacích jazycích (PHP, HTML5/CSS, JavaScript, C/C++, Groovy). Celé prostředí je naprogramováno v jazyce Java, a proto ho lze spustit na různých operačních systémech (Microsoft Windows, Linux, macOS a Solaris).
![]() | |
![]() Hlavní okno vývojového prostředí NetBeans. | |
Vývojář | Apache Software Foundation, Oracle Corporation |
---|---|
Aktuální verze | 22 (29. května 2024) |
Operační systém | multiplatformní |
Platforma | Java Virtual Machine |
Vyvíjeno v | Java |
Typ softwaru | vývojové prostředí |
Licence | Od 9.0 Apache Licence, před tím CDDL (odkaz) nebo GPL2 |
Lokalizace | Do několika jazyků |
Web | netbeans.apache.org |
Některá data mohou pocházet z datové položky. |
Vývojové prostředí NetBeans je částečně komunitně vyvíjený software. Kromě profesionálních vývojářů placených firmou Oracle je v současné době registrováno více než 800 000 přispěvatelů, jejichž přínos spočívá mimo jiné v tvorbě zásuvných modulů, které rozšiřují funkcionalitu programu, poskytování podpory pro vývoj za pomoci aplikačních frameworků, hlášení chyb, překladů do národních jazyků a podobně.
Vydané | verze |
---|---|
3.5 | červen 2003 |
3.6 | duben 2004 |
4.0 | prosinec 2004 |
4.1 | květen 2005 |
5.0 | leden 2006 |
5.5 | 30. října 2006 |
5.5.1 | 24. května 2007 |
6.0 | 3. prosince 2007 |
6.1 | 28. dubna 2008 |
6.5 | 20. listopadu 2008 |
6.5.1 | 16. března 2009 |
6.7 | 29. června 2009 |
6.7.1 | 27. července 2009 |
6.8 | 10. prosince 2009 |
6.9 | 15. června 2010 |
6.9.1 | 4. srpna 2010 |
7.0 | 19. dubna 2011 |
7.0.1 | 1. srpna 2011 |
7.1 | 5. ledna 2012 |
7.1.1 | 29. února 2012 |
7.1.2 | 24. dubna 2012 |
7.2 | 17. července 2012 |
7.3 | 21. února 2013 |
7.3.1 | 12. června 2013 |
7.4 | 15. října 2013 |
8.0 | 18. března 2014 |
8.0.1 | 9. září 2014 |
8.0.2 | 28. listopadu 2014 |
8.1 | 4. listopadu 2015 |
8.2 | 4. října 2016 |
9.0 | 29. července 2018 |
10.0 | 27. prosince 2018 |
11.0 | 4. dubna 2019 |
12.0 | 4. června 2020 |
15.0 | 7. září 2022 |
Verze NetBeans IDE[1]
NetBeans IDE může podporovat různé technologie spojené s jazykem Java pomocí komunitních rozšíření. Výčet obsahuje základní funkcionalitu.
Nástroj pro tvorbu grafického uživatelského rozhraní je součástí balíčků pro Java Standard Edition a Java Enterprise Edition. Umožňuje metodou „táhni a pusť“ sestavit různé druhy aplikačních a dialogových oken. Podporovány jsou komponenty knihoven AWT a Swing.
V základní verzi obsahuje prostředí podporu pro JavaFX, Java EE, Java ME, PHP, HTML5/CSS, JavaScript, C/C++, Groovy. Dále je možné rozšířit podporu pomocí přídavných modulů. NetBeans IDE dále zjednodušuje práci s frameworky jako je Struts nebo Ruby on Rails a umožňuje mimo jiné vývoj SOAP aplikací a webových služeb i webových aplikací.
NetBeans IDE umožňuje svému uživateli volbu licence, pod kterou bude program užívat. Na výběr je svobodná licence GNU GPL v2 a GNU nekompatibilní licence Common Development and Distribution License. Některé distribuce NetBeans mohou obsahovat části, které podléhají licencím třetích stran.
NetBeans je známé vývojové prostředí (IDE) určené pro vývoj Java aplikací. Jádro IDE je tzv. NetBeans platforma, modulární a rozšiřitelný aplikační framework. Modulární architektura NetBeans přináší tyto výhody:
Platforma NetBeans se řadí mezi tzv. Rich Client Applications, tj. mezi aplikace, které pracují na straně klienta, kde nejenže data zobrazují, ale dochází i k jejich zpracování (logika se nenachází na straně serveru). RCA bývají rozšiřitelné pomocí pluginů a modulů.
Níže jsou uvedeny anglické termíny, které jsou důležité pro vývoj aplikací a jsou standardem ve všech publikacích o této problematice.
layer.xml
souborů všech použitých modulů v aplikaci. Obsahuje například složení horního menu aplikace.Vytvoření jednoduché aplikace (menu New Project → NetBeans Modules) nabízí ve vývojové platformě NetBeans několik možností:
Vytvořit základní aplikační okno můžeme dvěma způsoby. První je klasický přes New Project → NetBeans Modules → NetBeans Platform Application. Druhý způsob je přes skriptovací jazyk Groovy – New Project → Samples → Groovy → NB Project Generators. Poté stačí jen najít složku, ve které se projekt vytvořil (složka se vypíše do standardního výstupu), a otevřít projekt. Aplikace vytvořená přes Groovy má oproti aplikaci vytvořené standardním způsobem jednu odlišnost, a to, že v záložce Tools má standardně vloženou záložku Plugins.
V této sekci si popíšeme, jak se vytváří moduly do NetBeans IDE.
Moduly mohou hrát odlišné role. Některé moduly přidávají nové elementy do uživatelského prostředí, jiné zase plní funkce knihoven důležitých funkcionalit. Každý modul má odlišné požadavky na jeho zařazení do aplikace. Protože sestavovač aplikace a skutečný výrobce modulu nemusí být jedna osoba. Dobrý kontejner pro uskutečnění modulárních aplikací poskytuje nějaké atributy, které dovolí modulu být anotován s popisem jeho požadavků, které musí být vyplněny, aby mohl být modul přidán do aplikace. V ideálním případě, tyto atributy nejsou použitelné jen pro člověka, který sestavuje aplikaci, ale i pro kontejner, který provádí realizaci. NetBeans runtime container poskytuje různé druhy užitečných atributů.
Nejjednodušší typ modulu je modul, který přispívá funkcionalitou, jako je přidání menu položky, tlačítek nebo komponent. Tyto moduly neukazují žádnou jinou funkcionalitu, která by mohla být použita ostatními moduly. Takový modul bude nejspíše proto, aby napomáhal uživateli s ovládáním. Proto je uživateli dána možnost přes Module Manager vyřadit nebo naopak zařadit tento modul do uživatelského rozhraní. Uživatel tak dostává možnost přizpůsobovat si uživatelské rozhraní (menu, toolbary, ...) s tím, že po vypnutí aplikace se změny zapíší do souborů a při opětovném spuštění je použit již přizpůsobený vzhled aplikace.
Jednoduchá knihovna je běžný typ moduly široce používaný lidmi pro psaní open source nebo jinak znovupoužitelných knihoven, jako je například Apache Commons Collections. Ve skutečnosti se jedná o soubor typu JAR s několika balíčky, které obsahují použitelné třídy.
Implementace v odlišných modulech a jejich separaci si doslova vynucuje. Vyskytuje se zde modul, který obsahuje specifikace, čímž se rozumí rozhraní, abstraktní třídy. Poté se zde nachází několik modulů, které tuto specifikaci implementují.
Životním cyklem modulu se rozumí start, vypnutí, nahrávání a uvolňování modulu. Jedná se o třídu, která dědí od abstraktní třídy ModulInstall. Stačí, když překryjeme potřebnou metodu modulu.
public class Installer extends ModuleInstall {
@Override
public void restored() {
System.out.println("HelloWorld !!");
}
}
Rušení vazeb mezi moduly je jedna z nejdůležitějších částí systému založených na modularitě. Tím, že zrušíme co nejvíce vazeb mezi moduly, dosáhneme toho, že moduly budou jednoduše použitelné. Tím je myšleno, že jejich instalování a odinstalování nebude závislé na ostatních modulech a bude tak moct být vybudována aplikace přesně podle představ jejího tvůrce. Jeden z nejvýznamnějších způsobů je Global Lookup. Je možnost si definovat své vlastní lookup nebo používat lookup například objektu TopComponent.
Lookup je mapa, kde klíče jsou objekty typu Class (nejčastěji rozhraní) a hodnoty jsou instancí těch tříd. Jedná se o způsob, jak snadno sdílet informace mezi moduly v jedné aplikaci, aniž by byly moduly mezi sebou závislé. Jeden modul přidá (pomocí vzoru Service provider) do objektu aplikace Lookup nějakou třídu a zcela jiný modul může z tohoto Lookup danou třídu vytáhnout.
Lookup.Template template = new Lookup.Template<Foo>(Foo.class);
Lookup.Result<Foo> foos = Lookup.getDefault().lookup(template);
Collection<? extends Foo> c = foos.allInstances();
Každý modul přidaný do aplikace má svůj XML Filesystem (soubor layer.xml). Ve výsledku se sloučí tyto souborové systémy jednotlivých modulů a vytvoří tzv. MultiFileSystem. Jedná se o hlavní registr nakonfigurovaných dat deklarativně jednotlivými moduly. Tento souborový systém nám nakonec může například ukázat, jak má vypadat horní menu aplikace, ukáže se, jestli nějaké moduly nepřidaly, nebo naopak nezakázaly zobrazování některých položek. V kapitole Lookup jsme si ukazovali deklarativně registrační mechanismus, který je použitelný pro jednoduchou registraci objektů. System Filesystem se používá, když chceme zaregistrovat objekty navíc s určitými metadaty.
Následující kód způsobí zmizení položky Menu:
<filesystem>
<folder name=”Menu”>
<folder name=”Help_hidden”>
</folder>
</filesystem>
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.