"Tata" Angulara o tome što bi danas napravio drugačije i kako instantno ubrzati web aplikacije

“Tata” Angulara o tome što bi danas napravio drugačije i kako instantno ubrzati web aplikacije

Nakon više od 15 godina u Googleu, gdje je inicijalizirao, osmislio i podigao temelje Angulara, jednog od najpoznatijih JavaScript frameworka, a potom usmjerio Googleovu kulturu prema test driven developmentu, Miško Hevery se otisnuo u samostalne vode...

Ove godine opet dolazi na Infobip Shift na kojem će predavati o “Resumable Applications” odnosno o pristupu koji može omogućiti iznimno brze web aplikacije čak i na sporijim uređajima i vezama. Ususret Shiftu uhvatila sam ga na razgovor o novim projektima, testiranju, Angularu i njegovim iskustvima od tranzistora do web frameworka!

Web koji radi brže tako što ne odrađuje što ne treba

Ako ste bili na prošlogodišnjem Infobip Shiftu vjerojatno ste imali priliku čuti njegovo predavanje koje se posvetilo brzini web stranica. Točnije, Hevery je prezentirao jedinstven pristup koji omogućuje renderiranje stranica na poslužitelju i odgađa preuzimanje koda sve dok korisnik ne stupi u interakciju s webom. Upravo time se trenutno bavi kao CTO u Builderu, platformi za vizualno dizajniranje CMS-ova.

Molimo da prihvatite sve kolačiće kako biste mogli vidjeti ovaj sadržaj

Jedan od najvažnijih projekata koji je omogućio da Builder postane to što jest je Qwik – frontend framework koji olakšava razvoj iznimno brzih web aplikacija s odličnim TTI-jem (time-to-interactive), pojašnjava Hevery:

TTI je samo jedan od mnogih dobro poznatih pokazatelja. Fokus za Qwik je osigurati da krajnji korisnik dobije najbolje moguće korisničko iskustvo, koje se svodi na smanjenje količine posla koji preglednici moraju obaviti pri pokretanju. U praksi se to svodi na isporuku manje JavaScripta. Ali rješenje nije u tome da naše web stranice manje ovise o JavaScriptu, već u tome da imamo okvire koji su pametni da ne isporučuju sav JavaScript unaprijed.

Od tranzistora do web frameworka

Kako neki od vas znaju već, Miško Hevery ima prilično zavidno i šaroliko iskustvo IT stručnjaka koji je imao priliku raditi s električnim sklopovljem računala, potom s bazama, ali i u full-stack developmentu. Danas je primarno fokusiran na frontend web frameworke, a prijašnja iskustva dala su mu jedinstvenu perspektivu kad su u pitanju performanse web stranica.

JavaScript je jezik vrlo visoke razine i ponekad je teško razumjeti sve slojeve koji su zaduženi za podizanje naše web stranice. Poznavanje načina na koji te stvari funkcioniraju pomaže u dizajniranju sustava koji su “prijateljski nastrojeni” prema performansama. Dok je niska razina performansi važna, s Qwikom smo se usredotočili na postizanje performansi ne tako da budemo učinkovitiji (mikro-optimizacija), već preskačući velike dijelove posla (makro-optimizacija).

Još dok je radio aktivno na Angularu Miško se počeo dosta angažirati i oko test-driven developmenta. Ranih 2000-tih njegovo predavanje Psychology of Testing obišlo je nekoliko konferencija i kompanija poput Netflixa i eBayja. Danas je test-driven development prilično uvriježen u industriji (iako se svugdje ne prakticira u pravom smislu riječi), no u vrijeme kada je Hevery zagovarao takav pristup, tech zajednica nije bila toliko… otvorena.

Kad sam vodio to predavanje pokušao sam uvjeriti ljude u industriji da je testiranje korisno i da je to vještina kao i svaka druga. Ono što mi je bilo zanimljivo kod programera je to što bi se oni često hvalili nepoznavanjem određenog jezika, ali svi bi se pretvarali da znaju kako raditi testiranje, iako je to vještina koja se uči kao i svaka druga. Nadao sam se da ću pomoći ljudima da to shvate kako bi se više ljudi uključilo u testiranje.

Što bi zadržao, a što promijenio u vezi Angulara?

Molimo da prihvatite sve kolačiće kako biste mogli vidjeti ovaj sadržaj

Heveryju kao ocu Angulara – koji je jedan od najpoznatijih web frameworka danas, ali nad kojim React ipak preuzima primat – nezaobilazno mi je bilo postaviti i pitanje da može vratiti u vrijeme, što bi zadržao, a što promijenio.

Mislim da smo trebali napraviti bolji posao na poslužiteljskoj strani renderiranja. Smatram da su jaka strana Angulara uvijek bile web aplikacije s jednom stranicom, a ignorirale su se aplikacije s više stranica. Mislim da je fokusiranje na MPA-ove i SSR od samog starta moglo rezultirati boljom podrškom za iste.

“Ako imate samo čekić, sve izgleda kao čavao”

Hevery je iz Googla otišao 2021., a od tada je u potpunosti posvećen razvoju Builder platforme kojom su osmislili novi pristup headless CMS-u iliti sustavu za upravljanje sadržajem koji odvaja mjesto na kojem se sadržaj pohranjuje (“tijelo”) od mjesta na kojem se prikazuje (“glava”). Trenutno tim prostorom na tržištu dominiraju rješenja koja se fokusiraju na isporuku JSON-a, što programera zarobljava u beskrajnom ciklusu ažuriranja sheme i povezivanja podataka u aplikaciji kako bi se zadovoljile marketinške potrebe, objašnjava Hevery.

Osmislili smo Builder tako da programeru damo u potpunosti konstruirane komponente za njegov tehnološki stack (Angular, React, Qwick itd.), za što je uglavnom potrebna samo jedna integracija. Programer je onda slobodniji usredotočiti se na djelotvorniji rad, nego što je to ažuriranje JSON CMS poveznica.

S obzirom na to da i sam Builder kao vizualni “drag-and-drop” CMS olakšava programiranje, zanimalo me kakav je Heveryjev pogled na no-code/low code? Ističe kako ih vidi kao nadopunu programiranju.

Prilikom izrade aplikacije, neki dijelovi su više vizualizirani i bolje prilagođeni no-code/low code alatima, ali uvijek će postojati veoma zahtjevni tehnički dijelovi gdje će no-code/low code samo smetati. Dakle, s moje točke gledišta, ne radi se tu o promjeni načina na koji radimo stvari, već o povećanju broja alata koje imamo u kutiji s alatima. To omogućuje programeru da odabere pravi alat za posao. Uostalom, ako imate samo čekić, sve izgleda kao čavao.

Vidimo se 19. i 20. rujna na Shiftu!

Za kraj, upitala sam Heveryja da udijeli savjet svim web programerima i dizajnerima koji se trenutno bore s web performansama i korisničkim iskustvom (osim korištenja Buildera :))…

Usredotočite se na količinu JavaScripta! Čak i ako ne koristite Builder editor/CMS, možete integrirati naš besplatni partytown otvorenog koda (partytown.builder.io) na svoju stranicu. Partytown premješta skripte trećih strana – od analitike do web workera, oslobađajući glavni thread da bolje reagira na potrebe krajnjeg korisnika.

Želite li čuti još par programerskih savjeta i nekonvencionalnih stavova o razvoju softvera, svakako provjerite i intervjue s Charity Majors i Kitzeom. A ako vam to ne bude dovoljno, znate gdje će toga biti napretek – u Zadru, na Infobip Shiftu.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Komentari

  1. Marko

    Marko

    07. 09. 2022. u 12:23 pm Odgovori

    Angular je prilično promašena tehnologija na zalazu koju je nadmašio React a obje tehnilogije je nadmašio Vue. Angular je za one koji jednostave stvari žele raditi na kompliciran način. To znači one kojima je ego važniji od efikasnosti tehnologije

    • Josip

      Josip

      10. 09. 2022. u 5:27 pm Odgovori

      Komentar sa glupom predrasudom bez ikakvog argumenta. I React i Angular su sasvim dobri razvojni alati, razlika je u tome što treba znati kad je dobro koristiti jedan, a kada drugi. React dozvoljava vrlo brz razvoj jednostavnijih aplikacija, dok za veće, kompleksne bi Angular bio vjerojatno bolji odabir s obzirom da sve potrebne stvari ima “in the box” bez potrebe dodavanja drugih librarya. Također Vue nikad nije nadmašio ni React ni Angular te je i dalje iza. https://gist.github.com/tkrotoff/b1caa4c3a185629299ec234d2314e190

      Iz mojeg iskustva slični komentari kao tvoj su uvijek dolazili od ljudi kojima je Angular bio prekompliciran za shvatit i upotrebljavat.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Analiza

Diskriminira li PlayStation Store Hrvate? Popusta nemamo, euro se tek uveo, a plaćali smo bonovima…

Domaće obožavatelje PlayStation konzole ova godina nije nimalo mazila. Štoviše cijelu godinu obilježio ih je osjećaj "zadnje rupe na svirali" jer sve do sredine studenog nisu mogli kupovati karticama. Zašto? PlayStation Store 11 mjeseci nije prešao na euro niti je dvojno iskazivao cijene...

Netokracija Podcast

Biste li plaćali za korištenje Facebooka i Instagrama? A YouTubea i X-a?

Nova epizoda Netokracijina podcasta kao da se nije odmaknula od Noći vještica jer strava se nastavlja - big tech ekipa uvodi pretplate na sve strane. No, dogodila se jedna stvar koja nam daje nadu... Elon Musk održao je prvi "all hands" sastanak!

Ekskluzivno

Daytona osigurala 2 milijuna dolara od investitora poput CEO-a Stack Overflowa i Damira Sabola

U najranijoj, pre-seed rundi financiranja, Daytona je osigurala investiciju od čak 2 milijuna dolara, primarno od poznatih američkih i hrvatskih (su)osnivača.

Što ste propustili

Analiza

Diskriminira li PlayStation Store Hrvate? Popusta nemamo, euro se tek uveo, a plaćali smo bonovima…

Domaće obožavatelje PlayStation konzole ova godina nije nimalo mazila. Štoviše cijelu godinu obilježio ih je osjećaj "zadnje rupe na svirali" jer sve do sredine studenog nisu mogli kupovati karticama. Zašto? PlayStation Store 11 mjeseci nije prešao na euro niti je dvojno iskazivao cijene...

Tvrtke i poslovanje

Volontiranje zaposlenika donosi dugoročne benefite i njima samima i poslodavcima i zajednici

Kada danas pričamo o volontiranju, unutar kompanije postoji sve više ljudi koji su upoznati s tim pojmom ili su se čak i sami okušali u volontiranju koje je bilo organizirano kroz tvrtku. To pokazuje da napredujemo, ali ima prostora za rast i uključivanje još većeg broja ljudi. 

Intervju

Poljski konzultant poručuje: Bez daljnjih odgoda, prilagodite propise i prakse gig ekonomiji

Radite kada želite, koliko želite, s kime želite. Ovo su pogodnosti rada na kojima se gig ekonomija proslavila, ali to ne znači da u praksi uvijek cvate cvijeće...

Istraživanje

50% hrvatskih kupaca primarno kupuje u hrvatskim online trgovinama

Hrvatski online kupci znatno više vjeruju domaćim web trgovinama te iskustvo kupnje na njima ocjenjuju pozitivnim. Među najbitnijim stavkama koje su im iznimno važne navode cijenu dostave, mogućnosti plaćanja, kvalitetne akcije, besplatan povrat - i recenzije!

Intervju

Infobip o privlačenju generacije Z: Ove godine gotovo 2000 prijava na program za mlade talente!

Infobip je već niz godina uključen u akademsku zajednicu, no posebno su uspješni u privlačenju mladih talenata na svoje programe pripravništva. Samo ove godine dobili su nešto manje od 2000 prijava, a otvara se i novi ciklus prijava!

Novost

Prvo europsko gimnastičko online natjecanje pratite putem hrvatske platforme, Elevien

Natjecanje "European Men’s Artistic Gymnastics Online Test Event!" sprema se ući u povijest kao prvo 100% live online gimnastičko natjecanje.