Portál AbcLinuxu, 6. května 2025 18:14
Píšem bežne v Qt a moje aplikácie idú na win bez problémov bez jediného ifdefu. Qt fakt pekne zotrie rozdiely medzi platformami.
Keď si na to dá človek pozor tak áno. V C++ sa mi to zdalo podstatne ľahšie. Ako príklad uvediem napr. prácu so súbormi. V C++ je jasná voľba QFile (pracuje sa s tým pohodlnejšie než s fstreamom). U pythonu to nie je tak jednoznačné, podľa mňa je with open(filename, "r") as fp geniálne a QFile tam má zase podstatne horšie API než file v pythone. Ak použijem napr. cestu získanú z Qt na otvorenie súboru v pythone tak zlyhá pretože python používa natívne cesty (v prípade windows teda spätné lomítka a podobné blbosti) lenže Qt vždy aj na windowse používa unixové cesty ktoré si interne QFile prekladá. Takže prenositeľnosť v tmto prípade závisí od spôsobu pristupu k súborom a v C++ je podstatne jednoduchšie zostať konzistentný než v pythone kde vyčačkané rozhranie na prácu so súbormi láka skôr nepoužívať Qt.
V javě ... Přenositelnost je tu asi nejlepsi za vsech.
Vůbec nic – ale někteří lidé mají prostě potřebu na jakoukoli zmínku o Javě reagovat negativně-
a pouziti defaultniho systemoveho fontu ma tendenci rozbit GUI → a pouziti defaultniho systemoveho fontu ma tendenci rozbit špatně napsané GUI
Jinak Swing odděluje logiku od vzhledu a chování, právě aby mohl nabídnout na každé platformě nativní – viz zásuvné moduly Look and Feel. Viz přílohy – jak to vypadá na MacOSu a Windows. V GNU/Linuxu nebo FreeBSD a dalších je to trochu horší, což je dané tím, že máme Qt, GTK, wxWidgets, EFL… a součástí standardní Javy je jen GTKLookAndFeel.
Jenže on ani ten program v Qt nezapadne dokonale do GTK prostředí. Nebo dokonce ani do KDE prostředí (např. různé souborové dialogy nebo styly ikon).
A aby někdo neměl pocit, že na MS Windows je situace lepší – v příloze ukázka jejich nekonzistentního GUI (a to jsou to všechno programy vyrobené jednou firmou… navíc to není konzistentní ani v rámci jednoho programu).
Hlavně je ale absurdní napsat, že GUI v Qt je přenositelnější než v Javě – protože i v té Javě můžeš dělat GUI v Qt nebo používat libovolný nativní kód psaný v C++.
Mě hrozně fascinujou ty ukázky "nativního" vzhledu odepsaných XP ve Swingu.
Proklikej si náhledy třeba tady: Netbeans – to není z Windows XP – ten vzhled se průběžně aktualizuje (to jen já jsem v minulém příspěvku našel nějaké staré obrázky).
Aktuálně nejsem schopen provést instalaci JRE 8u25 ani na jednom počítači s 64bit Windows. Prostě nedoběhne. Tak s touhle přenositelností prosímvás běžte do prdele.
Zkoušel jsi to reklamovat u Oraclu (nebo kdo ti to JRE dodal)? Nebo jen nadáváš po diskusích, kde si to nikdo relevantní nepřečte?
Chápu, že je to trochu retardovaná platforma, na které prostě nestačí napsat aptitude install openjdk-7-jre
nebo yum install java-1.8.0-openjdk
a je potřeba tam ručně stahovat instalátor z Internetu a proklikávat se jím… za to ale Java nemůže. Windows sice už nemají budoucnost, ale docela bych se divil, kdyby pro ně ten instalátor zapomněli otestovat – takže buď jsou rozbité ty Windows, nebo to nahlas jako chybu u Oraclu a vyřeší se to.
Problém není ve Windows, ale v tom, že u Oraclu soudruzi neumějí dělat s MSI. Takže je to úplně totéž, jako když někdo retardovaný špatně zabalí DEB, RPM nebo cokoliv podobného. Zbylé bláboly v kontextu tvých kydů o "nejlepší přenostitelnosti" ani nebudu komentovat.Zkoušel jsi to reklamovat u Oraclu (nebo kdo ti to JRE dodal)? Nebo jen nadáváš po diskusích, kde si to nikdo relevantní nepřečte?
Ne, nezkoušel. Už to udělal někdo jiný, viz https://community.oracle.com/message/12682542Chápu, že je to trochu retardovaná platforma, na které prostě nestačí napsat
aptitude install openjdk-7-jre
neboyum install java-1.8.0-openjdk
a je potřeba tam ručně stahovat instalátor z Internetu a proklikávat se jím… za to ale Java nemůže. Windows sice už nemají budoucnost, ale docela bych se divil, kdyby pro ně ten instalátor zapomněli otestovat – takže buď jsou rozbité ty Windows, nebo to nahlas jako chybu u Oraclu a vyřeší se to.
Krom toho ze vypadá všude hnusněTo neni imho pravda. Zalezi na pristupu programatora. I v jave lze udelat bez problemu pekne gui.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.