Jak nejlépe programovat GUI v Javě?

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #15 kdy: 29. 12. 2013, 10:13:40 »
Jinak souhlasim s tim, ze Java je na desktopu obdobne mrtva jako Linux. Coz znamena, ze to neni a asi nikdy nebude mainstream, vyber programu a knihoven je mensi... ale pro vetsinu veci tam najdes celkem pohodlne reseni a pokud ti nevadi, ze nejdes s hlavnim proudem, tak to muze byt, v zavislosti na okolnostech, i celkem prijemne


DK

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #16 kdy: 29. 12. 2013, 10:17:46 »
C#, mono, Xamarin

a ty memory leaky a narocnost, co vznika pouzitim te zhovadilosti jmenem mono, ti nevadi?

andy

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #17 kdy: 29. 12. 2013, 10:20:38 »
No tak teraz som si skusil javafx, uz to sice ficalo v pohode (mam ale druhy pc), ale chvila klikania a 360M heap. A celkom nevidim zmysel dat tam cely webkit, potom mozem robit cele ui v html. Lenze to by tam nesmeli dat tak hnusne fonty. Swing to mal dobre, nechapem preco to dobabrali.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #18 kdy: 29. 12. 2013, 10:59:12 »
OpenOffice neni v jave ale v c++.
Podival jsem se na to znova a mate castecne pravdu, Java je pouzita jen na urcite casti.

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #19 kdy: 29. 12. 2013, 11:00:41 »
no neviem ci je celkom pravda, ze netbeans slape celkom v pohode. Ja som pouzival Netbeans na ubuntu na skolsky projekt robeny v C++. Neslo o ziadny extra velky projekt. A poviem dost to sekalo a islo pomaly. :/

Ubuntu nepoužívam, takže neviem posúdiť. Samozrejme NetBeans potrebuje veľa pamäti a svižný FS. Na notebooku mám Gentoo amd64, javu sedmičkovú od Oracle a NetBeans  vždy najnovší priamo zo stránky. Mne šlape bez problémov, akurát kompiláciu väčších projektov v Jave robím radšej na desktope. (pomalý procesor)

inac ak nieco na desktop tak jednoznacne .net(wpf, winforms) to nie su ziadne pofiderne frameworky. Mozno este c++ a mfc, ale to uz asi ide do uzadia. Jedno treba uznat, ze MS to s tymito vecami vie a da si zalezat.

Zhovedilosti od M$ mi na notebook nesmú. M$ pomerne slušne ukradol Javu a z toho urobil .net. Sám od tejto absurdity vo w8 upúšťa, takže nechápem, prečo v tom niečo nové vyvíjať. Okrem toho to pôjde jedine na windoze.(mono je paskvil)


Magic

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #20 kdy: 29. 12. 2013, 11:29:36 »
Citace
Zhovedilosti od M$ mi na notebook nesmú. M$ pomerne slušne ukradol Javu a z toho urobil .net. Sám od tejto absurdity vo w8 upúšťa, takže nechápem, prečo v tom niečo nové vyvíjať. Okrem toho to pôjde jedine na windoze.(mono je paskvil)

Hodne nenavisti, malo informaci. Ze se MS pri navrhu .NET inspiroval Javou je myslim evidentni. Pred 10 rokama, kdyz byl .NET ve verzi 1.1, to byla oblibena narazka. V dnesni dobe dobe hodna uz jen zapskleho trolla na rootu. Dnes je .NET ve verzi 4.5 a moc dobre nechapu, jak muze vykradat Javu, kdyz v podstate vsechny featury od verze 2.0 dal byly nejdriv v C# a az potom v Jave. Plus, k nekterym featuram nema Java alternativu dodnes. Lambda vyrazy, LINQ, anonymi typy... Mozna jsou v Jave 8 - Javu tolik nesleduju ale nemeni to nic na tom, ze v C# byly driv. Ale chapu, je to MS takze to beztak obslehli z budoucnosti, hajzli.

Ze je Mono nekvalitni bych taky netvrdil. Jednak se bezne pouziva pro komercni aplikace a druhak o nem Google zcela vazne uvazoval jako o platforme pro beh aplikaci na Androidu. Rozhodl se tehdy sice pro Javu ale uz to, ze Mono bral jako alternativu IMHO neni spatny vykon.

jan.xxx

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #21 kdy: 29. 12. 2013, 12:30:09 »
Zakladni trik je nedelat ve Swingu nic, co by zablokovalo thread, ve kterem se ridi GUI (event dispatch thread).

Precti a aplikuj http://docs.oracle.com/javase/tutorial/uiswing/concurrency/ Tim mas za sebou 80% k uspechu.
Do tech 20% se ti casem prida nutnost nastavit GC, aby nedelal stop-the-world a dalsi drobnosti, ale to nejdulezitejsi je delat cokoli jen trochu delsiho ve vlastnim threadu (ne nutne rucne spoustenem, ruznych toolu, co ti v tom pomohou je v jave kopec, staci si jenom vybrat).

Mohl bych poprosit na nasměrování na ty tooly?

DK

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #22 kdy: 29. 12. 2013, 12:42:00 »
...
Ze je Mono nekvalitni bych taky netvrdil. Jednak se bezne pouziva pro komercni aplikace a druhak o nem Google zcela vazne uvazoval jako o platforme pro beh aplikaci na Androidu. Rozhodl se tehdy sice pro Javu ale uz to, ze Mono bral jako alternativu IMHO neni spatny vykon.

zdroj? pochybuju, ze by uvazovali o takove prasarne pro nasazeni milionum uzivatelu, kdyz to vyzaduje mnohem vice veci nez java a je to nestabilni

Kolemjdoucí

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #23 kdy: 29. 12. 2013, 13:01:09 »
to nejdulezitejsi je delat cokoli jen trochu delsiho ve vlastnim threadu (ne nutne rucne spoustenem, ruznych toolu, co ti v tom pomohou je v jave kopec, staci si jenom vybrat).

Mohl bych poprosit na nasměrování na ty tooly?

mně se osvědčil http://docs.oracle.com/javase/6/docs/api/javax/swing/SwingWorker.html

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #24 kdy: 29. 12. 2013, 13:48:04 »
noname:

Koukám, že mnoho lidí tu radí Swing, což je celkem slušná knihovna, bohužel ale desktop technologie se posouvají trochu dále, což se o Swingu říci nedá. Zkus nahlédnout i na JavaFX (verze 2). Aplikace v něm napsané nejsou výrazně náročnější než u Swingu a lépe umožňuje oddělit uživatelské rozhraní od kódu aplikace (má např. i nativní podporu pro databinding).

JavaFX v. 1 byl hodně neúspěšný pokus Sunu udělat "něco jako WPF na .Netu" a dopadlo to dost tragicky. Současná verze už je celkem použitelná, bohužel na mnoho novinek se čeká až s vydáním Java 8.

Jinak s tím, že cokoliv delšího než cca 250ms, co se v aplikaci děje, se má dít ve vlákně na pozadí, platí samozřejmě obecně. Podíváš-li se např. na framework Griffon (je sice pro groovy, ale využívá Swing/JavaFX), tam již jsou připravená řešení právě pro tyto příklady a nemusíš se s tím drbat sám.

Pupi_1

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #25 kdy: 29. 12. 2013, 13:55:23 »
Zhovedilosti od M$ mi na notebook nesmú. M$ pomerne slušne ukradol Javu a z toho urobil .net. Sám od tejto absurdity vo w8 upúšťa, takže nechápem, prečo v tom niečo nové vyvíjať. Okrem toho to pôjde jedine na windoze.(mono je paskvil)

isto MS neupusti od .netu, kedze uz je framework 4.5, a bude sa vyvijat dalej. S monom nemam skusenost, ale nalejme si cisteho vina: co je na tom, ze to pobezi len na windowse? kolko uzivatelov vyuziva linux, aby bolo potrebne robit cross-platform aplikacie? Mozno pre servery. Radsej mat aplikaciu, ktoru vyuzije niekolko nasobne viac uzivatelov, ako u linuxu a bude to poriadna aplikacia

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #26 kdy: 29. 12. 2013, 14:58:30 »
isto MS neupusti od .netu, kedze uz je framework 4.5, a bude sa vyvijat dalej.
Podle nekterych zprav, co jsem cetl, ve Win8 MS od .NETu ustupuje (ale moc to nesleduju). Pochybuji, ze by MS opustil .NET uplne, ale je mozne, ze proste zamysli dostat .NET na servery a o desktop jim nejde - tento thread je ale prave o desktopu (a o GUI; opravdu neresim, ze MS serverove produkty maji GUI, ikdyz je to naprosto zbytecne).

S monom nemam skusenost, ale nalejme si cisteho vina: co je na tom, ze to pobezi len na windowse? kolko uzivatelov vyuziva linux, aby bolo potrebne robit cross-platform aplikacie? Mozno pre servery. Radsej mat aplikaciu, ktoru vyuzije niekolko nasobne viac uzivatelov, ako u linuxu a bude to poriadna aplikacia
Prestoze jazyk i platforma se mi velice zamlouvala (C# na .NETu), presel jsem na Javu a Scalu. Jeden z duvodu byl prave ten, ze chci vyvijet aplikace, ktere jsou multiplatformni. Zaroven nechci prispivat k udrzovani aktualniho stavu na desktopech, kdy skoro vsichni maji doma (upiratene/vnucene pri koupi) Winy jen kvuli aplikacim (hram), nikoliv kvuli kvalitam OS samotneho.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #27 kdy: 29. 12. 2013, 15:00:21 »
Zhovedilosti od M$ mi na notebook nesmú. M$ pomerne slušne ukradol Javu a z toho urobil .net. Sám od tejto absurdity vo w8 upúšťa, takže nechápem, prečo v tom niečo nové vyvíjať. Okrem toho to pôjde jedine na windoze.(mono je paskvil)

To, že .Net je ukradený paskvil, se dalo říct ve verzi 1.0 nebo 1.1. V dnešní době, tedy době 4.0 a 4.5 je situace přece jen jiná. A co se týče Windows 8 ... ty mají .Net Framework 4.5 předinstalovaný a mnoho systémových věcí je na něm závislých. Není pravda, že by se od něj upouštělo.

Možná máš na mysli Windows RT, tedy runtime pro tu zhulenost místo nabídky Start. Tam je technické řešení trochu jiné právě kvůli tomu, že ARMové tablety a telefony mají nižší výkon.

carminered

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #28 kdy: 29. 12. 2013, 16:13:36 »
Proc se trapit s Javou, kdyz lze pohodlne a rychle udelat GUI aplikaci v Pythonu nebo Ruby nad Qt nebo Gtk(resp. wxWidgets) ? Rychlost zrovna u GUI nebude problem, navic jsou to jen bindingy kdy vetsi cast kodu stejne pobezi z knihoven zkompilovanych z C/C++.

Juro

Re:Jak nejlépe programovat GUI v Javě?
« Odpověď #29 kdy: 29. 12. 2013, 17:02:19 »
Proc se trapit s Javou, kdyz lze pohodlne a rychle udelat GUI aplikaci v Pythonu nebo Ruby nad Qt nebo Gtk(resp. wxWidgets) ? Rychlost zrovna u GUI nebude problem, navic jsou to jen bindingy kdy vetsi cast kodu stejne pobezi z knihoven zkompilovanych z C/C++.
Napr. Preto, lebo ked si dam inzerat na Java programatora, mam do tyzdna N pohovorov. Ked si dam inzerat na pythonistu, mam N/100, co hravo prevysi akykolvek (teoreticky) benefit.