Používáme Netbeans. Hodí se i pro tvorbu webů?

NetBeans jsou populární IDE používané zejména vývojáři v jazyce Java. V článku představíme nejen základní vlastnosti NetBeans, ale pokusíme se zhodnotit, zda a jak se NetBeans hodí pro běžný vývoj webových stránek a aplikací. Zmíníme i některé novinky nedávno vydané verze 6.5.
Poznámka na úvod: Článek se zaměřuje především na verzi NetBeans 6.1. Nedávno vyšla verze 6.5, o té se stručně zmíníme v závěru článku.
Obecná charakteristika
NetBeans je platformě nezávislé univerzální IDE, které je k dispozici zdarma pod dvěma licencemi (CDDL a GNUv2+CE). Je vytvořeno v Javě původně jako český projekt, který koupila společnost Sun Microsystems a uvolnila jako open source (více se o historii projektu dočtete v článku Co se děje s NetBeans?).
Odtud mimochodem pramení jeho název. Slovo „beans“ můžeme totiž, kromě „fazolí“, přeložit také jako „kávová zrna“. NetBeans jsou tedy „síťová kávová zrna“, ve kterých si můžete napsat program v „kávě“. (V americké angličtině je totiž „java“ slangový výraz pro kávu. Navíc existuje pověra o tom, co to vlastně „Java“ s velkým „J“ je. Ona pověra říká, že se jedná o tajemný kávě podobný nápoj, který pijí programátoři, aby se udrželi v noci, u nekonečných řádek kódu, který plodí, při vědomí.)
V úvodu článku jsme NetBeans nazvali univerzálním IDE, to proto, že NetBeans není prostředím pouze pro Javu, ale lze v něm pracovat s většinou dnes používaných programovacích jazyků, či nástrojů: Stačí si vybrat např. C/C++ , Groovy, Java EE, JavaFX, Java ME, JavaScript, PHP, Python, Ruby, UML, HTML, XML. Úplný seznam podporovaných technologií naleznete na officiálních stránkách projektu.
My se v článku zaměříme především na to, jak NetBeans spolupracuje s technologiemi HTML, PHP, CSS a také se stručně zmíníme o tom, jak pomáhá vývojářům v Javě (neboť právě pro tyto dva účely NetBeans používal autor článku).
Hlavní rysy
Pro přehlednost rozdělíme souhrn hlavních vlastností NetBeans na tři části:
- NetBeans jako IDE
- NetBeans a webové technologie
- NetBeans a Java
NetBeans jako IDE
NetBeans je plnohodnotným IDE, které umožňuje správu projektů, obsahuje průzkumníka kódu, různé typing helpery (nástroje urychlující psaní kódu), integraci s nástroji pro čtení dokumentace typu JavaDoc (pro PHP je to phpDocumentor), dále podporuje verzování pomocí SVN a CVS.
Doplňování kódu
Specialitou NetBeans je doplňování kódu. Nemáme na mysli samozřejmou technologii IntelliSense, ale jednoduché doplňování, které obsahuje téměř každé IDE. Specialitou toho, které má NetBeans je jeho dokonale snadná konfigurace:
Pomocí Tools>Options>Editor>Code Templates, vyberete jazyk a můžete velice snadno měnit jednotlivé šablony. Krásné na celém procesu je, že můžete používat různé triky a specifikovat, kdy se má dosadit aktuálně označené atd.

Opravování chyb
Termínem „opravování chyb“ máme na mysli stav, kdy nám NetBeans nějakou část kódu podtrhnou, protože je špatně. V tu chvíli několik okamžiků vývojář tápe, cože špatného na dané konstrukci vlastně je, což bývá nepříjemný moment, který vývojáře zbytečně zdržuje.
NetBeans tento problém řeší pomocí opravování kódu. Pokud máme kurzor nad inkriminovanou částí kódu, stiskneme levé tlačítko myši (myšítko) a vybereme „fix code“, nebo použijeme klávesovou zkratku ALT(PRAVÝ)+ENTER. Objeví se okénko, kde nám NetBeans nabízejí, jak problém vyřešit. A ve většině případů v nabídce najdeme správné řešení problému.

Tuto funkcionalitu lze navíc efektivně využít k urychlení práce, neboť nám stačí např. napsat do kódu použití funkce (metody). NetBeans je podtrhnou, neboť používáme metodu, která ještě neexistuje. Stiskneme klávesovou zkratku a z voleb vybereme možnost chybějící metodu vytvořit. NetBeans ji za nás vytvoří a my pouze doplníme její tělo. Ti pečlivější nad ni napíšou /**
, stisknou ENTER a NetBeans k ní doplní dokumentační komentář.
Formátování kódu
Automatické formátování kódu zase pomůže těm z nás, kterým dala matka příroda do vínku více lenosti, než bylo nutné, a ruční formátování kódu nectí. Pro ně (ale nejen pro ně) existuje v NetBeans tato funkce. Stačí jednou kliknout a NetBeans náš zdrojový kód zformátují. A to podle námi zadaných pravidel. Ta je možné specifikovat velmi detailně a přitom snadno.
NetBeans a webové technologie
Jak je to se spoluprací NetBeans a webových technologií?
První velmi příjemnou vlastností NetBeans je jejich rozlišení mezi projekty lokálními a vzdálenými. V IDE lze při vytváření projektu nastavit, kam bude projekt ukládán a jak bude laděn (spouštěn) – zda lokálně, přes FTP, nebo přes verzovací systém.
NetBeans při výběru místa uložení projektu také umožňují ukládat své vnitřní soubory (soubory projektu a další soubory, které nejsou součástí výsledných stránek) do samostatného podadresáře. Tedy jinam než zdrojové kódy vyvíjené webové aplikace. To je často výhodné, neboť nechceme kód naší aplikace míchat se soubory, které k němu nepatří.
NetBeans rovněž umožňují ukládat kopie všech souborů vyvíjené aplikace do samostatného umístění (kromě cílového úložiště). Můžeme tedy aplikaci vyvíjet v adresáři A a přitom budou NetBeans automaticky vše kopírovat i do adresáře B, který můžeme verzovat například pomocí Gitu, který NetBeans nepodporují implicitně.
Co se týče samotné editace kódu, tak NetBeans zvýrazňuje syntaxi prakticky všech webových jazyků. Podpora PHP, HTML, JavaScriptu, CSS a XML je součástí NetBeans (přesněji záleží na stažené instalaci).
NetBeans pro účely vývoje webových aplikací obsahují speciální verzi průzkumníka kódu, která zobrazuje vše potřebné.
Samozřejmostí jsou potřebné typing helpery a integrace nápovědy. Nápovědu je často nezbytné ručně stáhnout a specifikovat její umístění. NetBeans ji pak načtou a používají. Taktéž používají nápovědu načtenou z dokumentačních komentářů přímo z kódu.
NetBeans a Java
O Javě se zmíníme pouze okrajově, protože o NetBeans a Javě toho bylo již napsáno hodně.
NetBeans jsou jako IDE pro Javu velmi silným nástrojem. Není divu, neboť jsou napsané v tomto jazyce a jsou vyvíjeny vývojáři, kteří mají k tomuto jazyku velmi blízko.
NetBeans dovedou plně využít potenciál Javy, jak z hlediska programového, tak i OOP modelu. Jakožto nástroje RAD je lze využít jak v kontextu Java AWT, tak i Java Swing (což jsou grafické knihovny Javy pro práci s okny).
NetBeans dále plně podporují JavaDoc (dokumentace k Javě) a javovské projekty. Navíc jsou jejich projektové soubory a adresáře přímo kompatibilní s kompilátorem javac
a interpretem java
, které známe např. z Unixu.
Grafické rozhraní programu
Vzhled NetBeans se nijak výrazně neliší od toho, na co jsme v případě vývojových nástrojů typu IDE zvyklí. Po spuštění nás uvítá „Start Page“, kde najdeme seznam naposledy otevřených dokumentů a projektů, který můžeme načíst pro rychlé navázání rozdělané práce.
To je nutné pouze v případě, pokud jsme projekt před ukončením NetBeans ručně zavřeli, neboť NetBeans si samy o sobě pamatují svůj stav při ukončení a při novém spuštění jej automaticky načtou. Pamatují si jak otevřené soubory, tak i pozice v nich.
Samotný vzhled GUI se od očekávaného liší pouze nepatrně. Nejvíce v tom, že průzkumník kódu je ve výchozím nastavením umístěn nezvykle vlevo dole, pod správcem projektů. První věcí, kterou jsem učinil bylo jeho přesunutí do obvyklejší polohy na pravé straně okna.
Celé GUI nám poskytuje běžné možnosti pro aranžování jeho jednotlivých součástí na libovolná místa a práci s pracovními prostory. Co se týče práce s kódem, máme k dispozici „code collapsing“ (schovávání částí kódu) , který funguje i na dokumentační komentáře.
Vkládání kódu
Další vlastností, o které se zde zmíníme, je již výše uvedené doplňování kódu a také jeho vkládání (v programu se funkce jmenuje „Insert Code“). Tato funkce spočívá v tom, že NetBeans je schopno nám do jisté míry pomoci s implementací OOP modelu. Například když máme nějaké rozhraní a třídu, která jej implementuje, můžeme nechat NetBeans vygenerovat kód hlaviček všech funkcí, které máme dle použitého rozhraní implementovat.
Pomocí funkce „Insert code“ můžeme generovat konstruktory tříd, gettery a settery.
Je pravděpodobné, že nad touto funkcí budou jásat zejména programátoři v Javě, nicméně své uplatnění najde jistě i při vývoji objektových aplikací v PHP5.
Další perfektní funkcí je „refaktorování kódu“, pomocí kterého můžeme například přejmenovat proměnou nebo metodu (funkci) a NetBeans samo vyhledá všechny její další výskyty v kódu a správně je upraví.
Jak urychlit svou práci?
Efektivní uživatel NetBeans se snaží využívat dostatečné množství klávesových zkratek a speciálních funkcí, pomocí kterých nám NetBeans urychlují práci.
Mezi základní z nich patří tyto:
- ALT+F1 – zobrazí nápovědu Javadoc k části kódu, která je pod kurzorem
- ALT+INSERT – zobrazí dialog „Insert Code“
- CTRL+R – zobrazí dialog „Rename Refactoring“
- ALT+ENTER – pokud je kurzor v místě s chybou, zobrazí dialog s nabídkou možností, jak chybu odstranit
- CTRL+SPACE – zobrazí kontextovou nabídku doplňování kódu (IntelliSense)
- CTRL+SHIFT+I – zobrazí nabídku „Fix imports“, která umožňuje opravit nebo přidat chybějící importy
- ALF+SHIFT+F – zformátuje zdrojový kód, dle nastavení formátovače
- F9 – zkompiluje aktuální soubor (při vývoji v PHP+HTML+CSS nemá smysl)
- SHIFT+F6 – spustí kód z aktuálního souboru (právě otevřené záložky)
- F11 – zkompiluje projekt
- F6 – spustí kód projektu (bez ohledu na právě aktuální soubor) – občas jej před spuštěním i znovu zkompiluje, ale nelze se spolehnout.
- TAB – zkusí doplnit rozepsaný text (expanduje zkratková slova)
Kde to vázne? Na co si dát pozor?
Největší nevýhodou NetBeans je dle mého názoru jeho pekelně pomalý start. Ten lze do jisté míry kompenzovat úměrným množstvím instalovaných komponent, neboť je pak NetBeans nemusí při každém spuštění všechny načítat. Takže jednoznačně doporučuji, stáhněte jen to, co potřebujete a nedělejte si z NetBeans obložený chlebíček.
Dalším bodem, který považuji za velkou nevýhodu NetBeans, a který rovněž souvisí se spouštěním kávových zrnek, je existence dotazovacího okna, které se objevuje, pokud NetBeans spustíme a ony najdou starší soubor ve své vyrovnávací paměti. V takovém případě uživateli tvrdí, že jsou již zapnuté a zjišťují, zda se mají skutečně spustit znovu. Pro jejich spuštění musíte dialog potvrdit a teprve poté začne vlastní spuštění programu. Dotazovací dialog na sebe navíc nesoustředí pozornost a objeví se zákeřně pod již otevřenými okny (pokud nějaká jsou). V takovém případě si jej často vůbec nevšimnete, čekáte a říkáte si, kde ty NetBeans vlastně jsou? Kampak se schovaly?
Novinky ve verzi 6.5
Nová verze NetBeans 6.5 přináší několik novinek, mimo jiné:
- Vylepšení integrace s PHP
- Hledání
//TODO
komentářů v souborech projektu (a že se těmito komentáři soubory projektu jen hemží) a jejich správu - Vylepšený průzkumník kódu pro HTML, CSS a JavaScript
Úplný popis možností použití NetBeans 6.5 ve spolupráci s PHP a webovými technologiemi můžeme nalézt na oficiálních stránkách projektu. Krátké video o verzi 6.5 najdete na officiálních stránkách projektu.
Kde NetBeans získat?
NetBeans jsou ke stažení v mnoha instalacích, od jednoduchých (ve smyslu počtu instalovaných součástí a modulů) po komplexní. Také je k dispozici úplná verze, která umožňuje vývoj téměř ve všech reálně používaných programovacích jazycích.
Stáhnout si je můžete z oficiálních stránek:
Shrnutí
Autor článku NetBeans využívá v současné době zejména k vývoji aplikací v Javě. Nějakou dobu s nimi experimentoval v souvislosti s webovými technologiemi, nicméně v tomto směru existují sofistikovanější nástroje, než jsou NetBeans.
Sečteno a podtrženo, NetBeans sice pro vývoj webů použitelné jsou (umožní efektivní správu projektu, testování, zvýraznění syntaxe, syntaktické helpery atd.), nicméně je pro tento účel rozhodně nelze používat v režimu „as is“ (jak jsou po instalaci), čili si je musíte řádně nastavit a doplnit pluginy. To je proces, který každému nevyhovuje a proto se, v případě vývoje pro web autor článku přiklání k jiným nástrojům.
Co si myslíte o NetBeans vy? Používáte je?
Odkazy
- Officiální stránky projektu
- Jak spolupracuje NetBeans s webovými technologiemi
- Pluginy v NetBeans
- Recenze podpory PHP v NetBeans 6.5
Weby mohou byt psany v nejruznejsim kodovani UTF-8 (pro PHP idealne bez ID tagu), CP1250, ISO-8859-2. Jak si s timto NB umi poradit?
NetBeans podporuje velke mnozstvo kodovani, okrem ineho aj tie co ty spominas… Da sa to nastavit vo vlastnostiach projektu…
A jde nastavit v NetBeans kodovani pro samostany soubor, aniz bych pro nej zakladal nejaky projekt?
Hledal jsem to v nasteveni a nic…. :-(
Jinak NetBeans vypada hodne dobre…
Tak přesně toto by mě také zajímalo.
Mám historický intranetový web, který je téměř celý v utf-8, jenom exporty do PDF, které používají knihovnu FPDF jsou v iso-8859–2 a musí tak bohužel zůstat.
Dreamweaver s tím problém nemá.
Mam ten samy problem a nikde to nemuzu najit.
NB jsou jako takové napsány v Javě. Tudíž interně, stejně jako celá Java, běží pod kódováním UCS-2 (jehož podmnožinou je UTF-8). Tedy, shrnuto, NB nemají s kódováním UTF-8 žádné problémy, dokonce jej nabízejí jako výchozí a doporučované kódování. (Mám také tu čest psát weby v UTF-8 a žádné probléme nejsou).
Mozna to neni k tematu ale musim opravit ty informace o kodovani. UTF-8 je variablini kodovani ktere dokaze zakodovat vsechny unicode znaky. UCS-2 je zastarale kodovani, ktere vzdy pouziva na zakodovani znaku jedno 16-bitove slovo, a proto vsechny unicode znaky zakodovat nedokaze. Logicky proto nemuze byt UTF-8 podmnozinou UCS-2. Toto byl dlouho pro Javu problem, od verze 5 se vsak transparentne preslo na plnohodnotne UTF-16. Neznamena to vsak, ze vsechny programy bezici pod JRE5 jsou automaticky UTF-16 kompatibilni. Pro opravdovou kompatibilitu se musi pouzit nove funkce ktere uz pri pristupu k znaku nevraceji 16b slovo.
No zatím používám pro vývoj v PHP IDE postavené na Eclipse (se kterým mám dlouhou praxi v Javě) – PDT. Tam mi ale naprosto chybí podpora refactoringu, který je IMO pro programátora jednou z nejdůležitějších vlastností IDE… takže se asi podívám, jak se s tím popralo NetBeans. Díky za tip!
Pokud mate dlouhou praxi v Jave, tak taky musite vedet, ze u PHP jakozto dynamicky typovaneho jazyka nebude refactoring z principu nikdy takovy, jako u te Javy….
Jasně že nebude, ale aspoň nějaká podpora by se hodila. Přejmenovávání tříd, metod, to by se snad udělat dalo… a pár dalších, jako hlídání includes, přesuny kódu mezi soubory a tak.
Co si take predstavite pod pojmom "Java AWK", Kefalin? :)
Java AWK je okenní knihovna Javy (sada knihovních funkcí, které podporují "okenní vzhled" aplikací – to aby aplikace měla okno, které se dá zavřít, v něm obvyklé ovládací prvky, atd.)
Má tam být samozřejmě T – "Java AWT":-) – Abstract Window Toolkit – nechápu jak mi to mohlo tolikrát vyklouznout;-)…
Možná že právě proto jsi se na to ptal, že;-)…
Chcel by som reagovat na tuto "recenziu" …
Co sa tyka opravovania kodu, tak to vobec nieje nutne riesit cez klavesove skratky, ale v riadku ktory je chybny sa zobrazi namiesto cisla riadku ziarovka a po kliknuti na nu sa zobrazi zoznam rad, ako opravit kod…
Co sa tyka webovych technologii, tak je ich tam spominanych pomerne malo… Okrem ineho aj XML Schema, DTD a kopec frameworkov ako Spring, Hibernate … Co sa tyka podpory PHPcka, tak oficialne az touto verziou je PHP podporovane a okrem ineho je tam vstavana velmi pekna podpora CSS, co ale autor vobec nespomina… Pre zaujimavost som cital jeden clanok na blogu Jaroslava Tulacha (jeden z hlavnych programatorov NetBeans) a je tam provnanie ako prave verzia 6.5 oproti starsej pouziva omnoho menej dotazov na subory a tym ju vyvoj a odozva prostredia o dost rychlejsie.
Co sa tyka designu, tak nie AWK, ale AWT (Abstract window toolkit) je podporovanie.
Co sa tyka veci proti NetBeans, tak to moze napisat len clovek ktory nepouziva NetBeans dlhsie, alebo sa do problematiky vobec nevyzna… Hodnotit start NetBeansov ako velmi pomaly??? To si snad autor robi prdel. Oproti verzii 6.0 je tu brutalne vykonnostne zrychlenie. Trocha aj oproti verzii 6.1. Hodnotit NetBeans oproti dakym malym programom nema zmysel, treba to hodnotit oproti nastrojom, ktore maju zrovnatelne moznosti. Porovnajte si rychlost NetBeansov a Eclipse alebo IntelliJ IDEA a pridete na to ze NetBeans je z nich momentalne najvykonnejsi alebo minimalne zrovnatelny. Treba si uvedomit ze je to prestredie pisane v Jave, taze nikdy to nebude take rychle ako nejake Visual Studio…
Co sa tyka tych pluginov, tak to da rozu, ze ked tvorit web, tak pouzijem rovno verziu urcenu pre web a mam tam rovno vsetky pluginy… Par MB v pameti sa setrit neoplati…
Posledna vec je ze autor pozna kopec sofictikovanejsich nastrojov? Napr.? Cital som clanky od omnoho skusenejsich tvorcov webovych stranok a akonahle vysla tato verzia NetBeans-ov tak ludia zacinaju prechadzat od Zend frameworku ku NetBeans. napr aj Roumen…
Jen bych opravil, že zmíněný článek není recenze (pokud by byl, tak bychom jej tak označili), ale představení NetBeans webovým vývojářům. Tím se myslím vysvětlují i některé nejasnosti, které zmiňujete.
Souhlasim, ze ten start neni tak strasny. To clovek dela 1x denne, eventulne i mene casto, pokud jen uspava :-)
Spis mi vadi obcas ty "skryte" dialogy ktere vyskoci a nejsou videt. Pak rychly vyvoj, porad jsou nove verze :-)
A napoveda parametru by mohla byt "agilnejsi" jako je ve Visual Studiu – v NB casto mizi :-/
Jo, a jednou se mi "updatovali" tak blbe, ze vetsina pluginu nefunovala, takze jsem je musel reinstalovat :-(
Souhlasim, ze ten start neni tak strasny. To clovek dela 1x denne, eventulne i mene casto, pokud jen uspava :-)
Vážně? Tak to vysvětlí tuhle (a případné následující nesouhlasné reakce, protože to je chování specifické pro část uživatelů). Nicméně to není popření pomalého startu, ale jeho jen vnímání uživatelem „start je pomalý, ale nám to vlastně nevadí“ (to se nevztahuje k NetBeans, ale ke startům aplikací obecně – pokud něco nestartuji, tak start může být jaký chce).
Co sa este toho startu tyka, tak ked spustate NetBeans viac krat denne, tak po prvom raze sa to spusta rychlejsie…
No a pokial ma clovek najnovsiu Javu 6u10, tak tam sa najpotrebnejsie casti Javy pri starte OS prednacitavaju do pamete, tak aj tym sa zvysi rychlost nacitavania…
Vysvetlim to asi takhle:
1) Absolutne: Start nekolik desitek sekund (jak kde, jak ktera verze NB, 6.0 na mem ctyri roky starem pocitaci pod Linuxem startuji cca minutu), coz je docela dost
2) Relativne vuci praci: Pokud pracujete v prostredi cely den (typicky), tak to neni zasadni problem – narozdil od toho, kdyby napr. prostredi kazdy den 5x spadlo
3) Reltativne vuci ostatnim aplikacim to taky neni az tak moc
Takze zalezi na uhlu pohledu :-)
Ad 3) Mineno "vuci ostatnim aplikacim s podobnou funkcionalitou".
Takze zalezi na uhlu pohledu
Ano, článek je určený pro tvůrce webů, kteří jsou zvyklí na nástroje typu PSPad a ukazuje jim, jak lze věci řešit jinak (podobných textů v češtině moc není – pokud vůbec – proto jsem po autorovi tenhle přístup chtěl). Pro tyhle uživatele je „pomalý start“ jedním z prvních šoků při spuštění NetBeans. Proto jsem mluvil o té specifické cílové skupině. Vývojář, který má IDE spuštěno celý den (webdesigner to tak naopak nejspíš dělat nebude, pokud si spustí Photoshop nebo Illustrator, tak se mu volná pamět velmi hodí) to vidí jinak.
Tady funguje klasický „distortion field“, kdy se kodér pohybuje mezi podobnými lidmi s podobnými potřebami a následně se diví, že to o pár bloků dál jiní lidé dělají úplně jinak (a také správně) a mají jiné potřeby. Ve výsledku tak může nastat komická situace (podobná té, kterou najdeme i zde v diskusi), kdy se lidi z těch dvou bloků budou dohadovat, zda ten program startuje pomalu nebo rychle a vzájemně nechápat, proč „ten druhý má tak hloupý názor“, když je to přece tak jednoduché 8-)
No, to je jako napsat v recenzi ze nova Avie ma "silene vysokou" spotrebu 10 l / 100 km a kdyz ostatni napisi v reakcich, ze je to naprosto normalni spotreba pro ten druh auta, tak se hajit tim, ze to byl clanek pro majitele babet :-D
Ale jo, chapu to :-)
…jen s tím rozdílem, že start aplikace v rámci desítek vteřin je pomalý v absolutním měřítku. Primární uživatelé se naučili s tím žít a proto jim nevadí, ale to ten čas nijak nezkrátí.
To jsem byl ja, mimochodem ;-)
S tím souhlasím, ale zase je ta nápověda rychlejší (rychleji se načte a zobrazí) než u VS…
Navíc IDE člověk nespouští 20x denně, takže čas startu i kdyby byl 2 minuty, tak když práce s ním pak už bude rozumně svižná, tak to považuju za docela nepodstatnou věc. Na nějaké rychlé editace pár věcí v konfiguráku mám vim, resp. jiný textový editor.
Uz jen z nazvu Zend framework ti musi byt jasne, ze se nejedna o produkty stejne kategorie (IDE a framework), cili prechod od ZF k NetBeans je tak trochu zvlastni priklad…
Nejspise myslel Zend Studio a ano i já jsem presel ze zakoupene verze Zend studia profesional na Netbeans :).
Já tedy nevím. Naposledy jsem používal NetBeans 5.5 a od té doby Eclipse. Nicméně ve srovnání s Visual Studio se mi obě IDE zdála snad i rychlejší než Visual Studio. Nevím, jak je to v NetBeans nyní, ale refactoring, vyhledávání použití daného symbolu a překlad byl rychlejší a mocnější v Eclipse 2 roky staré srovnané s aktuálním Visual Studio 2008.
Proč si všichni myslíte, že Java je pomalá? A že jsou NetBeans pomalé, protože běhají v Javě? Ano, Java je více OOP, než jiné jazyky. Neukládá pole do paměti za sebou, ale jako objektovou strukturu.
Ano, mnozí budou namítat, že je to "interpretovaný jazyk". Máme ale Just-In-Time compiler. A pokud nebudete psát aplikaci pro práci s Maticemi, či mnohorozměrnými poli (vlastní OpenGL), tak jsou rychlostní rozdíly Javy a např. C++ zcela irelevantní.
– Ano i já umím napsat aplikaci, která bude v céčku rychlá a Javě pomalá. Umím napsat i aplikaci, která bude v Javě rychlá a v céčku pomalá – ale bavíme-li se o průměrné aplikaci, pak ty rozdíly nejsou (až na to, co souvisí s těmi poli)…
Dneska už ty rozdíly nejsou. Připouštím, že dříve byly a že nebyly nevýznamné…
Jak již řekl Martin, není to recenze, nýbrž popis NB pro vývojářskou komunitu, což (jak také řekl Martin) mnohé vysvětluje.
K tomu ostatnímu:
Za zámenu AWT za AWK se omlouvám, nějak mi to uklouzlo.
Co se týká NB a webových technologií… – Ano, NB podporují o mnoho víc technologií a nástrojů než jsem zmínil. NB jsou jako takové velice komplexním nástrojem a nebylo v mých silách (časových, ni prostorových) je všechny popsat. Snažil jsem se tedy soustředit zejména na ty, které já, nebo další webové vývojáři, které znám, používáme, nebo nějakým způsobem využíváme (tím samozřejmě nechci říci, že ty, které nepoužíváme jsou horší než ty co ano, že…).
Připouštím, že jsem se nástrojům NB pro práci HTML, CSS, atd věnoval pouze okrajově, ale to je také trochu dáno tím, že jsem především programátor PHP a CSS neovládám na nijak závratné úrovni a tudíž bych ani pořádně nevěděl jaké možnosti od IDE pro CSS očekávat.
Co se týká oné problématiky okolo startu NB – trochu to shnul ve svém komentáři Martin. Ač programuji i v jiných jayzcích než PHP (Java, C++, VB), tak článek jsem psal především jako webdeveloper. A jako webdeveloper je pro mě důležitá efektivita práce. Nejsem zvyklý na to, že se nějaký program dlouho načítá (nepoužívám denně Adobe PS, používám bash a Vim a ty startují ihned). Jako IDE používám PHPEdit o kterém jsem na ydrojáku už psal. Není to žádný zázrak, ale zatím mi ve všem vyhovuje více než co jiného (tedy, dneska jsem narazil na jednu zajímavůstku, která udělá z NB Vim, takže NB u mě rázem stouplo na ceně). Každopádně když srovnám start NB a PHPEditu, tak jsou na tom NB propastně špatně…
Ale jinak pro vývoj Javy bych nic jiného nepoužíval, protože tam se projeví to, jak těsně jsou NB s Javou propojeny a jak moc užitečně vám při vztváření OOP modelu pomáhají.
OT k tomu VS – já si myslím že např. na slabších strojích ve NB výrazně rychlejší než VS…
Jinak k tomu kopcinástrojů: např. zde: http://www.ibm.com/developerworks/opensource/library/os-php-ide/index.html
nebo zde: http://www.google.cz/search?client=firefox-a&rls=org.mozilla%3Acs%3Aofficial&channel=s&hl=cs&q=IDE+PHP&lr=&btnG=Vyhledat+Googlem
Pro priste bych doporucil po kliknuti na nahled naservirovat screenshoty v "zivotni velikosti" a v PNG…
k tomu vyhledavani //TODO
Je tam panel tasks, ktery zobrazuje seznam nedodelku, ktere naslo samo IDE a seznam slov nalezenych v komentarich – krome "TODO" tam jsou i dalsi a dalsi se daji dopsat. Tenhle panel uz tam je dele (od 6.0?) a novinkou v 6.5 je, ze je defaultne otevreny.
Jsem si nedavno rikal, ze si trochu ulehcim praci s PHP, tak jsem stahl prislusne NetBeans.
A kdyz jsem zjistil, ze mi to i krasne doplnuje HTML tagy, tak jsem si rekl, ze na HTML
nasadit jedine NetBeans :D Sice mi to trochu prislo jako orat drobny domaci zahon velkym
polnim traktorem, ale jinak je to hezke :-))
Ja pouzivam Eclipse a PHP plugin. Co mi na Eclipse vyhovuje je ze ak nieco nema tak je na to urcite niekde nejaky plugin. Zaujimalo by ma prave ci aj NB podporuje pluginy a ako je to s mnozstvom pluginov napriklad v porovnani s Eclipse. (plugin pre spravu databazy, na regularne vyrazy, na vytvaranie UML a ine)
V clanku sa pise ze GIT nie je priamo podporovany. Je nejako inak podporovany? A co CVS alebo Subversion?
Git: http://code.google.com/p/nbgit/
mohol by si prosim ta napisat ake pluginy v eclipse pouzivas na UML, regex a spravu databazy ?
dik za odpoved
K praci s DB je docela dobry modul QuantumDB http://quantum.sourceforge.net/ , s ostatnimi bohuzel nepomuzu. (vyzkousene s Eclipse 3.2 s PDT 1.0.3)
Ja by som dodal:
pre Oracle: http://oss.oracle.com/dbplugin-eclipse-dtp.html
pre UML Omodo: http://www.eclipsedownload.com/
pre regex: http://www.xmlbuddy.com/
a pridam este pre Javascript: http://sourceforge.net/projects/teniga
Hlavni vyhodou NetBeans je tzv. Out-of-the-box instalace coz znamena, ze vsechno potrebne uz je k dispozici v jednom z 6 baliku [1], ktere jsou zaroven i patricne otestovane. Jinak i NetBeans ma svoji repozitor pluginu [2], ktere nejsou soucasti standardni distribuce a taky je k dispozici Update Centrum [3], kde najdete vsechny moduly ze standardni distribuce plus certifikovana rozsireni jako napr. plugin pro online komunikaci, integraci s nastrojem Maven, UML plugin, podporu GWT a mnoho dalsi funkcionality.
[1] http://www.netbeans.org/downloads/index.htm
[2] http://plugins.netbeans.org
[3] http://www.netbeans.info/uc/show_uc_content.html
GIT je podporovaný tak, že není podporovaný vůbec – proto jsem psal o možnosti nechat NB vytvářet kopii projektu v místě, které si zvolíme a to poté verzovat externě. SVN a CVS jsou podporovány přímo (tj. NB je přímo podporuje ve své instalaci)
Uz to tu raz zaznelo, ale predsa… Podpora pre distribuovany vcs existuje sice nie priamo od timu netbeans, ale od komunity:
http://code.google.com/p/nbgit/
NetBeans v zakladu podporuje jiny distribuovany system nez Git a to Mercurial.
Nedavno som skusal NetBeans ale asi som robil nieco zle, ale teda nejake doplnanie kodu (v s style intellisense) pri editacii CSS alebo javascriptu mi nezafungovalo.Je to fajn IDE a rychlejsie ako Eclipse, ale zatial pluginov nieje tak vela ako pre eclipse.Skoda ze nexistuje Eclipse/NetBeans ale napisane v c/c++ a nie v pomalej jave.
Tak si to napiste :-D neviem co tu vykrikujete. Vytvarat nieco v Jave je ovela rychlejsie a menej nakladne ako v C. Ak zaplatite cas tak to budete mat. Ak to nezaplatite tak neplacte :)
Bohužel až po uzávěrce článku jsem objevil další perfektní schopnost tohoto vývojového prostředí a sice jVi – jde o plugin do NetBeans, který jej velice efektivně transformuje ve Vim – respektive Vám umožní v NetBeans používat klávesové zkratky, které znáte z Vimu. Takže můžete požívat výhod obou světů – jak výkoného IDE se všemi nástroji, tak i unikátní rychlosti práce, kterou nám poskytuje Vim.
Já osobně jVi používám a jsem s ním velmi spokojen.
Homepage jVi: http://jvi.sourceforge.net/
Ja se nechal zlakat a ve sve Fedore 10 jsem si nainstaloval (yum -y install netbeans*).
A prestoze na prvni pohled vypada hezky, tak je velmi a neprakticky pomale.
Tak jsem to odinstlaloval (yum -y remove netbeans).
Co vy na to, co delam spatne?
Myslím, že ohledně té instalace je vše v pořádku :-)
Jinak mi NB nepřijdou neprakticky pomalé, vlastně mi přijdou tak akorát rychlé pro můj styl kódování ;-)
Nedelas nic spatne, proste jsi vyuzil svobodu vyberu.
Java aplikace jsou pomale i pro mne. Ale to jen proto ze muj HW neni zrovna nejnovejsi.
Mas stary zelezo. Java potrebuje Core2Duo 3 GHz a 4 GB RAM. Pak to lita :-)
No, souhlasím s tím že nárokz Javy nejsou zanedbatelné…To rozhodně ne, ale 4GB je myslím i na NB příliš:-D…
Nevim jaka verze NB je ve Fedore 10, ale ja vcera poridil NB 6.5 RC1 a docela to jde. Rozhodne mi prijdou rychlejsi nez predchozi 6.x.
Mimochodem vsem doporucuju zkusit na psat PHPcko v necem co umi doplnovat kod. PHP je mistr v nekonzistentnim pojemnovani funkci a doplnovani vazne hodne pomuze. Nejlip ja na tom zatim placeny ZDE, NB 6.5ky jsem este moc netestoval, takze nemuzu posoudit, treba jsou taky tak dobry.
Teď jsem to rozběhával na Fedoře 8, výrazně pomohlo přepnutí používaného Java SDK z vestavěného Icedtea (nebo jak se to jmenuje) na poslední verzi Javy od SUNu.
NetBeans neumi ani zakladni vec. Kopirovat po blocich a to nemyslim, jenom sloupcove bloky, ale obecne bloky, kde oznacite zacatek a nasledne konec a cele to zkopirujete. Takze nezbyde nic jineho, nez mys, sipky + shift, nebo (pokud to jde) kopirovat celou strukturu. Nicmene je to dost neohrabane.
Na vyvoj v html nebo PHP (ci JS, XML + XSLT) je to strasne tezkopadne.
Jedine duvod pro pouzit toto IDE je pri praci ve velkem tymu, protoze umi pomerne rychle dohledavat uziti metod trid a usnadnuje orientaci v Java zdrojaku + ma refactoring pro Javu (ostatne jako Eclipse, nebo IDEA). Na web je to velmi tezkopadne a praci to spise zpomaluje nez zrychluje, taky proto ze bez mysi se tady neobejdete, rozsah klavesovych zkratek je velmi maly a omezuje se jenom na tu nejzakladnejsi funkcnost.
A jeste je tu nevyhoda, v problemech Swingu a akcelerovanho desktopu, spatne se to zobrazuje, obcas vam zmizi obsah okna atd.
Ale jinak k clanku:
Java je dnes z 99% pouzivana k vyvoji webovych aplikaci, takze ano cokoli co je urceno pro Javu je take pro web,
Ale umí:-) – koukni se po jVi, které ti z NB udělá Vim:-) – doporučuji…
No dobry, ale VIM ma velmi odlisne ovladani od jiny editoru. Ale napr. Emacs rozlozeni to poradne neumi. A btw. jak se pomoci VIM klavesovych zkratek pohybujes, napr. v menu? Vono to nejde? No jo, jenom pro editor, ale nikde jinde si neskrtnes. To je holt smula. A pak si neuvedomis ze si v jinem okne nez editoru das Ctrl + N pro posun na dalsi radek a buch mas tu novou instanci NetBeans.
miznutie obsahu okna je sposobene compiz-om, takze ked chcete robit swingove veci v netbeanse, tak netreba zapinat nadupane efekty, ale preventivne ich vsetky vypnut. kolega spominal, ze niekde nasiel aj nejaky skript spustajuci netbeans, ktory pred jeho spustenim prave tieto efekty vypina…
Nevim jak presne to myslis s temi bloky, ale ja napriklad v NB pouzivam klavesove zkratky CTRL+SHIFT+sipka_up/down a ALT+SHIFT+sipka_up/down. Postup je nasledujici:
1) Oznacis si text, ktery chces kopirovat/presunout (staci mit z daneho radku oznaceny i jediny znak).
2) Pouzijes jednu ze zkratek – ta s CTRL ti cely blok (vsechny radky, z nichz mas oznaceny alespon 1 znak) zkopiruje pred/za (sipka_up/down) oznaceny blok. Ta s ALTem ho "pouze" presune – vhodne pro posunuti treba za while blok atp.
Jinak myslim, ze na naprostou vetsinu akci jdou nastavit klavesove zkratky v Tools | Options | Keymap. Jedinym problemem (bohuzel ne zanedbatelnym) je spatna navigace tam, je tam fakt hodne akce (i kdyz jsou alespon tematicky rozdelene – na druhou stranu casto ne pro me uplne logicky ;)
S NetBeans jsem se snažil sžít několik měsíců. Některé věci, které se mi na práci s NetBeans nelíbily, jsou způsobené Javou a nedotaženým objektovým návrhem jazyka, některé věci jsem si způsobil sám nedostatečným průzkumem nastavení, něco je čistě moje chyba.
* Startuje to dlouho. Někomu to možná nevadí, protože v NetBeans nenarazí na chybu, jak je rok dlouhý. Ale pokud je potřeba restartovat několikrát denně, JE to pomalé.
* Je to nespolehlivé. V návrhu formulářů to občas vyhodí nějakou vyjímku a pak jsem mohl formulář – a to i s mými kusy kódu – klikat a psát znovu. Už nikdy jsem pak takový formulář nedovedl zprovoznit. Google mi prozradil, že chyba je stará několik let… a stále jsem se s ní potýkal.
* Vlastní kód (v Javě) není oddělený od kódu generovaného. S tím souvisí předchozí chyba – havárie klikacího generátoru formuláře může zničit – a ničí – i kód, který jsem pracně napsal.
* Nedá se použít externí editor. Kód, který dostanu k dispozici, je určený pro strojové zpracování, pro překladač. Na mých vlastních sto řádků kódu připadá tisícovka řádků generovaných. Není v lidských silách se v tom vyznat.
* Interní editor je nesmírně otravný. Jestliže někdo píše jako blesk – sem tam uhodí – pak jistě ocení, že mu editor nabízí různé alternativy, ze kterých si lze vybrat. Pokud ale někdo píše rychlostí kolem půl tisícovky úhozů za minutu, pak editor, který mu automaticky za jeho prsty přepisuje text, je pouze k zlosti.
* Editor neustále obtěžuje s různými nápovědami. Zavírání okna s nápovědou na každém slově aspoň dvakrát prostě zdržuje.
* Interní editor je neuvěřitelně pomalý. Nevím, jestli neustále něco vyhledává v dokumentaci a ve zdrojových tvarech, ale ani na 2GHz čtyřiašedesáti bitovém Athlonu s 2GB RAM editor nedokázal sázet písmenka na obrazovku rychleji, než jsem dokázal psát.
* V editoru existují situace, kdy Enter nedovede odřádkovat.
Našlo by se toho víc – utekl jsem od NetBeans někdy v létě a teď jsem si vzpomenul už jen
na věci, které mi nejvíce pily krev.
Jo – a v konqueroru nelze odeslat komentář. Na rootu ostuda, ne?
Jen rypnuti: … editor nedokázal sázet písmenka na obrazovku rychleji, než jsem dokázal psát.
Doporucte prosim editor, ktery dokaze cist myslenky a sazet pismena rychleji, nez jsem schopny psat. Velmi by mi to ulehcilo praci. :-)
Vim, nebo jVi pro NB:-)
Já jsem zkoušel Netbeans jako PHP IDE a Eclipse PDT a Netbeans zvítězilo, "intellisense"
naprosto v pohodě, doplňuje metody, proměnné, prostě všechno co potřebuji, šablony kódu, doplňování CSS, HTML, dobrá podpora javascriptu, generování phpdocu.
Dokonce se prý v něm dá i debugovat PHP a javascript, ale to jsem nezkoušel.
A v čem je pro mne Netbeans lepší,
– nastavování a volby v menu jsou pro mne mnohem přehlednější než u Eclipse, tam jsem
se nějak nemohl zorientovat
– na webu netbeans je samostaná verze IDE pro PHP, včetně night buildů, zdá se mi to mnohem příjemnější než u PDT, které se na webu presentuje více jako eclipse plugin
– menší velikost
– vytvářejí ho převážně Češi :-)
Držím podpoře PHP v Netbeans palce, za velmi krátký čas je Netbeans jako PHP IDE srovnatelné dle mého názoru s Eclipse PDT.
Netbeans pouzivam pri vyvoji aplikaci v Ruby on Rails a muzu jedine doporucit :).
Zkouším 6.5 for PHP a nějak mi nejde zprovoznít ukládání na http://FTP..
Test připojení na FTP vždycky dopadne dobře, ale když chci stáhnout/nahrát soubor(y) z/na FTP, napíše to 'Cannot write to system temp directory (C:tmp)' a nejde to.
Mám XP. Temp dir je skutečně C:tmp.
Setkal jste se s tím někdo?
Netbeans mají z trojice Eclipse, IntelliJ IDEA a Netbeans nejslabší editor kódu – podle mého názoru. V tomto směru je hodně ještě co zlepšovat. Krokem vpřed je kompilace-on-save, což umožňuje rychleji a pružněji reagovat na aktuální situaci a podle toho opravovat žárovky.
NB jsou naopak silné u webového vývoje (skvělá podpora J2EE) a tam mají zase trošku navrh co se týká nástrojů. Pořád ale to nejdůležitější – totiž java editor – nemá tolik funkcí a chová se značně odlišně, od jiných editorů (i třeba čistě textových).
Fandím Netbeansům, ale musíme dělat s OSGi a Eclipse Platform, tudíž NB nepadají v úvahu.
> skvělá podpora J2EE
Doporucuji J2EE s GlassFishem ve spojeni EJB a Swing aplikaci, a nebudete se stacit divit.
NetBeans se mi hned ze zacatku libil svoji filosofii. JBuilderu a Eclipse vubec nejsou intuitivni – proste mi nebyly sympaticke. NetBeans jsou elegantni a sympaticke a jsem hrdy na to, ze je vymysleli Cesi.
Take me zlobi, kdyz program startuje pomalu, ale na druhou stranu se mezitim podivam na internet. A mam povolene pluginy, ktere pouzivam.
Krome CVS NB podporuje Mercurial.
Editor od verze 6.1 je supr. 5.5 byl oproti Eclipsu jen textak. A napovedne hinty si muzete programovat sami.