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

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

Niko Goga

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.

Ovogodišnja SuperMinds konferencija dovela je predavače poput Paula Hudsona, jednog od najvećih globalnih stručnjaka za Swift i Garricka Toubassija, investitora i savjetnika koji je prošao i svijet startupa i velike kompanije poput Googlea. Također, već smo objavili izvještaj u kojem su predavači Christina Lee i Mattt otkrili kako postati bolji programer spreman na budućnost.

Uz njih, na pozornicu su stala dva Android programera s predavanjem Past, Present and Future (of a product app) kako bi predočili svoj plan za stvaranje Superbet aplikacije otpornom na vrijeme u kontekstu skaliranja, baze koda i radnog procesa.

Kako bi najbolje prenijeli svoje ideje koje su počeli realizirati, dali su detaljan pregled razvoja Superbet mobilne aplikacije. Superbet već ima navršenih 5 godina postojanja što za jednu aplikacju nije kratak životni vijek, pogotovo kada uzmemo u obzir kako je to proizvod koji stalno raste kojeg je potrebno održavati.

Svoje tajne za razvoj future-proof aplikacije otkrili su Luka Leopoldović, Senior Android Developer i Filip Debelić, Android Team Lead iz Superologyja.

Ovogodišnja SuperMinds konferencija, naslovljena Mind the App, okupila je razne superumove iz mobile developmenta. Niko Goga

Migracija ka novim tehnologijama ne događa se preko noći

Luka se priključio Superologyju prije dvije godine, a u trenutku njegovog dolaska već tada su radili s relativno zastarjelim tech-stackom: MVP arhitektura, RxJava, Android View System itd. Priznaje kako mu je to bio važan čimbenik u odluci hoće li uopće prihvatiti ponudu ili ne:

Da budem precizniji – s obzirom da nikad prije nisam bio dio produktnog okruženja (pogotovo tako velikog produkta) nisam znao koliko smo fleksibilni i motivirani za bilo kakva tehnološka unaprjeđenja.

Ponudu je naposlijetku prihvatio, a čim se posao zahuktao bio je i ugodno iznenađen motiviranošću da se stvari unaprijede. Kaže da nikada nije imao priliku raditi na toliko puno radikalnih zahvata na arhitekturi koda:

A to je uvijek i najveći izazov. Naročito procijeniti koje tehnologije ima smisla uvoditi, a koje ne. U te dvije godine, kick-offali smo i aktivno migriramo ka MVVM arhitekturi, Kotlin korutinama i Jetpack Composeu, gdje već neko vrijeme određene dijelove aplikacije upogodnjuje upravo taj tech-stack.

Naravno, svim programerima je gušt raditi na najmodernijim tehnologijama, ali Luka smatra kako je važno napomenuti da su migraciju ka tim tehnologijama pokrenuli kada su procijenili da bi od njih dugoročno imali najveći benefit:

Kako bismo u tome uspjeli, bilo je važno zadovoljiti razne preduvjete. A postavljanje dobrih temelja, kao i integracija novih tehnologija, nisu procesi koji se odvijaju preko noći.

Upravo iz toga Luka izvlači najvažnije točke kako pristupiti u razvijanju future-proof proizvoda, čije funkcionalnosti, bazu koda i radne procese možemo lako skalirati.

Luka je cijeli proces podijelio u 3 točke:

1) U svakom trenutku, vizija produkta mora biti spremna na promjenu, nadogradnju ili proširenje

Kao primjer, Luka navodi viziju Superbet digitalnog ekosustava prema kojem aplikacija teži biti one-stop-shop za sve fanove. Uz klađenje, moguće je ostvariti vrlo detaljan uvid u sportsku statistiku, a integrirali su i društvenu mrežu za fanove:

Tu su i novčanik, streamovi utakmica te malo more funkcionalnosti koje polako izlaze iz domene čistog klađenja. Posljedično, željeli smo si stvoriti preduvjete da se svaki takav segment produkta može razvijati samostalno.

To smo ostvarili podjelom na produktne timove, gdje je za svaki segment produkta (klađenje, statistike, društvena mreža, novčanik, itd.) odgovoran jedan produktni tim. 

Luka je prve korake u mobile developmentu napravio 2011. kada je izbacio svoju prvu igru na PlayStoreu. Niko Goga

Od sportske statistike i društvene mreže u konačnici su napravili dvije ogromne in-house platforme, što sigurno ne bi uspjeli bez ovakve organizacije, napominje Luka:

Struktura Androidove baze koda također prati organizaciju po produktnim segmentima, gdje je kod za klađenje, sportsku statistiku ili društvenu mrežu raspoređen u module koji ne znaju jedni za druge te je takav kod moguće lako mijenjati, nadograditi ili proširiti, neovisno o drugim modulima (segmentima produkta).

Superbet android aplikacija sadržava gotovo 300 fragmenata na kojima radi 10 android developera u 9 produktnih timova, možemo vidjeti benefit ovakvog pristupa: 

Iako ovaj konkretni model neće nužno odgovarati svima, mislim da je na određeni način važno omogućiti različitim dijelovima produkta da se razvijaju individualno te u svakom trenutku moći vrlo lako proširiti ili nadograditi postojeći produkt.

2) Kreiranje arhitekture koda koja će omogućiti rješavanje novih problema i izazova koji će se pojaviti u budućnosti

Baza koda je uvijek škakljiv dio, navodi Luka. Relativno je jednostavno kreirati arhitekturu koda koja rješava trenutni set problema, ali proizvod konstantno raste te se mobilno okruženje ubrzano razvija:

Stoga, smatram da je, u slučaju već dobro razvijenog i uspješnog produkta, vrlo važno kreirati arhitekturu koda koja će omogućiti rješavanje novih problema i izazova koji će se pojaviti u budućnosti.

Prvi korak ka tome je, paradoksalno, kreiranje komponenti s ciljem arhitekturalne neutralnosti, kako bi iste bile lako iskoristive i nakon sljedećih 5 godina:

To je dio kod kojega smo se blago opekli kad smo pokušali iskoristiti određene komponente iz stare MVP arhitekture u novoj MVVM arhitekturi i nešto na što stavljamo veliki fokus sada. 

SuperSocial već koristi preko 710.000 ljudi. Niko Goga

3) Propitkujte sve što se radi i kako se radi

Nikad ne bismo trebali slijepo slušati i primjenjivati sve savjete i povratne informacije jer na taj način ne možemo znati radimo li stvari ispravno, napominje Luka. Kako bismo mogli propitivati, potrebno je dobro proširiti znanje:

I ne samo najnovijim stvarima iz Android svijeta, već i određenim principima u programiranju koji su vječni i koji će nam pomoći u tome da sve te nove Android stvari implementiramo na pravi način.

Ovo je također nešto na što u Superologyju stavljaju velik naglasak. Luka kao primjer toga navodi činjenicu što su nedavno organizirali internu radionicu gdje su ugostili Christinu Lee, stručnjakinju za Kotlin i duboko uronili u tehnologije koje su im trenutačno od velikog interesa.

“Tko zna koliko grešaka sad radimo, to ćemo vam javiti kad nas dostignu…”

S druge strane, jedan od najvećih izazova u razvoju softvera je pronaći balans između želje za učenjem novih tehnologija i zdravorazumske logike iskušanih praksa, tvrdi Filip:

Dobar inženjer ima konstantan poriv napredovati, isprobavati nove stvari, pratiti trendove i educirati se. Međutim kad imaš jako veliku aplikaciju kao što je naša, zdrav razum nameće da neke stvari jednostavno nemaju smisla, a to je teže prepoznati jer za adaptaciju nečeg novog treba vremena.

Kada govorimo o greškama, rijetko se dogodi da nešto napraviš i odmah zaključiš – ovo je bila greška:

U našem poslu greške te najčešće dostignu kad je već prekasno za neke jednostavne promjene pa su time još bolnije.

Svaka greška koju su napravili putem omogućila im je da nauče nešto i da naknadno naprave bolji proizvod, zaključuje Filip:

Tko zna koliko grešaka sad radimo, to ćemo vam javiti kad nas dostignu…

“Budi realniji s očekivanjima i rokovima jer kada si mlad misliš da možeš sve napraviti preko noći”, savjet je kojeg bi sebi Filip dao na početku karijere. Niko Goga

Za kraj, osvrnuli smo se i na budućnost Superbet aplikacije te kako osigurati da odluke danas za sutra budu ispravne…

Neka podaci odlučuju!

Vizija iza Superbet aplikacije je biti one-stop-shop za sve betting fanove, a Luka smatra da već sada korisnicima nude pregršt sadržaja i funkcionalnosti koje produkt čine upravo takvim.

Koje ćemo nove funkcionalnosti integrirati kroz godinu ili dvije ili kako ćemo tada proširiti postojeće, trenutno vam ne mogu reći, jer ni sam ne znam, s obzirom da Superology, kao Superbetov R&D hub, nema onog klasičnog stakeholdera koji odlučuje o tome što radimo sljedeće.

Adis Mustedanagić iz Superologyja održao je izvrsno predavanje na SuperMinds konferenciji baš na tu temu, kojim je sjajno predstavio paradigmu kojom se vode u Superologyju:

Ukratko – data je naš stakeholder. Dakle, ideje o svakoj novoj funkcionalnosti, ili o proširenju postojećih, većinski dolaze analizom prikupljenih podataka o načinu korištenja aplikacije te su upravo ti podaci stakeholder koji će na kraju reći hoće li se ta nova funkcionalnost i zadržati u produktu.

Filip smatra kako će produkt sigurno rasti, a u planu su nova uzbudljiva tržišta i nove funkcionalnosti, što je naravno jako izazovno dok usporedno treba održavati aplikaciju da radi bez ikakvih poteškoća. Kako bi to uspjeli, moraju se konstantno educirati i istraživati nove stvari jer produkt ne dozvoljava da stagniraju:

S tehničke perspektive vjerojatno najveći izazov koji nam predstoji je migracija data layera aplikacije s RxJava-e na Flow i Coroutines, to je proces koji zasigurno nećemo moći odraditi preko noći tako da će zahtijevati puno planiranja i strategije.

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.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Novost

Što se događa u tech industriji? Masovna otpuštanja, kripto-burza propala preko noći, a tek Twitter…

Malo je reći kako ovaj tjedan nije bio dobar za IT industriju. Zapravo, poprilično je kaotičan i čini se kako stabilnost neće doći uskoro...

Zabava i zanimljivosti

Marin u San Franciscu: TechCrunch Disruptom kruže roboti, na Golden Gateu nema signala

"I Left My Heart In San Francisco" pjevao je kultni američki pjevač Tony Bennett. Mogu li ja uskliknuti isto? Ne baš, ali San Francisco je grad koji će mi definitivno ostati u sjećanju do kraja života...

Društvene mreže

Gdje ćemo se družiti i raspravljati ako propadne Twitter?

Bilo da vas brine koliko dugo će još Twitter funkcionirati (što nije čudo s obzirom na svakodnevne vijesti o zbunjujućim poslovnim potezima) ili da ne želite biti dio Muskovog Twittera, evo što se nudi od alternativa.

Što ste propustili

Intervju

Hrvatski Meddox digitaliziranjem zdravstvenih nalaza privukao 10 tisuća aktivnih korisnika

Novi hrvatski healthtech projekt grabi naprijed. U prvoj godini, nakon investicije od 1,5 milijun kuna, došli su do 10 tisuća aktivnih korisnika, a za iduću godinu im je plan doći do 50 tisuća. Što ih čeka prije toga i kako su došli do trenutnih rezultata, otkrivaju nam suosnivačice.

Tvrtke i poslovanje

Engineering Management lekcije o Performance Managementu: kako izvući maksimum iz svog tima?

Ako ste vodili ljude, na pamet vam sigurno često padne ona poznata: sto ljudi - sto ćudi. A vi ste jedan menadžer! Kako izbalansirati različit učinak, očekivanja i mogućnosti kolega u timu otkrivamo ususret posljednjeg Photomathovog Engineering Management meetupa ove godine.

Tvrtke i poslovanje

Može li softver doista pomoći zviždačima koji upozoravaju na nepravilnosti u tvrtkama? Da, ali…

Iako može igrati važnu ulogu u poticanju prijava nepravilnosti i zaštiti identiteta, softver ne može riješiti ključne probleme s kojima se zviždači susreću.

Tehnologija

Zašto svaki NBA klub zapošljava podatkovne znanstvenike? Ispričat će Iztok Franko na Advanced Technlogy Days

Što stručnjak za digitalni marketing radi kao predavač na konferenciji koja se zove Advanced Technology Days? I kakve veze s tim ima košarka?

Netokracija Podcast

Maja Bilić iz Googlea savjetuje kako se pripremiti za ukidanje kolačića treće strane

U novoj epizodi Netokracijinog podcasta ugostila sam - svoju sestru! Ne samo jer mi je sestra :D, nego jer je Maja odlična sugovornica na temu o kojoj intenzivno razmišljaju svi koji se bave digitalnim marketingom, e-commerceom ili rade u digitalnim medijima.

Društvene mreže

Gdje ćemo se družiti i raspravljati ako propadne Twitter?

Bilo da vas brine koliko dugo će još Twitter funkcionirati (što nije čudo s obzirom na svakodnevne vijesti o zbunjujućim poslovnim potezima) ili da ne želite biti dio Muskovog Twittera, evo što se nudi od alternativa.