Neměli ho dělat multipatformní. UI Datovky je přímočaré a udělat ho nativní by nebyl žádný velký overhead. Obecně se úspory z použití multiplatformních frameworků dost přeceňují.
Já to NIC u Datovky vlastně moc nevyčítám, je to příklad aplikace kterou nejde monetizovat, a uživatel není zákazník a buď bere nebo nechá být, a ta aplikace nakonec dělá to co je třeba.
Je otázka jestli cílem je co nejvíc ušetřit a nebo mít kvalitní aplikaci.
U Datovky si dovedu představit důvody proč je to tak jak to je, a NIC to nezazlívám. Realistickou alternativou by pravděpodobně byla žádná Datovka. A ta co je dělá co má když si člověk zvykne na podivné UI a ovládání.
Nicméně obecně je to často, a zaznívá tady v diskusi taky, z nezkušenosti vzniklé over-engineered řešení. Psát podobnou aplikaci v custom C++ frameworku je totální overkill. Datovka není žádná rocket science, její UI se dá sestavit ze základní sady systémových UI prvků každé platformy a podobně vnitřnosti (local storage etc).
Pokud máte dobrý návrh - specifickaci - aplikace a je za tím dobrý product owner a maintenance strategie a architekt, tak je nakonec - právě včetně maintenance - tyhle věci často lacinější a udržovatelnější udělat pro každou platformu zvlášť než se pokoušet ušetřit tím že to budu mít na různých platformách - stejně. Zvlášť pokud serverové API je dané externě. Na iOS i Android najdete medior kontraktora myslím snáz než na multiplatformní Qt.
tak po tom redesignu pred rokem mi divna (pouzivam na Androidu) uz neprijde a ovladani uz vubec ne:
- side-menu reaguje na tlacitko "menu" i swipe z leve hrany lcd
- prepinani mezi prijate/odeslane je swipe vlevo/vpravo
- u zpravy jsou ikony umistene dole takze lze ovladat jednou rukou
- aktualizovat seznam zpravu je pres klasicke pull-down
- nova zprava je pres ikonu umisteno bezne vpravo-dole
- v detailu zpravy jsou pod textem prilohy
- v seznamu zprav, hold zobrazi popup menu s oznacit jako prectene/neprectene ci smazat (ano tady oproti beznosti schazi swipe zpravy vlevo/vpravo pro tyto ukony)
jinak na Desktopu pouziva GTk Xfce a prevazne GTk aplikace, az na par Qt vyjimek ktere mam naskinovane na gtk2 pouzivajici me hlavni GTk2/GTK3/Xfce tema... ale u te Datovky v Androidu ani nepoznam ze jde o Qt, vypada vicemene normalne, samozrjeme neni to primo design ala systemove aplikace v Material You, ale to treba i GooglPlay ktere je primo od Google trapne ignoruje systemovou uzivatelem nastavenou Material You barvy Accentu a cpe tam tu svoji hnusnou modrou (jo Datovku pouzivam v dark-mode, kde hnusna modra neni :)
Jo, na Androidu není žádné systémové téma. Např. nové verze Material You jsou mimo telefony Pixel o štěstí, jestli budou fungovat, např.:
https://www.reddit.com/r/oneui/comments/186kk9y/material_you_theming_broken_in_most_google_apps/
tak me na Fairphone5@Android14 funguje v google aplikacich accent barva skoro vsude: Dokumenty, Disk, Files, Ukoly, Hodiny (az na modre Start/Pauza tlacitka u Casovace), Kalendar, Kalkulacka, Keep, Kontakty, Nastaveni, Penezenka, Prekladac, Presentace, Tabulky, Zpravy
Do hnusno-modra mam: Lens, Mapy a ten PlayObchod
Sam udrzuju jeden vetsi projekt v Qt a myslim si, ze muzu hodnotit. Qt se snazi, ale nikdy se mu nepodarilo uplne prosadit. Uzivatelska zakladna proste neni dost velka. Qt bohuzel ujizdi vlak a je to cim dal vice videt. (GTK to - pokud vim - vzdalo uplne a port pro Windows opustili).
Jako uspesny se mi jevi pristup jaky ma MysqlWorkbench, koho to zajima at se podiva na jejich zdrojaky. Cele je to prevazne C++/STL plus minimalisticka GUI knihovna, ktera nativne pouziva par nativnich widgetu.
Cele je to hezke a svizne provnani na GUI ktere je cele v Javasriptu.
Ve vysledku vypada mnohem lepe nez Qt ktere si toho az prilis implementuje samo a jednoduse uz nedokaze drzet krok s konkurenci.
PS: Pak jsou tu jeste frameworky pro Javu, jako ma Eclipse anebo InteliJ, ty jsou ale extremne narocne udrzbu a verzovani a pro mensi projekty se nehodi.
V těch C++. Páč tam ani moc jiných GUI toolkitů není (GTK je ve Windows a zvláště macOS dost nepoužitelné - chybí např. tmavý vzhled pro Windows a pro macOS chybí i světlý). Jenže dnes už spousta aplikací není v C++, pro nové projekty je prostě moc drahé. Neříkám, že core část, např. výpočty, není v C++, ale UI k tomu udělá nějaký junior v nečem, kde se nezamotá.
9. 10. 2024, 15:01 editováno autorem komentáře