
Paul Hudson: Ako želite raditi bolje aplikacije, nemojte se usredotočiti na pisanje koda
Razvio je desetine aplikacija koje je koristilo 30 milijuna ljudi, napisao više od 20 knjiga o razvoju mobilnih aplikacija u Swiftu i posvetio se pomaganju drugim developerima da postanu još bolji - i uskoro dolazi u Zagreb.
Običnim ljudima već je pomalo dosta mobilnih aplikacija (trebamo li baš za sve, od četkice za zube do supermarketa, imati aplikaciju?!), a zamor lagano osjećaju i oni koji te aplikacije razvijaju. Mnogi developeri imaju osjećaj kao da svaka zamisliva aplikacija već postoji pa im nedostaje motivacije za osmišljavanje i razvijanje novih, kaže Paul Hudson, jedan od najvećih globalnih stručnjaka za Swift i govornik na skorašnjoj konferenciji SuperMinds: Mind the app.
Paul im, među ostalim, želi poručiti da još itekako ima prostora za razvijati razne korisne aplikacije:
Developeri danas razvijaju aplikacije bazirane na strojnom učenju koje iz fotografija mogu prepoznati rak kože. Postoje aplikacije koje pomažu djeci da uče matematiku na zabavan način, aplikacije pomoću kojih odrasli uče svirati instrumente ili one koje ljudima s poteškoćama poboljšavaju kvalitetu života.
“Prilagođeni layouti u iOS16 znače nove kreativne mogućnosti”
Iako naglašava da fokus svakog mobilnog developera nije i ne bi trebala biti tehnička izvrsnost, Paul će u svojoj prezentaciji developerima dati vrlo primjenjive i konkretne savjete kako da iskoriste nove mogućnosti u Swiftu da razvijaju još kvalitetnije aplikacije:
Pričat ću o jednoj od najzanimljivijih značajki koje je Apple najavio na svojoj developerskoj konferenciji WWDC22 – mogućnosti da konačno kreiramo potpuno prilagođene layoute, za razliku od samo horizontalnih, vertikalnih ili mrežastih kao dosad.
To developerima otvara nove kreativne mogućnosti, što je uvijek iznimno zanimljivo i uzbudljivo. Naravno, jako se veselim konferenciji uživo, kako bismo na licu mjesta podijelili uzbuđenje. Možda zafrcaju neke iskre!
Paulov karijerni put doista je zanimljiv: počeo je kao tehnološki novinar i pisao tutorijale pa se prebacio u razvoj iOS aplikacija. Aplikacije na kojima je radio koristilo je 30 milijuna ljudi, a danas ih razvija u slobodno vrijeme, piše knjige (napisao ih je više od 20) i pomaže drugim developerima da budu bolji. Njegova posljednja knjiga zove se Pro SwiftUI i namijenjena je iskusnim Swift developerima:
Sad kad je Swift framework tu već tri godine mislim da je vrijeme da krenemo pomicati granice što sve možemo – raditi bolje animacije, fleksibilnije layoute i, naravno, efikasnije aplikacije. Knjiga je prepuna savjeta za developere koji žele doista razumjeti korisničko iskustvo Swifta kako bi razvijali bolje i brže aplikacije.
Neka radi, neka radi kako treba, neka radi brzo – tim redoslijedom!
Među savjetima koje Hudson daje mobile developerima kao klasični put do uspjeha navodi: učini da radi, učini da radi kako treba, učini da radi brzo:
To je citat Kenta Becka, poznatog zagovornika razvoja softvera vođenog testiranjem i mislim da je odličan okvir kojim se mogu voditi oni koji razvijaju softver na bilo kojoj razini i ja se osobno držim toga i danas.
Možda se ne bi trebao time hvaliti, ali neke od prvih verzija koda koje sam napisao su bile baš šokantno loše. Ali to je normalno, zar ne? Zapravo, trebalo bi biti jer prvi cilj nam je postići da nešto radi, napisati nešto koda koji samo dokazuje da je to što smo zamislili tehnički izvedivo.
Korak nakon toga je, dodaje Paul, postići da taj kod “radi kako treba”, odnosno refaktorirati ga i ponovno pisati kolikogod puta treba kako bi bio kvalitetan i mogao se održavati. Tek nakon toga dolazi onaj dio “postigni da radi brzo”, odnosno optimiziranje koda kako bi sve radilo uz korištenje manje CPU-a, RAM-a i slično.
Mnogi projekti nikad ne dođu do te faze, a neki niti ne trebaju. Ma, puno koda koji napišemo nikad ne dođe ni do faze da radi jer se pokaže da nam ideja nema smisla, ili nam dosadi i bacimo se na nešto drugo.
Ipak, ta tri koraka su prokušani put do dobrog softvera i to točno tim redoslijedom. Ne možemo se fokusirati na to da aplikacija radi brzo, ako ne radi kako treba. Svatko može pisati kod koji se brzo izvršava i ne radi što bi trebao!
“Nikoga nije briga koristite li MVC ili MVVM, tabove ili razmake”
Upravo zato, posebno iskusnim developerima, Paul savjetuje da se ne fokusiraju na pisanje koda, kolikogod im to bio najuzbudljiviji dio posla. Jer, dodaje, to nije i ne bi trebao biti njihov cilj:
Često radim s developerima na tome kako da postanu bolji developeri i znam da je čudno kad im savjetujem da ne misle toliko na kod. Ali doista je tako, ako želite raditi bolje aplikacije, ne fokusirajte se na kod!
Koliko god voljeli raspravljati o složenim arhitekturama ili sitnim detaljima, na kraju dana nikoga nije briga koristite li MVC ili MVVM, tabove ili razmake. Fokus bi nam trebao biti na pisanju softvera koji rješava stvarne probleme, na korištenju vještina i znanja kako bismo korisnicima poboljšali kvalitetu života.
U istom tonu Paul odgovara na pitanje o tome koje trendove vidi u industriji. Iako spominje da primjećuje fokus na deklarativno, ali i na funkcionalno programiranje, odmak od izuzetno flat dizajna kojega je Apple uveo s iOS-om 7 te sve češće korištenje strojnog učenja u aplikacijama, na kraju kaže da se osnovni principi razvijanja mobilnih aplikacija nisu promijenili:
Uhvati se nečega što ti je zanimljivo i razvijaj aplikaciju kakvu bi ti volio koristiti. Velike su šanse da postoji još bar 100.000 ljudi koji bi također željeli imati baš takvu aplikaciju na svom mobitelu!

Što muči mobile developere?
Kao izazove današnjih developera navodi već spomenuti zamor, osjećaj kao da su sve aplikacije već razvijene, sve teže držanje koraka s novim operativnim sustavima, uređajima i tehnologijama koji se mijenjaju iz godine u godinu te činjenicu kako je aplikacijama sve teže postići da ih korisnici primijete u prenapučenom Apple Storeu. Tu je i problem pronalaska smislenih poslovnih modela kako bi razvoj aplikacija financijski držao vodu:
Puno aplikacija izabire freemium model kako bi privukli korisnike da preuzmu aplikaciju, ali to znači i da sve više aplikacija izabire pretplatu kao poslovni model koji bi trebao osigurati trajniji prihod za financiranje razvoja. Slažem se da je osiguravanje dugoročnijeg financiranja u interesu svima koji rade na nekoj aplikaciji, ali čini mi se da to više nije dobar put jer sve više i više korisnika osjeća zamor od plaćanja tolikih pretplata.
Za sve koji žele čuti kako postati bolji developeri – i u tehničkom smislu, ali i u smislu razvijanja aplikacija koje korisnicima donose vrijednost i doista ih žele koristiti, ne propustiti predavanje Paula Hudsona na konferenciji SuperMinds: Mind the app.
Osim njega, tu je i niz predavanja iskusnih developera i developerki iz tvrtki kao što su Pinterest, Runtastic i Pixplicity te predavanja na temu rada u timovima koji imaju veliku dozu slobode ili razvoju aplikacija u startupima i big techu.
Konferencija se održava 14. i 15. rujna u Zagrebu, požurite po ulaznice!
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:
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.