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.

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?

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?

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