
Shoutem uz UI toolkit za React Native želi postići isto što i Twitter s Bootstrapom
Ako zalazite na GitHub, vjerojatno ste prošloga tjedna primijetili da je među ‘trending’ temama završio jedan projekt domaće radinosti - Shoutemov UI toolkit za React Native. O čemu se zapravo radi, koliko se dugo na ovom ‘libraryju’ radilo te kako je jedan tvit podigao projekt na novi nivo, otkrivaju njegovi voditelji, Davor Čuljak i Tomislav Tenodi.
No, krenimo iz početka. React Native je zapravo Facebookov proizvod, library koji je ovaj tehnološki gigant open sourceao nakon Reacta. A sam React je, objašnjavaju Davor i Tomislav, web framework za razvoj web aplikacija koji je zbog svoje jednostavnosti i mogućnosti velikog ponovnog korištenja dijelova koda u kratkom roku postao iznimno popularan.
Objavljen je početkom 2013. godine, a u siječnju 2015. godine, na tada već poznatoj konferenciji React.js u San Franciscu, najavljen je React Native. React Native je library koji koristeći React omogućava developerima da pišu nativne aplikacije u JavaScriptu.
A kako je Shoutem builder za izgradnju mobilnih aplikacija, interes za Reactom i React Nativeom bio je logičan. Shoutem, naime, radi na otvaranju platforme kako bi joj se vanjski developeri mogli pridružiti i koju bi mogli proširivati novim funkcionalnostima. Ili, kako to Davor i Tomislav objašnjavaju, željeli su napraviti WordPress za aplikacije, čime se ekstenzije ponašaju kao WP pluginovi.
Kako je nastala i nestala skepsa prema React Nativeu
No, mnogi su bili skeptični prema Reactu i React Nativeu kad su objavljeni, a drugačije nije bilo ni sa Shoutemovcima jer, kako kažu, svi pokušaji do tada da se u JavaScriptu napravi aplikacija koja bi kvalitetom i performansama bila usporediva sa nativnom aplikacijom nisu davali dovoljno dobre rezultate. Davor pojašnjava:
Istražili smo sve mogućnosti: pisanje ekstenzija isključivo nativnim kodom, Native Scriptom, ReactJS-om, mnogim hibridnim tehnologijama koje smo do tada koristili i React Nativeom. To je bio dugotrajan proces prototipiranja, koji je kao rezultat iznjedrio React Native. Tu smo odluku donijeli početkom ove godine, dok su mnoge stvari u React Nativeu bile u povojima. Razlog zašto smo se odlučili za RN je prvenstveno bila sama vizija RN-a da se jednom naučeni ekosustav pisanja mobilnih aplikacija može koristiti za istovremeni razvoj iOS i Android aplikacija, omogućavajući potpuno nativne aplikacije pisane JavaScriptom.
Rast popularnosti React Nativea
Meanwhile in mobile world: React Native passes Android as well! https://t.co/AKhx6d4OLX #reactnative pic.twitter.com/qkttgiPkdQ
— Tomislav Tenodi (@TomislavTenodi) September 14, 2016
Da je React Native u značajnom porastu pokazuje činjenica kako je prošli tjedan taj pojam “prešišao” na tražilicama i Android Development i iOS development. Jedan od razloga za to Shoutemovci vide u spomenutoj zajednici – sve je open sourceano, core contributori ne kriju način na koji su došli uspjeha, niti Facebookove planove s libraryjima. Ujedno, sami contributori uživaju veliku podršku React publike.
Drugo, vrlo je važno slušati zahtjeve tržišta. Oduvijek postoji želja da se dobre aplikacije naprave koristeći web tehnologije. Troškovi izrade aplikacije su niži jer se s istim codebaseom mogu napraviti aplikacije za iOS i Android. Kompanije koje imaju web developere mogu raditi i mobilne aplikacije, a broj JavaScript developera je danas veći nego broj iOS i Android developera.
Treći razlog leži u činjenici da je dvije godine prije React Nativea Facebook izdao ReactJS namijenjen razvoju web aplikacija, koji je zbog svoje jednostavnosti i lakoće učenja vrlo brzo postao izrazito popularan. Osim toga, koristi koncept komponenti koji omogućuje pisanje modularnog koda, što rezultira bržim razvojem i jednostavnijim održavanjem velikih projekata – a to velikim kompanijama s velikim projektima može donijeti znatne uštede, napominju Shoutemovci. S React Nativeom, Facebook je primijenio istu formulu, ali ovaj put na razvoj mobilnih aplikacija.
A što je Shoutem UI toolkit?
No, što je zapravo onda Shoutem UI toolkit? Dio je to plana otvaranja Shoutemove platforme za vanjske developere, odnosno dio seta alata koji će im olakšati razvoj. UI toolkit za React Native prvi je u nizu, a iako već postoje dostupni setovi UI komponenti, od kojih su mnogi vrlo dobri, Shoutem je svojim toolkitom odlučio napraviti nešto drugačije. Tomislav pojašnjava:
Shoutem UI Toolkit je spoj 3 open-sourcana libraryja koji omogućuju developerima profesionalno dizajniranje mobilnih aplikacija. Ti libraryji (ui, theme i animation) napravljeni su tako da je njihovo korištenje jednostavno, deklarativno i nalikuje rješavanju problema na webu. Tom deklarativnošću i “webolikom” rješavanjem React Native dodatno približavamo web developerima.
Da ne glumimo lažnu skromnost, cilj nam je napraviti nešto slično što je Twitter napravio sa svojim Bootstrapom.
A kao potvrdu da su na dobrom putu, osim što je toolkit postao trending na GitHubu, tu je i tvit Vjeuxa, odnosno Christophera Chedeaua, poznatog frontend inženjera iz Facebooka te jednog od glavnih contributora React Nativea.
Facebook is likely not going to open source a UI library for React Native. @shoutem wonderfully fils that gap! https://t.co/fdGrU1ZBuF
— vjeux (@Vjeux) September 15, 2016
Tomislav pojašnjava kako su Vjeuxa upoznali ranije ove godine te od njega doznali kako Facebook ima toolkit koji se koristi interno, ali ga ne planiraju open sourceati jer nije generički i jer se žele fokusirati na daljnje poboljšanje svojih libraryja.
Ove godine, na ReactEurope, najvažnijoj React konferenciji u Europi koja se prije ljeta održavala u Parizu, predstavljali smo vrlo ranu inačicu platforme, ali dobili smo povratne informacije od jako puno ljudi koji su bili prilično oduševljeni stvarima koje radimo. Na naše oduševljenje, puno njih bili su zaista važni u zajednici, a jedan od njih bio je i Vjeux. Kad vam netko od takvih ljudi dođe na štand, postane gužva. 🙂
Prilikom otvaranja Shoutem platforme, znali smo da ćemo mnogo naših resursa uložiti u poboljšanje same React Native zajednice, kako bismo sami mogli napraviti što bolju platformu. Iz tog razloga, od samog početka smo započeli komunikaciju s glavnim ljudima u Facebooku zaduženim za razvoj Reacta i React Nativea. Spomenuto događanje bila je odlična prigoda za započeti i nastaviti komunikaciju sa zajednicom. Osim Vjeuxa, ostvarili smo, ali i održali, kontakte s još važnih ljudi iz React Native zajednice.

Budućnost React Nativea – i Shoutemove platforme
Shoutemovci predviđaju zanimljiva vremena pred nama, gledajući kako se React Native ubrzano razvija – kroz dvotjedne release cikluse contributori, koji većinom nisu iz Facebooka, sami imaju ambiciju poboljšati library, što je nešto što se gotovo nikad nije vidjelo u open source svijetu, napominju.
Na jednom od predavanja, Nick Schrock, koautor GraphQL-a, je upravo iskazao da React Native nije prvi koji pokušava riješiti problem cross platform developmenta. No, “Ideas don’t work, before they work” – da bi ideja uspjela, potrebne su tri stvari: taste (odnosno, koliko su ljudi spremni to koristiti), timing (je li tržište spremno za tu ideju) i technology (je li arhitektura ispravna). Prva dva su očigledno zadovoljena: taste – po broju korisnika koji koriste React i React Native te timing – po sučeljima iOSa i Androida koja sve sličnije izgledaju. No, ovdje presuđuje tehnologija.
Shoutem je zašao u jednu zanimljivu i perspektivnu nišu, a uskoro se može očekivati i open-sourcanje još nekoliko librarya koji su u međuvremenu razvijeni, otkrivaju. Među njima je i Shoutem RIO (Redux-IO), nadogradnja na popularni Redux čiji je cilj developerima olakšati upravljanje podacima i stanjem aplikacije.
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.
Komentari
Mirko
22. 09. 2016. u 12:01 pm
Shoutem kao startup je gotov. Prošlo je njihovo vrijeme a nisu zaživjeli niti su dobili kritičnu masu korisnika. Sada su neki drugi trendovi. Završit će u najboljem slučaju kao Farmeron preuzimanjem dionica od strane prvog investitora jer nitko drugi neće htjeti više investirati.
Još uvijek čekamo prvu uspješnu startup priču u Hrvatskoj. Zasad su najbliže Bellabeat i Nanobit.
Viktor Marohnic
22. 09. 2016. u 6:11 pm
Spreman sam se kladiti u puno novaca da to nece biti slucaj ;).
Ali da ne bi bila bas tako ne-fer oklada evo ti jedan tekst prije nego prihvatis izazov. Vrlo lako probavljiv i informativan…
https://news.greylock.com/the-next-great-platform-is-the-one-that-we-already-have-9c33a1236c37#.c6c4b5bga
PS Ne bih otpisao ni Farmeron. Zapravo prije bi se kladio na firme koje rade manje PRa nego one o kojima se puno prica. Farmeron napada jako dobru i rastucu industriju i ima puno vecu priliku izgraditi dugorocni i stabilni biznis nego bilo koja od ovih firmi koje navodis.
Mirko
23. 09. 2016. u 5:11 pm
Viktore, uz dužno poštovanje taj je članak nadgrobni spomenik na Shoutem projekt. Recimo da sam upućen što je ‘next big thing’ ali to nije ono što radite.
Internet se seli u sve uređaje, IoT, frižider, automobil, sat, narukvicu, odjeću..mobitel postaje samo jedna od pristupnih točaka za Internet. Re. samih mobitela, od 3 mil aplikacija 90% vremena se koristi istih 7. Mobitel kao uređaj je također out, zato Apple intenzivno ulaže u proizvodnju el. automobila (najveća marža nakon mobitela).
Moj skromni savjet je pivotajte čim brže i čim ekstremnije, dok je još resursa. Mislim da ste se uljuljkali u samozadovoljstvu, što se uvijek plati.