Portál AbcLinuxu, 6. května 2025 07:33
Rád bych ale, aby to fungovalo bez velké námahy pod Win stejně jako pod Linuxem. Naučit se nějaký jazyk (cyklus, podmínka apod.) se mi nezdá obtížné, nerad bych ale věnoval svůj čas pronikaní do dvou různých API - třeba MFC pro Win a GTK pro Lin.
Už jsem se domníval, že Java+Swing je to pravé pro mé potřeby, ale po přečtení určité kritiky, si nejsem jist. Mohl byste mi prosím někdo poradit, jaké mám alternativy a případně výhody+nevýhody?
Vzhledem předchozím ohnivým diskuzím, jste se základním charakterem vašeho výběru seznámem a to s klady, nebo to co se za klad považuje. Stejně jako se zápory.
Moje osobní zkušenost je, že Java + Swing je mocná zbraň, ale mocné zbraně by neměli používat bez řádného výcviku. On totiž zprasaný základ aplikace se pozná obvykle až na konci. Běží tu dle mého názoru docela korektní diskuze o Bobtnání Linuxu, která se okrajové dotkla JAVY. Většinu názorů bych klidně podepsal. Hlavně ty o nutnosti uvolňovat zdroje ono automatické spoléhání na gc a finalyze se umí vymstít.
Takže jestli je vaším cílem grafická aplikace s dynamickými layouty, případně vícejazyčná, která nasahá na systém a není na závadu určitá reakční doba ( osobně tomu říkám měkkost ) je Java + Swing pro vás dobrá volba.
Upozorňuji, že Swing není jediným grafickým prostředím Javy. Minimálné zajímavým počinem je SWT (pozor je částečně nativní a musí se instalovat podle platforem) na něco jednoduchého postačí někdy i AWT. Dle mého názoru aplikace AWT jsou tak trochu od sekyry, ale což děda byl tesař.
V Javě jde, jako v jiných jazycích, toho psát hodně. Jen prostě, jako jiné jazyky, není univerzálním všelékem. To co je pro jednoho zásadní nevýhoda je pro druhého zásadní přednost. Například dlouhé popisné identifikátory, Osobně oceňuji na Javě spoustu věcí a na spoustu nadávám. Jsem však přesvědčen že jde o zajívavý prakticky použitelný jazyk a proto doporučuji vyzkoušet. Snad je nejprve čtěte učte se snažte se pochopit logiku grafických komponent swingu model, zobrazovač, správce rozvržení atd.Stejně tak jar, classpath classloader. A až pak se pouštějte do rozsáhlejších projektů pomocí nějakých udělátek.
jak udelate napr. v Qt nebo GTK upravy na table widgetu, aby jste mohl zobrazovat treba nejaky obsahly text mezi jednotlivymi radky? Uz jste zkusil, aby to vyvojari pro vas udelali, vzali do vyvojoveho planu? Reknou vam, ze to delat nebudou => a vyvoj se zastavil ...Ano, pokud to berete takhle, tak se skutečně vývoj zastavil, ale to platí i u těch menších knihoven - to by pak knihovny asi pěkně rostly, když by autoři implementovali funkčnost na přání. IMHO všechny knihovny jež jsem jmenoval mají funkčnost (alespoň pro mne) dostatečnou, já jsem spokojen a stačí mi jen, aby to chodilo. Proto se osobně raději spolehnu na knihovny, které jsou více používané - tam je alespoň větší šance, že se případné chyby/nefunkčnosti pokusí někdo odstranit, i kdyby stávající autoři na tuto činnost rezignovali. Radek
S swingem už jsem si něco zkoušel, je to hezké, škoda jen, že neexistuje nějakej sw, kterej by vyslednej bytekod překousal ještě do binárního kodu dané platformy, včetně nahrazení napodobených grafických prvků těmi nativními pro danou platformu. To by pak byl můj jazyk snů:)
gcj
stejně nenapíše, a pro ostatní je podle mne rozdíl mezi nativním kódem (který vyleze z překladače) a virtuálním strojem s bytekódem nepodstatný.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.