Kombinacia JavaEE a Windows

Re:Kombinacia JavaEE a Windows
« Odpověď #15 kdy: 12. 05. 2016, 10:20:45 »
Nekde se jede na Win s deployem na Linux. Ale poptavde receno - kdyz uz se ti nechce mit Linux na desktopu, tak snad radeji jit s davem a poridit si Maca. To je ted asi nejcastejsi varianta (Mac jako stanice, Linux jako server).
Jo, nejlíp MacBook 12"
MBP


anonym069

Re:Kombinacia JavaEE a Windows
« Odpověď #16 kdy: 12. 05. 2016, 14:23:33 »
Evidentně jste ještě nevyzkoušel IntelliJ IDEA, tam je práce s SVN, GIT i Mavenem úplně v pohodě. Psal jste že neřešíte UI, takže by stačila i Community Edition (zadarmo).

Community Edition bohužel nemá ani podporu Java EE, Spring atd., které potřebuji. Je to sice jinak špičkové IDE, ale to hlavní, co mi na ní stejně jako na Eclipse bohužel nevyhovuje, je způsob práce s Maven projekty (proto mě prosím omluvte, že házím Eclipse a IDEA z tohoto pohledu do jednoho pytle).

V Eclipse musím mít workspace a projekty do něj složitě importovat, v IDEA je to o něco jednodušší, ale je to de facto převlečené totéž. Je to pro mě problém především v případě, kdy jsou stovky sub-modulů všelijak zanořených do stromových struktur a já je nechci otevírat všechny najednou (jak kvůli přehlednosti, tak kvůli HW zdrojům). K otevřeným modulům často potřebuji otevřít jeden modul z cizího projektu, nebo více verzí téhož modulu z rozdílných branchí (které mohou navíc být vycheckoutované samostatně). V Eclipse a v IDEA je to docela problém. V NetBeans nikam nic neimportuji a nenastavuji workspace. Pouze rovnou otevřu dané Maven moduly jako projekty, a mohu si jich otevřít paralelně, kolik chci. Ihned mohu začít buildit libovolný z nich a NetBeans si samy stáhnou chybějící závislosti z Maven repository. Přímočařejší to být nemůže.

Obě IDE také vytvářejí spousty svých workspace-specifických souborů, bez kterých si neškrtnou. Pokud bych pracoval na jednom stálém projektu, nastavím SVN/GIT ignore. V cizích modulech/projektech to ale udělat jen tak nemohu a ty soubory se mi tam pak motají, v nejhorším případě je tam mohu i omylem commitnout. NetBeans berou nastavení projektu pokud možno přímo z POMu, jen v opravdu výjimečných případech pro IDE specifické nastavení modifikují POM nebo vytvoří nějaký malý soubor. Lze to ale většinou obejít globálním nastavením Mavenu. Pracovní adresář s různými indexy atd. je striktně oddělený od projektů.

Dále obě IDE mají svůj specifický build projektů (napojený na Maven lifecycle více či méně úspěšně, nebo vůbec), který nemusí dopadnou stejně jako build přímo přes Maven. NetBeans buildí Maven projekty nativně, mám tedy 99% jistotu, že na Jenkinsu pak build dopadne úplně stejně jako u mě v IDE. Ano, přiznávám jednu podstatnou nevýhodu – může to být pomalejší.

Jestli je v IDEA něco trochu jinak, než jsem napsal, tak se omlouvám, ale je to proto, že jsem to tam třeba prostě nenašel, nebo nepřišel, jak na to, protože to není tak přímočaré a intuitivní (a i to právě považuji za problém).


Pokud jde o tu práci s VCS, tak je spousta úkonů, které se nevztahují na vývoj nějakého konkrétního otevřeného modulu. Třeba high-level správa projektů, kdy chci vidět skutečný stav v souborovém systému, procházení různých repositářů atd. Občas je rychlejší i některé úpravy (třeba v POM souborech) provést v texťáku přímo ze souborového systému nebo dokonce rovnou ve VCS repository. V sebelepším IDE tohle vše může být občas těžkopádné, ale nenapsal jsem, že to zavrhuji, oba způsoby se doplňují.

podlesh

Re:Kombinacia JavaEE a Windows
« Odpověď #17 kdy: 12. 05. 2016, 17:46:38 »
Obě IDE také vytvářejí spousty svých workspace-specifických souborů, bez kterých si neškrtnou. Pokud bych pracoval na jednom stálém projektu, nastavím SVN/GIT ignore. V cizích modulech/projektech to ale udělat jen tak nemohu a ty soubory se mi tam pak motají, v nejhorším případě je tam mohu i omylem commitnout.
Můžeš si nastavit i globální gitignore:
Kód: [Vybrat]
git config --global core.excludesfile ~/.gitignore
A do něj pak všechny ide-specific soubory. A nejen ty, i pro vim se to hodí (.*.swp)

Trochu offtopic, ale na druhou stranu myslím že jsem zvedl užitečnost celého vlákna o desítky až stovky procent.

anonym069

Re:Kombinacia JavaEE a Windows
« Odpověď #18 kdy: 12. 05. 2016, 19:19:39 »
Můžeš si nastavit i globální gitignore:
Kód: [Vybrat]
git config --global core.excludesfile ~/.gitignore
A do něj pak všechny ide-specific soubory. A nejen ty, i pro vim se to hodí (.*.swp)
Pravda, na to jsem zapomněl, a v SVN od verze 1.8 je něco podobného: svn:global-ignores, to jsem zas nevěděl vůbec.

Trochu offtopic, ale na druhou stranu myslím že jsem zvedl užitečnost celého vlákna o desítky až stovky procent.
Nula od nuly pojde ;-)

Kolemjdoucí

Re:Kombinacia JavaEE a Windows
« Odpověď #19 kdy: 12. 05. 2016, 19:29:36 »
V Eclipse musím mít workspace a projekty do něj složitě importovat, v IDEA je to o něco jednodušší, ale je to de facto převlečené totéž.

S tím velmi podstatným rozdílem že v IDEA funguje automatická synchronizace projektu podle pom.xml, zatímco v Eclipse to je takové nějaké podivné.

Je to pro mě problém především v případě, kdy jsou stovky sub-modulů všelijak zanořených do stromových struktur a já je nechci otevírat všechny najednou (jak kvůli přehlednosti, tak kvůli HW zdrojům).

V IDEA na ten top level modul použijete File - New - Project from Existing Sources a ono se to naimportuje samo, je to sice o pár kliknutí víc než v NetBeans ale nic tragického. Přehlednost je v pohodě, v pohledu Project jsou jednotlivé moduly stromově setříděné. Náročnost na HW zdroje nevnímám, prostě to funguje (SSD a dostatek RAM pokládám za samozřejmost).

K otevřeným modulům často potřebuji otevřít jeden modul z cizího projektu, nebo více verzí téhož modulu z rozdílných branchí (které mohou navíc být vycheckoutované samostatně).

Jeden modul z cizího projektu: File - New - Module from Existing Sources

Více verzí téhož modulu z rozdílných branchí: pro každou branch si dělám extra projekt, je možno mít otevřených víc projektů (každý ve svém okně).

Obě IDE také vytvářejí spousty svých workspace-specifických souborů, bez kterých si neškrtnou. Pokud bych pracoval na jednom stálém projektu, nastavím SVN/GIT ignore. V cizích modulech/projektech to ale udělat jen tak nemohu a ty soubory se mi tam pak motají, v nejhorším případě je tam mohu i omylem commitnout. NetBeans berou nastavení projektu pokud možno přímo z POMu, jen v opravdu výjimečných případech pro IDE specifické nastavení modifikují POM nebo vytvoří nějaký malý soubor. Lze to ale většinou obejít globálním nastavením Mavenu. Pracovní adresář s různými indexy atd. je striktně oddělený od projektů.

Takže modifikace pom.xml nevadí? Malý soubor nevadí? No to jsou věci. Navíc nechápu jak může vadit pokud do repository kam máte oprávnění udělat commit pošlete svn:ignore *.iml nebo .idea. Zkuste při importu pom.xml do IDEA zaškrtnout "Keep project files in" a vyplnit nějaký adresář, snad budete spokojený.

Dále obě IDE mají svůj specifický build projektů (napojený na Maven lifecycle více či méně úspěšně, nebo vůbec), který nemusí dopadnou stejně jako build přímo přes Maven.

Viděl jste vůbec naimportovaný Maven projekt v IDEA? Vždyť tam se spouští přímo Maven phase pomocí verze Mavenu kterou si určíte, s Maven profily které si vyberete!

Kdysi jsem taky používal na Maven projekty NetBeans, ale když jsem zjistil že nešlo oindexovat zdrojové kódy závislostí z Maven repository tak jsem utekl k IDEA. Byl to pro mě naprostý blocker, rozbalovat lokálně zdrojáky od všech závislostí jen aby šly oindexovat (a šlo v nich vyhledávat) bylo neskutečně otravné. Toto už sice ve verzi 8.1 dodělali, ale zpátky už jsem nepřešel.


anonym069

Re:Kombinacia JavaEE a Windows
« Odpověď #20 kdy: 12. 05. 2016, 22:15:03 »
...
Ale právě kvůli tomuhle všemu mi IDEA nevyhovuje. Těch pro vás "pár kliknutí navíc" je pro mě zase peklo – v každém dialogovém okně musím/můžu něco vybrat, zaškrtnout, nastavit, vyplnit... minimálně si ty možnosti musím alespoň přečíst, abych vůbec věděl, co dělám.

Nevím, v jak velkém projektu pracujete? Já si teď spočítal, že jen v trunkové branchi hlavního projektu máme téměř šest set modulů a modulů v projektu s podpůrnými knihovnami je rovněž kolem pěti set, k tomu desítky branchí pro různé verze, a tohle celé ještě vynásobeno možná dvaceti pro další projekty odvozené z hlavního projektu. Náplní dobré poloviny mé práce je neustále někde něco analyzovat, odpovídat každou chvíli na dotěrné otázky kolegů ohledně kódu, nad kterým jako naschvál zrovna vůbec nepracuji (a druhá polovina práce jsou administrativní zbytečnosti, jo kdybych tak měl možnost přijít do práce, sednout k jednomu úkolu, pracovat na něm do večera a pak jít domů). A k tomu potřebuji stále otevírat a zavírat moduly tak, jak jsem popsal. Naše stromová struktura zase není tolik hluboká, abych si vše mohl dovolit otevřít ve stromečku a zároveň nic nepřekáželo (jedna rozbalená větev vezme téměř celou obrazovku). A při individuálním otevírání by mě zase v takovém počtu modulů těch "pár kliknutí navíc" zničilo.

Abyste ale neřekl... vše, co jste napsal, si tu poctivě zkouším, ale bohužel ne... ta jednoduchost a přímočarost NetBeans tam prostě není ;-) Každý má jiné priority a pro mě je tohle tak klíčové, že NetBeans odpustím, že mají ze všech tří "velkých" IDE možná nejméně funkcí a spoustu jiných nedokonalostí.

PS: RAM není nikdy dost.

Kdysi jsem taky používal na Maven projekty NetBeans, ale když jsem zjistil že nešlo oindexovat zdrojové kódy závislostí z Maven repository tak jsem utekl k IDEA. Byl to pro mě naprostý blocker, rozbalovat lokálně zdrojáky od všech závislostí jen aby šly oindexovat (a šlo v nich vyhledávat) bylo neskutečně otravné. Toto už sice ve verzi 8.1 dodělali, ale zpátky už jsem nepřešel.
Ano, tohle byl velký zásek, někteří kolegové eclipsáři se mi dříve zrovna kvůli tomuto sem tam vysmívali. Ale mě to zase tolik neomezovalo, 3rd party závislostí nepoužíváme tolik (hlavně nemusíme moc zkoumat jejich kód), a naše vlastní knihovny si mohu jednoduše otevřít.

Kolemjdoucí

Re:Kombinacia JavaEE a Windows
« Odpověď #21 kdy: 12. 05. 2016, 22:54:30 »
Ale právě kvůli tomuhle všemu mi IDEA nevyhovuje. Těch pro vás "pár kliknutí navíc" je pro mě zase peklo – v každém dialogovém okně musím/můžu něco vybrat, zaškrtnout, nastavit, vyplnit... minimálně si ty možnosti musím alespoň přečíst, abych vůbec věděl, co dělám.

Naučit se používat nástroje možná není jednoduché, ale je to velmi dobrá investice pro budoucí efektivitu práce. Pro začátek má IDEA v dialogových oknech předvyplněné rozumné defaulty.

potřebuji stále otevírat a zavírat moduly tak, jak jsem popsal. Naše stromová struktura zase není tolik hluboká, abych si vše mohl dovolit otevřít ve stromečku a zároveň nic nepřekáželo (jedna rozbalená větev vezme téměř celou obrazovku). A při individuálním otevírání by mě zase v takovém počtu modulů těch "pár kliknutí navíc" zničilo.

Vytvořit IDEA projekt z top-level pom.xml je trochu práce, ale jen málo a hlavně pro jednu branch se to dělá jen jednou! Pak už se ten projekt automaticky synchronizuje se změnami v pom.xml (top-level i podřízenými). Potom už jen otevíráte a zavíráte IDEA projekty podle toho kterou branch potřebujete - zkuste to a uvidíte že to není složitější než v NetBeans, jde jen o to jednorázové nastavení.

anonym069

Re:Kombinacia JavaEE a Windows
« Odpověď #22 kdy: 13. 05. 2016, 00:14:54 »
Naučit se používat nástroje možná není jednoduché, ale je to velmi dobrá investice pro budoucí efektivitu práce. Pro začátek má IDEA v dialogových oknech předvyplněné rozumné defaulty.
Souhlasím, ale na druhou stranu spoustu úkonů zase dělá člověk jen jednou za čas a mezitím zapomene, jak přesně na to. Zde se určitá intuitivnost hodí, aby člověk snáze našel to, co hledá. Nemluvím teď zrovna o tom způsobu práce s projekty, ale o celkovém konceptu a filosofie práce v jakékoliv aplikaci (práce s projekty jde jen ruku v ruce s tím).

Vytvořit IDEA projekt z top-level pom.xml je trochu práce, ale jen málo a hlavně pro jednu branch se to dělá jen jednou! Pak už se ten projekt automaticky synchronizuje se změnami v pom.xml (top-level i podřízenými). Potom už jen otevíráte a zavíráte IDEA projekty podle toho kterou branch potřebujete - zkuste to a uvidíte že to není složitější než v NetBeans, jde jen o to jednorázové nastavení.
Beztak myslím, že to není úplně to pravé ořechové v případě jednotlivých malých projektů, které si jen dočasně vycheckoutuji, abych si je mohl na chvíli otevřít v IDE, a pak je zase hned smažu. Nicméně není to zas tak častý případ, tak až se k ní zase vrátím, snad si vzpomenu na tohle vlákno a zkusím to. Dnes jsem tím zabil půl dne a to mi stačí ;-) Pro seriozní práci bych si stejně musel koupit placenou verzi (kvůli Java EE) a to se mi nechce.

Lael.Ophir

Re:Kombinacia JavaEE a Windows
« Odpověď #23 kdy: 13. 05. 2016, 03:40:24 »
Popravde trocha zvazujem aj ze sa dam na .NET, prave kvoli windowsu

Jak už psali ostatní, není problém vyvíjet ve Windows. Osobně bych si radši vybral .NET, protože se toho v něm dá napsat víc, včetně "plné" desktopové aplikace nebo servisu, ale každému co jeho jest.

Natix

Re:Kombinacia JavaEE a Windows
« Odpověď #24 kdy: 13. 05. 2016, 10:46:33 »
Nevím, v jak velkém projektu pracujete? Já si teď spočítal, že jen v trunkové branchi hlavního projektu máme téměř šest set modulů a modulů v projektu s podpůrnými knihovnami je rovněž kolem pěti set, k tomu desítky branchí pro různé verze, a tohle celé ještě vynásobeno možná dvaceti pro další projekty odvozené z hlavního projektu...

Kde že prosím tě pracuješ? Ať vím, jaké firmě se rovnou vyhnout.  :)

anonym069

Re:Kombinacia JavaEE a Windows
« Odpověď #25 kdy: 13. 05. 2016, 22:24:22 »
Kde že prosím tě pracuješ? Ať vím, jaké firmě se rovnou vyhnout.  :)
Jo, já to prozradím, a pak už tam také další den nebudu muset chodit ;-)