Server a Bundler pre vysokovýkonnú aplikáciu rubrika: Programování: JavaScript

6 Mlocik97
položil/-a 22.3.2020

Zdravím,

programujem aplikáciu vo frameworku svelte/sapper a pri tom sa rozhodujem že aký bundler by som použil, zatiaľ mi do očí padla štvorica, a to WebPack, RollUP, Parcel a requirejs. Hlavná priorita je výkon a veľkosť výsledného súboru. Taktiež sa rozhodujem medzi tým, ktorý server použiť, zatiaľ som pozeral na ExpressJS, Polka, Koa a FeatherJS. Na Internete som našiel mnoho porovnaní, ale každý je iný, si protirečia a stále nemám vôbec jasné že čo by som si mal vybrať.

odkaz Vyřešeno
4 vit.herman
odpověděl/-a 22.3.2020
 
upravil/-a 22.3.2020

Ahoj,

necítím se na to radit konkrétně který. Tak jen pár poznatků. RequireJS jsem opustil proto, že je podle mého již jednoznačně zastaralý. Hlavně nepodporoval tak přímočaře CommonJS module formát, jeho konfigurace byla také poměrně náročná. Používal jsem ho s Bowerem, dokud jsem nepřešel na jednotné NPM všude. Přešel jsem logicky na Webpack (konkurence moc nebylo), zatím nelituji. Plusem je vyzrálost, podpora a velká škále dostupných pluginů. Zásadní pro velikost výsledku je tree-shaking, což podporuje krom Webpacku RollUP i Parcel. Po krátké rešerši tvého dotazu se mi vyloženě hodně zamlouvá Parcel. Umí tree shaking, obsahuje development server a hodně mne láká zero based konfigurace. Krom toho to vypadá, že si zakládá na výkonu. Konfiguraci Webpacku za intuitivní nepovažuji, i když se postupně zjednodušuje. Výkon bych si přál trochu lepší, ale probematika výkonu je trochu složitější. Zatím v zásadě dostačuje. Každopádně Parcel příležitostně rád vyzkouším. Webpack naštěstí nemotám hlouběji do infrastruktury aplikace, tak někdy zkusím větší projekt přepracovat na ten Parcel.

EDIT: Tak čtu, že i Webpack 4 již umí zero based konfiguraci a výkon je s Parcelem srovnatelný. Že Webpack tak reagoval na Parcel. Přesto to vypadá, že Parcel bude mít jednodušší konfiguraci a lépe postavené implicitní podpory.

EDIT 2: Tak jsem ten Parcel vyzkoušel. Zdá se působivě rychlý, ale v mém případě jsem se hodně rychle začal dostávat do potíží, konkrétně s konfigurací SASSu pro použití importů s wildcards. Dokumentace je poměrně skoupá.

Komentáře

  • Mlocik97 : OK, tak som dlhšiu dobu sa snažil oboznámiť s viacerými bundlermi, a asi mi najviac vyhovuje rollup. V prípade webpacku som nevedel vyriešiť určité problémy, kvôli ktorým mi aplikácia padala. Parcel síce má jednoduchšiu konfiguráciu, ale keď som si porovnával výsledky (veľkosť, výkon,...) tak mi rollup vyšiel ako výťaz. 28.3.2020
  • vit.herman : Já jsem ještě od té doby stačil Parcel zatím zcela zavrhnout. Dílčí neintuitivní a špatně dokumentovanou konfiguraci SASSu jsem vyřešil, ale pak bundling uprostřed vytuhnul, pokaždé jinde . A to už mne přestalo bavit zkoumat... 29.3.2020
  • vit.herman : Teď jsem zjistil, že autorem Rollup je tentýž jako Svelte - Richard Harris. ušetřil bych si rady ;-) 1.4.2020
  • Mlocik97 : No, tak čím viac pracujem so Svelte/Sapper a RollUP, tým viac mám pocit, že všetky ostatné bundleri, frameworky a nástroje sú totálne k hovnu. Nechcem tu rozširovať flame, ale porovnanie React či Vue so Svelte a Sapper je pre mňa ako porovnávať konské lajno a jahody so šlahačkou. Som totálne nadšený prácou Riche, ten týpek má fakt inovatívne nápady a silný dopad pre vývoj v JS. Odporúčam aj Vám určite vyskúšať Svelte/Sapper, otvorí Vám to fakt oči, a budete mať úplne iný pohľad na vývoj v JavaScripte. Ešte pred nedávnom som sa držal AngularJS, lebo novšie frameworky mi prišli strašne blbé, mohutné a vyžadovali mnoho zbytočného boilerplate kódu, ale teraz ako sa oboznamujem so Svelte/Sapper, tak to je iný svet. Reactivita, výkon, veľkosť, aj to že sa celý framework dokážeš naučiť za 20 minút na profi úrovni je šialené. API také príjemné, že ti prijde úplne prirodzené to tak písať. Snaď jedinú nevýhodu vidím že nejaké veci sa ťažšie riešia ohľadom routingu. (BTW, toto fakt nieje Aprílový žartík) 1.4.2020
  • vit.herman : @Mlockik97: Bohužel mne dvě věci asi přidrží u Reactu: 1) TypeScript 2) Kvalitní existující knihovny komponent pro React. Rád bych to vyzkoušel, ale musel by se mi do ruky dostat nějaký menší pojektík na otestování. Zatím pracuju na větších projektech. 1.4.2020

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.