Developeri, koristite li Angular-Meteor?

Developeri, koristite li Angular-Meteor (i zašto biste trebali početi)

Na ovogodišnjoj Shift konferenciji, održanoj u Splitu, Uri Goldshtein, Core Developer open source tvrtke Meteor, predstavio je kombinirano korištenje Angulara i Meteora koje olakšava razvijanje aplikacija svih vrsta.

uri_shift
Prije Meteora, Uri je iskustvo stjecao kao softver developer u izraleskoj vojsci. Slike: Shift Conference.

Prisjetimo se, AngularJS već je duže vrijeme poznat kao framework koji se dodaje u <script> tag i olakšava rad s podacima. Danas skoro svaki realtime web ili mobile app projekt zahtijeva pristup bazama podataka na serveru, a, nažalost, AngularJS je samo client-side framework. Potreba za laganim pristupom podacima sa servera rezultirala je nastankom Meteor frameworka koji omogućava povlačenje i spremanje podataka na server koristeći JavaScript.

Kako raste IT industrija, tako će rasti i potreba za brzim i jednostavnim alatima  kojima se u kratkom roku mogu napraviti gotovi proizvodi. Sama mogućnost da se cijela aplikacija koja poziva i sprema podatke na server može napraviti tako da se koristi sintaksa samo jednog jezika zvuči mi jako primamljivo te sam se odlučio napraviti kratki sažetak Urijevog predavanja.

Zašto koristiti Meteor i Angular?

meteor_shift
Izvor: MongoDB

U prvih par minuta Uri je naveo tri primjera aplikacija s kojima je sigurno osvojio pažnju cijele publike. Primjeri za lagano korištenje kombinacije Angulara i Meteora, klonovi su poznatih aplikacija Trello, Uber i Slack koji su se morali povući zbog kršenja autorskih prava. Ti su klonovi nastali u kratkom vremenu te unutar malih timova, što pokazuje koliko se jednostavno mogu izraditi aplikacije svih vrsta.

Glavna prednost ove full stack kombinacije je JavaScript ekosustav. Svakim danom dolaze nove JavaScript biblioteke, a trenutno je najbolji cross platform jezik koji koristi veliki broj developera i koji omogućava razvijanje dinamičkih aplikacija koje pružaju bolji doživljaj korisnicima. Više nije potrebna ikona Refresh na preglednicima, a REST arhitektura gubi na važnosti kada se žele pokazati novi podaci. Jezik JavaScript nastao je u par dana i nije počeo kao dobar i omiljeni programski jezik, ali ga je industrija progurala svugdje posebno zbog poznatih browser warsa u kojima se natječu razni preglednici za dominaciju na tržištu.

Takvo natjecanje doprinijelo je današnjoj raširenosti JavaScripta i raznih proizvoda kao što su Angular.js, Three.js, React, jQuery i mnogi drugi.

Jedan od njih, Meteor, omogućava da se korisnici služe aplikacijom napisanom u JavaScriptu, a framework Meteor pobrine se za sve podatke koje korisnici zahtijevaju ili spremaju na server. Najčešće se spominje kako Meteor koristi Mongo bazu podataka, ali radi i s raznim drugim bazama.

Koje su prednosti?

Potreba za laganim pristupom podacima sa servera rezultirala je nastankom Meteor frameworka.

Funkcioniranje neke dinamične aplikacije koja koristi Meteor možemo prikazati na primjeru društvene mreže koja korisnicima pruža mogućnost upvotea ili lajkanja. Korisnik će sadržaj koji mu se sviđa lajkati i u istom trenutku će JavaScript funkcija napraviti promjenu na izgledu aplikacije. Korisnik će odmah vidjeti rezultat svoje akcije, premda je potrebno određeno vrijeme da se ista zabilježi u bazi podataka na serveru.

Problem može nastati u trenutku kada 10 ili više korisnika napravi istu akciju, a aplikacija treba pokazivati koliko je ljudi trenutno lajkalo objavu. Developer ne mora sinkronizirati akcije između serverske i klijentske strane jer tu ulogu preuzima Meteor. Potrebno je samo Meteoru reći što da radi s podacima koji dolaze od servera ili korisnika i to koristeći JavaScript sintaksu. Jedna funkcija obuhvaća server side i client side, a potrebno ju je samo vezati uz ikonu Like. Meteor omogućava da se napravi obični JavaScript objekt koji drži bazu i te se taj objekt koristi u aplikaciji gdje je potreban. Primjer možete pogledati na animaciji u kojoj Uri Goldshtein u samo 30 sekundi napravi malu aplikaciju s kojom dva korisnika mogu razmjenjivati informacije.

Primjena u aplikacijama za kolaborativni rad

Meteor se može koristiti za izradu aplikacija koje omogućavaju zajednički rad, kao što je pisanje u isto vrijeme na jednom tekstualnom dokumentu ili crtanje po istoj površini. Za takve aplikacije nudi sve što je potrebno i to out-of-the-box, ali istovremeno djeluje i kao open source te nudi developerima mogućnost da ga prilagođavaju po potrebi. Može se brzo započeti rad na projektu i nudi podršku za velike projekte, što znači da nije koristan samo startupima, nego i organizacijama. Moguć je i postupan prijelaz pri kojem se polako stariji način povezivanja može zamijeniti za Meteor.

Možda je jedan od najvećih doprinosa taj što omogućava korištenje terminala za upisivanje raznih komandi pri razvijanju aplikacija. Moguće je još puno toga napisati o mogućnostima koje se otvaraju, ali dovoljno je samo posjetiti GitHub i vidjeti sve što se događalo u posljednjih pet godina vezano za Meteor.

Ista filozofija za AngularJS i Meteor

Uri Goldshtein navodi kako AngularJS i Meteor prate istu filozofiju, a prvi tutorijali traju pet minuta u kojima se može napraviti jednostavna aplikacija s bazom i komunikacijom između korisnika u stvarnom vremenu. Ovisno o složenosti projekta, nekada je tih pet minuta potrebno proširiti i na par tjedana kako bi se u potpunosti shvatile sve mogućnosti koje se nude, a nakon učenja developer može izmijeniti platforme kako mu odgovara i spreman je korisnicima pružiti aplikaciju kakvu žele u što kraćem vremenu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Startupi i poslovanje

Saša Fišter platformom Sliceer planira dobiti gem, set i meč digitalizacije teniskih klubova

Aplikacija za digitaliziranje teniskih klubova i gemifikaciju igranja tenisa Sliceer danas ima više od 1400 aktivnih korisnika koji putem nje organiziranju mečeve i turnire.

Društvene mreže

Treći svjetski rat borit će se… influencer marketingom (pa i u Hrvatskoj)

Dok se pitamo koliko će eskalirati #blacklivesmatter prosvjedi u SAD-u, jedno je sigurno: Influenceri koje prate Millenials i Gen Z bit će oružje propagande svih uključenih strana!

Tehnologija

Kako otvoriti webshop? Važan korak je odabir platforme – što nudi WooCommerce?

Došla je pandemija i odjednom vam je pokretanje web trgovine postalo glavni prioritet? Važna odluka koja vas čeka je odabir platforme na temelju koje ćete napraviti svoje eCommerce carstvo. U moru alata čudnih imena, jedan iskače više od drugih - WooCommerce.

Što ste propustili

Izvještaj

FOI, Neuralab, Infobip i Flow and Form na Digitalnoj karijeri: “Dobar mentor će vam pomoći 10%, ne više”

Na jučerašnjem online izdanju Digitalne karijere govorilo se o krizi, praksama, mentorstvu i - pisanju.

Startupi i poslovanje

Hrvatski Farseer, pobjednik Podima, planira postati Excel na steroidima

Promiče li se na obzoru još jedan uspješan domaći SaaS? Farseer je aplikacija za financijsko planiranje koja ubrzano izrasta u Excel na steroidima i pobire nagrade u inozemstvu.

Startupi i poslovanje

Ruski gaming div Playrix akvizirao hrvatski Cateia Games

Hrvatska game dev scena, a posebno Cateia Games, dobiva ozbiljno pojačanje ulaskom ruskog diva, Playrixa na domaće tržište. Hrvatska podružnica upogonjena domaćim stručnjacima već radi na novom naslovu.

Kultura 2.0

Treniranje od doma: Najisplativija dugoročna investicija u vašem sjedilačkom životu

Kao i svako zlo, koronavirus nam je donio i nešto dobro – svjesnost o važnosti redovite tjelesne aktivnosti i njenog utjecaja na snažan imunitet. Jeste li razmišljali o opremanju kućnog gyma?

Startupi i poslovanje

Jan de Jong, splitski zet i poduzetnik: Uvijek jednim okom gledam na Nizozemsku, ali ideje primjenjujem u Hrvatskoj

Iako smo svi naviknuli na loše vijesti o odlasku ljudi iz Hrvatske, uvijek je lijepo saznati za obrnute situacije. Nema boljeg primjera od Nizozemca koji je kao student pokrenuo biznis i zaposlio 35 ljudi tijekom prve godine života u Hrvatskoj.

Intervju

Zašto smo angažirali virtualnog asistenta, iako to nismo planirali?

Krajem 2019. tražili smo novu osobu koja će se pridružiti našem timu, a koja će biti zadužena za administraciju. Kako smo manja tvrtka, nismo imali potrebu za zapošljavanjem takve osobe na puno radno vrijeme, stoga smo se nadali da ćemo naći nekoga tko bi bio voljan raditi pola radnog vremena.