"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

Kad im USB-om procure podaci milijun građana – javne institucije mogu proći bez sankcija?!

Sa stručnjacima raspravljamo o nedavnom curenju podataka vlasnika svih registriranih vozila u Hrvatskoj i zašto je ono problematično na više razina. Može li ovaj slučaj biti poruka javnim institucijama za ubuduće?

Obrazovanje

Maturanti, pazite koje AI alate koristite za pripremu mature, nisu svi pouzdani…

Jeste primijetili kako je sve više raznih AI alata koji obećavaju uspjeh u školi i pomoć na maturi? Iako imamo pozitivne primjere, nisu svi od povjerenja.

Startupi

Što smo dosad saznali o hrvatskim SaaS tvrtkama? 60% ispitanika navodi da su profitabilni!

Polovica hrvatskih SaaS tvrtki iz istraživanja postoji manje od 5 godina, otprilike jednako toliko ih ima manje od 1 milijun eura ponavljajućeg godišnjeg prihoda (ARR), a 80 % njih ima manje od 50 zaposlenih.

Što ste propustili

Veliki intervjui

Kreće Priša! Tjedni izazov za djecu i mlade koji stvara pozitivne navike

Priša je prilika za djecu i mlade da prije početka ljetne zabave i zaslužene lijenosti, naprave nešto pozitivno za svoje navike!

Veliki intervjui

Kad će zaživjeti “hrvatski gaming san”? Ovo su faze 60 milijuna vrijednog projekta u Novskoj

Fakultet, studentski dom, fotonaponska elektrana i sva potrebna infrastruktura uskoro dolaze u Novsku - Centar za gaming industriju bit će prvi takvog tipa u Europi.

Veliki intervjui

“Kao Engineering Manager nisam izgubio dodir s inženjerstvom, naprotiv – naučio sam još više”

Kako izgleda posao Engineering Managera kad radiš za tvrtku koja nezaustavljivo raste saznali smo od Antonia Krističevića. Prošle je godine postao EM u Fonoi, tvrtki koja je prva na svijetu razvila cloud platformu za automatizaciju obračuna poreza na globalnoj razini.

Digitalni mediji

Uloženo je 280 milijuna eura u digitalno oglašavanje u Hrvatskoj u 2023. godini

Hrvatska udruga digitalnih izdavača (HUDI) objavila je rezultate najnovijeg istraživanja HUDI Digitalni AdEx za 2023. godinu.

Startupi

Kako vam HR i financije olakšavaju rast, otkriva Infobipov CBO

Infobipov Chief Business Officer Ivan Ostojić podijelio je iskustva iz procesa skaliranja hrvatskog jednoroga te što im je pomoglo da rast učine održivim.

Startupi

Stižu bolja vremena za SaaSove! Paddleov CMO savjetuje kako ih iskoristiti

Od Paddleovog Chief Marketing Officera na konferenciji SaaStanak 2024 saznali smo kako prebroditi ova neizvjesna vremena na tržištu.