Hacker News

Prikaži HN: Vertex.js – 1kloc SPA okvir

Komentari

12 min read Via lukeb42.github.io

Mewayz Team

Editorial Team

Hacker News
Evo članka:

Uspon mikro okvira: zašto programeri odbacuju prenapuhani JavaScript alat

Razvojni programer nedavno je za Hacker News objavio okvir aplikacije na jednoj stranici sastavljen od otprilike 1000 redaka koda, a odgovor je bio snažan. Projekt — minimalistički SPA okvir — ponovno je pokrenuo raspravu koja već godinama tinja u zajednici web programera: jesu li naši alati postali presloženi za probleme koje rješavaju? Kada Reactova temeljna biblioteka, njegov usmjerivač, sloj za upravljanje stanjem i alati za izgradnju zajedno teže stotinama tisuća linija koda, okvir koji pruža usmjeravanje, reaktivnost i renderiranje komponenti u samo 1000 redaka nameće neugodno pitanje. Za tvrtke koje izrađuju aplikacije okrenute korisnicima, odgovor na to pitanje ima stvarne posljedice — u vremenu učitavanja, produktivnosti programera i dugoročnim troškovima održavanja.

Što okvir od 1000 redaka zapravo dokazuje

Ideja mikro okvira nije nova. Backbone.js je otprilike imao 1800 redaka označenog izvornog koda kada je debitirao 2010. Mithril.js se isporučuje s manje od 10 KB gzipano. Ono što svaki novi unos u ovoj kategoriji čini vrijednim pažnje nije sam broj redaka, već ono što on otkriva o trenutnom stanju API-ja preglednika. Moderni preglednici isporučuju se s izvornom podrškom za literale predložaka, History API, reaktivnost temeljenu na proxyju, prilagođene elemente i učitavanje modula. Prije deset godina okviri su trebali tisuće redaka samo da normaliziraju razlike između Internet Explorera i Chromea. Danas vješt programer može izgraditi potpuno funkcionalni SPA okvir kao tanki orkestracijski sloj povrh primitiva platforme.

Ovo je važno jer skreće razgovor s "koji bismo okvir trebali izabrati?" na "treba li nam okvir uopće?" Za male do srednje projekte — odredišnu stranicu s dinamičkim odjeljcima, internu nadzornu ploču, portal za kupce — odgovor je sve češće: možda ne, ili barem nije težak. Okvir od 1000 redaka dokaz je da je platforma sazrela do točke u kojoj se posao okvira smanjuje.

Naravno, okviri kao što su React i Vue i dalje zarađuju svoju težinu u velikim aplikacijama sa složenim stablima stanja, potrebama renderiranja na strani poslužitelja i timovima od 20+ programera koji imaju koristi od krutih konvencija. Ključni uvid je da pravi alat u potpunosti ovisi o opsegu problema.

Stvarna cijena nadutosti JavaScripta

Googleovo vlastito istraživanje dosljedno pokazuje da svakih 100 milisekundi dodanog vremena učitavanja može smanjiti stope konverzije do 7%. Srednja web stranica sada isporučuje više od 500 KB JavaScripta — brojka koja se gotovo utrostručila od 2015. Za tvrtke to nije apstraktna metrika izvedbe. To se izravno pretvara u gubitak prihoda, veće stope napuštanja stranice i lošije rangiranje u tražilicama.

Problem je složeniji na mobilnim mrežama. Korisnik na Android uređaju srednje klase koji se povezuje preko 3G može čekati 5-8 sekundi da stranica s puno JavaScripta postane interaktivna, čak i nakon što se početni HTML renderira. To je posebno teško za tvrtke koje poslužuju klijente na tržištima u razvoju, gdje je mobilno pregledavanje uobičajeno, a mrežna infrastruktura dramatično varira.

  • Vrijeme raščlanjivanja: velikim JavaScript paketima potrebno je više vremena za raščlanjivanje i kompajliranje, čak i prije nego što se izvrši jedan redak koda aplikacije
  • Pritisak memorije: Složene unutarnje komponente okvira troše memoriju koju bi mogla koristiti sama aplikacija
  • Umor od ažuriranja: Velike nadogradnje okvira (Angular 1 do 2, Vue 2 do 3, React class komponente do hook-ova) zahtijevaju skupe napore migracije svake 2-3 godine
  • Lanci ovisnosti: tipična mapa node_modules React projekta sadrži 800-1200 paketa, od kojih je svaki potencijalna sigurnosna ranjivost ili prijelomna promjena
  • Složenost izrade: Webpack, Babel, PostCSS i njihove konfiguracijske datoteke često premašuju aplikacijski kod koji poslužuju

Mikro okviri zaobilaze većinu tih troškova. Uz manje apstrakcija, ima manje stvari koje treba pokvariti, manje ovisnosti koje treba revidirati i manje bajtova za slanje u preglednik. Za tvrtku kojoj je potrebna brza, pouzdana prisutnost na webu bez posebnog tima za infrastrukturu sučelja, matematika sve više daje prednost jednostavnosti.

Zašto je zajednica programera podijeljena

Rasprava o Hacker News oko malih SPA okvira pouzdano stvara dva suprotstavljena tabora. S jedne strane su programeri koji su proveli godine u velikim bazama koda izgrađenim na Reactu ili Angularu i iz prve su ruke vidjeli kako se složenost okvira s vremenom povećava. Gledali su kako se jednostavne značajke pretvaraju u višednevne zadatke jer konvencije okvira zahtijevaju dirljivu konfiguraciju usmjerivača, predložak upravljanja stanjem i testne pojaseve koji ismijavaju unutarnje elemente okvira. Za ove programere okvir od 1000 redaka predstavlja oslobođenje — povratak razumijevanju svakog retka koda koji se izvodi u njihovoj aplikaciji.

S druge strane su pragmatičari koji ističu da okviri postoje jer aplikacije iz stvarnog svijeta na kraju trebaju ono što pružaju: uslužne programe za pristupačnost, internacionalizaciju, dijeljenje koda, prikazivanje na strani poslužitelja i cjevovod za zapošljavanje programera koji već poznaju alat. Mikrookvir bi mogao biti divan za vikend projekt, tvrde oni, ali pokušajte uključiti tim od pet članova u prilagođenu bazu koda od 1000 linija bez odgovora Stack Overflowa i službene dokumentacije.

Obje strane imaju valjane točke, a istina je da je izbor kontekstualan. Samostalni osnivač koji gradi MVP ima bitno drugačije potrebe od poslovnog tima koji održava aplikaciju staru pet godina. Opasnost leži u primjeni rješenja za poduzeća na probleme pokretanja ili alata za pokretanje na izazove poduzeća.

Što modernim tvrtkama zapravo treba od njihove tehnologije

Okvirna rasprava u konačnici je zamjena za šire pitanje: kako bi poduzeća trebala rasporediti svoje ograničene tehničke resurse? Svaki sat koji programer provede u konfiguriranju cjevovoda za izgradnju ili prelasku na novu verziju okvira je sat koji nije potrošen u izgradnji značajki koje služe korisnicima. Za mnoga poduzeća — osobito male i srednje operacije — idealan tehnološki izbor je onaj koji minimalizira jaz između "imam ideju" i "kupci je koriste."

Najbolja tehnološka odluka koju rastuća tvrtka može donijeti je odabir alata koji rješavaju današnje probleme bez stvaranja sutrašnjeg tereta održavanja. Bilo da to znači okvir od 1000 redaka ili potpuno upravljanu platformu, cilj je isti: potrošite svoje vrijeme na ono što vašu tvrtku čini jedinstvenom, a ne na infrastrukturu koja je potrebna svakoj tvrtki.

Ovo načelo nadilazi okvire sučelja. Poduzeća rutinski obnavljaju iste pozadinske sustave — provjeru autentičnosti korisnika, obradu plaćanja, CRM, fakturiranje, zakazivanje — jer to zahtijeva njihov odabrani tehnološki skup. Platforme poput Mewayz postoje upravo kako bi eliminirale ovaj ponavljajući rad, nudeći 207 unaprijed izgrađenih modula koji pokrivaju sve, od CRM-a i obračuna plaća do sustava rezervacija i analitike. Ista filozofija koja tjera programere prema mikrookvirima — učinite više s manje, eliminirajte nepotrebnu složenost — tjera tvrtke prema konsolidiranim platformama koje zamjenjuju desetke SaaS pretplata jednim sustavom.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Spektar okvira: pronalaženje omiljene točke

Umjesto da izbor okvira tretiramo kao binarni — mega-okvir ili mikro-okvir — pomaže razmišljati u terminima spektra. Na jednom kraju imate vanilijasti JavaScript bez apstrakcija. S druge strane, imate full-stack meta-frameworks kao što su Next.js ili Nuxt koji upravljaju usmjeravanjem, renderiranjem, dohvaćanjem podataka i implementacijom. Većina projekata pripada negdje u sredini.

Za marketinšku stranicu okrenutu klijentima s nekoliko interaktivnih elemenata, mikro-okvir ili čak inline reaktivnost u stilu Alpine.js može savršeno odgovarati. Za složenu nadzornu ploču SaaS s podacima u stvarnom vremenu, dopuštenjima temeljenim na ulogama i izvanmrežnom podrškom, zreo okvir s bogatim ekosustavom vrijedan je dodatnih troškova. Pogreška je odabir najteže opcije jer je najpopularnija ili odabir najlakše jer intelektualno najviše zadovoljava.

Praktični test je jednostavan: navedite sve značajke koje će vaša aplikacija trebati u sljedećih 12 mjeseci. Ako mikro-okvir pokriva 90% tih potreba i možete ručno pokrenuti preostalih 10% za manje vremena nego što biste potrošili na konfiguriranje većeg okvira, mikro-okvir pobjeđuje. Ako vaš popis značajki uključuje iscrtavanje na strani poslužitelja, provjeru valjanosti složenog obrasca, orkestraciju animacije i podršku za duboku pristupačnost, veći okvir vjerojatno će sam sebe isplatiti.

Lekcije za netehničke osnivače i poslovne operatere

Ako vodite tvrtku i vaš tehnički tim raspravlja o okvirima, evo što je zapravo važno. Prvo se raspitajte o vremenu do prve značajke — koliko brzo novi programer u timu može unijeti značajnu promjenu? Ako odgovor uključuje dane postavljanja okruženja i učenja okvira, to je znak upozorenja bez obzira koji je okvir odabran. Drugo, pitajte o putu nadogradnje. Okviri koji objavljuju najnovije izmjene svakih 18 mjeseci nameću skriveni porez koji se rijetko pojavljuje u početnoj evaluaciji.

Treće, i najvažnije, postavite pitanje trebate li uopće prilagođeni softver za dotičnu funkciju. Mnoge tvrtke ulažu mjesece vremena razvojnog programera u izgradnju internih alata - nadzorne ploče, CRM sustavi, tokovi fakturiranja, sučelja za zakazivanje - koji već postoje kao uglađeni, održavani proizvodi. Platforma poput Mewayza, koja opslužuje više od 138.000 korisnika s modulima koji obuhvaćaju cijeli spektar poslovnih operacija, može u potpunosti eliminirati potrebu za prilagođenim razvojem za standardne poslovne funkcije. To oslobađa vaš razvojni tim da se usredotoči na doista jedinstvene aspekte vašeg proizvoda — značajke koje niti jedan standardni alat ne može pružiti.

  1. Provjerite svoj prilagođeni kod: Utvrdite koji interni alati dupliciraju funkcionalnost dostupnu na postojećim platformama
  2. Izračunajte pravi trošak: Uzmite u obzir ne samo početni razvoj već i tekuće održavanje, sigurnosne zakrpe i zahtjeve za značajkama
  3. Procijenite konsolidaciju: Prebrojite svoje trenutne SaaS pretplate i usporedite cijenu s integriranom platformom
  4. Zaštitite svoje diferencijate: Rezervirajte prilagođene razvojne resurse za značajke koje istinski izdvajaju vaše poslovanje

Budućnost pripada namjernim izborima

Uzbuđenje oko SPA okvira od 1000 redaka nije zapravo oko samog okvira. Radi se o rastućem kretanju u razvoju softvera prema intencionalnosti — odabiru alata zato što odgovaraju problemu, a ne zato što dominiraju tržištem. JavaScript ekosustav proveo je posljednje desetljeće u utrci naoružanja značajkama i apstrakcijama. Protukretanje, predstavljeno mikrookvirima, HTML-om koji prikazuje poslužitelj i API-jima izvornim za platformu, korekcija je prema pragmatizmu.

Za tvrtke je ovaj pomak nedvosmisleno pozitivan. To znači više opcija, niže troškove prebacivanja i kulturu programera koja sve više cijeni jednostavnost i brzinu u odnosu na teoretsku cjelovitost. Bez obzira jeste li samostalni poduzetnik koji bira između WordPressa i prilagođene web-lokacije ili tehnički direktor koji procjenjuje želite li izgraditi ili kupiti svoj sljedeći interni alat, vrijedi isto načelo: najbolja tehnologija je ona koja nestaje u pozadini, dopuštajući vam da se usredotočite na služenje svojim klijentima.

Okvir od 1000 redaka podsjeća nas da snaga ne zahtijeva složenost. Najučinkovitije tvrtke — i najučinkovitiji alati — one su koje rade točno ono što je potrebno i ništa više.

Pojednostavite svoje poslovanje uz Mewayz

Mewayz donosi 207 poslovnih modula u jednu platformu — CRM, fakturiranje, upravljanje projektima i više. Pridružite se više od 138.000 korisnika koji su pojednostavili tijek rada.

Počnite besplatno danas →

Često postavljana pitanja

Što je mikrookvir poput Vertex.js?

Mikrookvir je minimalistička JavaScript biblioteka dizajnirana za rješavanje osnovnih zadataka aplikacije bez gomile većih rješenja. Vertex.js to postiže pružanjem bitnih SPA funkcija — poput usmjeravanja i upravljanja stanjem — u oko 1000 redaka koda. To je u suprotnosti s okvirima koji zahtijevaju odvojene, teže biblioteke za usmjeravanje ili stanje, smanjujući ukupnu složenost i napuhanost za manje projekte.

Zašto programeri prelaze na jednostavnije alate?

Mnogi programeri smatraju da je moderni JavaScript alat postao previše složen za prosječan projekt. Teški okviri mogu uvesti sporo vrijeme izgradnje, strmu krivulju učenja i nepotrebne značajke. Jednostavniji alati kao što je Vertex.js nude brže, razumljivije razvojno iskustvo fokusirajući se na bitne probleme koje okvir treba riješiti, bolje usklađujući sa stvarnim zahtjevima projekta.

Je li Vertex.js prikladan za velike, složene aplikacije?

Vertex.js prvenstveno je dizajniran za manje projekte gdje su jednostavnost i mali troškovi ključni. Za vrlo velike, složene aplikacije s mnogo interaktivnih komponenti, okvir s više značajki i ogromnim ekosustavom mogao bi biti prikladniji. Za timove kojima su potrebni opsežni unaprijed izrađeni moduli, usluga poput Mewayza (nudi 207 modula za 19 USD mjesečno) mogla bi pružiti potrebno korisničko sučelje i funkcionalne komponente koje nedostaju mikro-okviru.

Trebam li i dalje alat za izradu s Vertex.js?

Iako je Vertex.js sam po sebi lagan, vjerojatno ćete i dalje koristiti alat za izradu za profesionalni razvoj. Alati kao što su Vite ili Parcel potrebni su za grupiranje vašeg koda, rukovanje npm ovisnostima i omogućavanje modernih značajki JavaScripta. Međutim, cjelokupni lanac alata ostaje jednostavniji od onih koji zahtijevaju veći okviri, budući da izbjegavate složene biblioteke za upravljanje stanjem i usmjeravanje.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime