K Putter:
> Z výkonnostních důvodů je Puter postaven na čistém JavaScriptu a jQuery.
Tak to mi nejak nevychádza, alebo malo byť cieľom aby to bolo pomalšie? A bolo by to moc výkonné ak by vybrali moderný framework?
V linku:
> Why isn't Puter built with React, Angular, Vue, etc.?
Tak React a Angular je pomalý to je jasné, ale Vue? Stačí sa pozrieť na benchmarky, btw. máme tu ešte aj Svelte, Solid, a mnoho ďalších výkonných frameworkov, ktoré sú teda výkonnejšie než čo človek vie urobiť s jQuery, ktorý nafukuje aplikáciu o 80kB, a výkonovo kým to používa starý Sizzle engine to nie je moc výkonné. Ešte navyše ExpressJS, ktorý je tiež prekonaný, a to nehovorím o tom ako to kompilujú.... prečo nepoužijú normálne QT či GTK+? Ak im ide o "výkon" tak to zrovna urobili veľmi špatne. Ani VSCode ktorý dávajú ako príklad, od ktorých sa inšpirovali nepoužívajú jQuery a ExpressJS, aj keď používajú Electron. A po výkonne sa dá app v Electron optimalizovať, ale bere stovky MB v pamäti aj tak. Inak ak by im šlo o výkon, nepoužili by ani Node, ale BunJS.
13. 3. 2024, 11:17 editováno autorem komentáře
Čistý JavaScript nejspíš bude pro menší aplikace rychlejší, než frameworky jako React, Vue či Angular. U středních či větších aplikací už to tak asi nebude, protože vývoj stejně nakonec skončí u toho, že ten projekt bude mít nějaký vlastní framework, který bude méně optimalizovaný, než ty známé frameworky používané miliony aplikací.
Ale to jQuery z výkonnostních důvodů je poněkud protimluv. jQuery je vrstva, která skrývala rozdíly mezi prohlížeči tím, že implementovala spoustu věcí, které mají dnes prohlížeče nativně. Použití jQuery se dá pochopit u starého projektu, který na jQuery začal a dnes to nikdo nechce přepisovat. Ale použití jQuery u nového projektu není z výkonnostních důvodů, ale z důvodu, že autor projektu stále žije v roce 2010 – takže těžko bude umět využít výkon moderních prohlížečů.
Ja som hlavne narážal práve na to jQuery,... No mnohé moderné frameworky dnes už sú aj vlastnými transpilérmi, ktoré generujú čistý JS (ako práve Svelte), takže je to fajn aj u menších app. Samozrejme nič neprebije výkon čistého JavaScriptu, ak sa teda bavíme o JavaScript ekosystéme. Samozrejme môžeme to napsať aj v assembleru a dostať naj výkon. Zas je ale otázne ako by bol taký softvér udržateľný a koľko vecí navyše by sa muselo riešiť.
Ohľadom jQuery, je to fakt absurdné, pretože najviac využívanú funkcionalitu (selektorový engine, e.g. Sizzle) je možné nahradiť pomocou jedného riadku:
const $ = document.querySelectorAll.bind(document);
Mnohé iné funkcionality sú v samotnom JS... trebárs fetch namiesto http.get, či innerText vs text, a pod. To veľmi málo čo ponúka jQuery sa dá nahradiť omnoho omnoho ľahšími knižnicami s veľkosťou do 1kB. O Animáciách nehovoriac, to čo v jQuery sa rieši skrz JS, sa dnes už dávno rieši v samotnom CSS, kde je to výkonovo úplne inde.
Takže súhlasím s tebou. Autor projektu kecá nezmysli o výkone a ako píšeš žive v 2010.
Inak vyšiel jQuery 4.0.0 Beta, ale tak ono mám pocit že celý jQuery žije len díky Wordpressu a pár knižníc (ako Bootstrap) ktoré sú na tom závislé.
15. 3. 2024, 13:58 editováno autorem komentáře
Já nějak nepochopil ten Puter ani z popisu na Githubu.
Co to tedy je? Je to desktopové prostředí kam se mohu připojit z jiného stroje přes webový prohlížeč a zapnout si tam své nainstalované aplikace - náhrada nativního GNOME?
Nebo je to pouze ve stylu administračního prostředí NASů Synology kde prostředí má své "aplikace" pevně zadrátované?
13. 3. 2024, 15:01 editováno autorem komentáře
Vzhledem k tomu, že se Puter vyvíjí (podle logu) už celé dva týdny, nepoužíval bych přítomný čas „je“, ale spíš budoucí „bude“, nebo dokonce spíš podmiňovací způsob.
Podle mne je to „desktop environment“, tedy prostředí, které řeší okénka, nabídku aplikací, spuštěné aplikace, notifikace apod. A možná nějaké aplikace zabudované v systému. Tj. „náhrada“ desktopu Gnome, KDE, Windows, MacOS. Aplikacemi si to ale podle mne musíte naplnit sám.