Electron vs GTK rubrika: Programování: JavaScript
Zdravím,
zaujímalo by ma prečo sa pri programovaní desktopových aplikácií v JS tak veľmi využíva Electron, ktorý je náročný na prostriedky, a nie napr. GTK? Ako viem že GTK je troška omedzujúcejšie v tvorbe UI, ale myslím si že je GTK výrazne lepší než Electron čo sa prostriedkov týka. Aj keď chápem že pri Electron aplikácií využíva len obyčajné HTML a CSS pre tvorbu UI, čož je zrejme jednoduchšie a viacerý to už vedia, než sa učiť GTK, i tak si ale myslím že GTK pri tvorbe aplikácií je lepšia voľba či už ide o výkon ale aj o ďalšie faktory. Aký máte vy názor, a máte nejaké skúsenosti s Electronom alebo s GTK, čo si myslíte že je pro a proti?
Původně GTK neobsahovalo stylování tak moc podobné css jako dnes. A stále to není ještě ono. Snadno tam vznikají chyby, kdy musíš ošetřit, někdy vysloveně hacknout situace, kdy ti nějaký prvek vytejká z boxu. S GTK se dělá moc pěkně, a má spoustu výhod. Na druhou stranu...
HTML/CSS je známá a provařená věc. Ověřené techniky, které mnoho lidí zná, je na to mnoho materiálů. Ve výsledku s HTML/CSS můžeš "kreslit" snáze a lépe, než vytvářet vlastní widgety v GTK (né, že by to nešlo, ale není to tak pohodlné). Nemluvě o tom, že můžeš vzít webovou apku, kterou stejně máš, a překlopit ji do Electronu. To se prostě počítá.
Já sám mám GTK moc rád. Osobně bych dal vždy přednost GTK před Electronem z mnoha důvodů (výkon, spotřeba, look&feel Electronu). Na druhou stranu, když budu dělat businnes aplikaci, tak do toho mého pocitu začnou moc kecat peníze.
Pro desktop schází stejně pohodlnej UI toolkit jako je Electron. Posledně se o to pokoušel wxWidget, ale ten mi přijde že nějak ustrnul. Sám si dělám abstrakci, ne nepodobnou HTML/CSS, ale to si mohu dovolit pro sebe. Jinak zatím nevím o ničem, co by bylo dostupné out-of-the-box.
Pár poznámek:
wxWidget zastarává, a obecně mám s ním špatné zkušenosti.
GTK hodně používá css-like stylování. Má už i něco jako flexbox, což je super.
QT má své vlastní způsoby stylování. Dost mocné a šikovné. Ale musí se to umět. Má Quick, ale ten je takovej divnej přílepek. Čekám co s tím vymyslej.
Volně v komunitě pak existuje třeba yue (sám zatím používám pro nějaké hračky). Na jednu stranu to umí komplet flexbox, na druhou stranu už narážím na dokumentaci (kompletní ale strohá) a příkladů je taky jen pár. Je to lákavé, že to podporuje všechny tři platformy, na druhou stranu mi vrtá červík, že se na to vykašlu, a jako backend použiju rovnou GTK + WinAPI + Cocou.
Pro plný přístup na Devel.cz se prosím přihlaste:
Nebo se přihlaste jménem a heslem: