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

Infobip ❤️ Netokracijašto akvizicija znači za vas - i nas?

“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.

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?

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

Intervju

Upoznajte Maria Ćendu, voditelja tima zaduženog za ICT sustav Disneyjevog kruzera kojim plovi 5500 ljudi

Pod utjecajem primorskog podneblja, u bespućima interneta, Mario Ćendo pronašao je zanimanje koje spaja za njega idealno: IT i pomorstvo. Od tada, više od 10 godina plovi i rješava tehnološke zavrzlame kruzera koji mogu smjestiti i po par tisuća ljudi. Prije nego je isplovio na još jednu 10 tjedana dugu rutu, s nama je podijelio detalje ovog nesvakidašnjeg posla.

Izvještaj

Kitze na Infobip Shiftu: Put od programera do osnivača nije glamurozan, a od slave na GitHubu se ne živi

Može li se živjeti od razvijanja besplatnog softvera i zašto svaki developer mora poznavati fintech - teme su kojima je otvoren Infobip Shift, najveća developerska konferencija koja se održava u Hrvatskoj.

Novost

The Ethereum Merge. Kripto svijetu slijedi promjena na koju se čekalo skoro 10 godina

Već dugi niz godina radi se na vjerojatno jednom od najkompleksnijih projekata koji se tiču blockchain tehnologije, a taj dugoiščekivani update za Ethereum blockchain trebao bi izaći sredinom ovog mjeseca.

Što ste propustili

Startupi i poslovanje

Project 3 Mobility kao Chief Business Officera doveo menadžera koji je vodio Lime i Uber

Alexander Graf von Piel u domaćem startupu će biti zadužen za rast i globalnu prepoznatljivost autonomnih sustava vožnje koji se razvijaju u Sv. Nedelji.

Izvještaj

Kako Infobipovci uče od incidenata – i internih istraživanja?

DevDaysi, sad već tradicionalno godišnje okupljanje Infobipovaca, i ove je godine okupilo inženjere, stručnjake za razvoj proizvoda i korporativnu sigurnost kako bi razmijenili znanja i prakse. Donosimo neke od lekcija koje mogu koristiti i drugima u industriji.

Digitalni mediji

Zašto sam dao otkaz u IT tvrtci da bih se posvetio newsletteru?

Kada pročitam naslov, dođe mi da se i ja zapitam, pogotovo jer sam radio u super kompaniji i industriji. No, iako se na prvu čini kao luda ideja, zapravo nije!

Sponzorirano

Male tajne za razvoj aplikacija koje neće pregaziti vrijeme – niti nova tehnologija

Koje su tajne razvoja "future-proof" aplikacije? Kako izgleda baza koda, kako su posloženi radni procesi te kako na kraju dobiti nešto što možemo skalirati? Donosimo vam detaljan pregled kako Superology planira napraviti Superbet aplikaciju otpornu na vrijeme.

Novost

Splitska udruga DUMP traži nove mlade nade: programere, marketingaše, dizajnere, fotografe…

Želiš naučiti programirati? Zanimaju te oglašavanje i digitalni marketing? Imaš umjetnički dar i voliš dizajnirati? San ti je postati vješt s fotoaparatom i hardverom? Želiš se povezati s mladom ekipom koja radi sve to?

Novost

Uz investiciju Invera Equity Partners Kompare.hr širi tim, ponudu i tržišta

Kompare, web servis za usporedbu cijena telekom usluga i polica osiguranja, nova je investicija Invera Equity Partnersa, privatnog dioničkog fonda fonda poznatog i po relativno nedavnom ulaganju u Muzej iluzija.