Pregled: Appery.io spaja graditelj mobilnih aplikacija s pozadinskim uslugama

Appery.io prilično je sposobna mobilna mreža zasnovana na oblaku i hibridna platforma za mobilni razvoj s mrežnim alatima za vizualni dizajn i programiranje, kao i integriranim pozadinskim uslugama. Možete to shvatiti kao križanje između alata za izradu aplikacija i MBaaS-a (pozadina mobitela kao usluga).

Kao što možemo vidjeti na slici 1 u nastavku, program za izradu aplikacija Appery.io generira HTML5, jQuery Mobile i Apache Cordova kôd, a poslužitelj Appery.io build generira iOS, Android, Windows Phone i HTML5 aplikacije. Appery.io MBaaS pruža hosting, MongoDB NoSQL bazu podataka, push obavijesti, JavaScript kod poslužitelja i siguran proxy. 

Appery.io može razgovarati s bilo kojim REST API-jem, bez obzira je li tvrtka unaprijed izgradila sučelje. Vezivanje unaprijed izgrađenog REST sučelja za uslugu pitanje je nekoliko minuta. Sama izrada REST sučelja traje malo duže i zahtijeva malo više znanja, ali to nije velik posao.

Izrada internetskih aplikacija

Graditelj aplikacija Appery.io ima kartice za postavke aplikacije, vaš model i pohranu (slika 2), vaše stranice dok ih stvarate, dijaloške okvire, predloške, teme, CSS, bilo koje usluge koje definirate, vaš JavaScript i sve prilagođene komponente koje definirati. Graditelj (slika 3) koristi metaforu dizajna WYSIWYG s paletom od više od 25 kontrola, uključujući vanjske usluge kao što su Google Maps i Vimeo, a prikazuje listu svojstava za svaku stavku. Možete se prebaciti s prikaza dizajna na prikaz izvornog koda da biste vidjeli generirani HTML, CSS, JavaScript i bilo koji kôd specifičan za uređaj: Java za Android, Objective-C za iOS i XAML potpomognut C # za Windows Phone.

Aplikaciju HTML5 možete testirati u hodu, u pregledniku na radnoj površini (slika 4) i u preglednicima telefona i tableta; sve što ne ovisi o Cordovi radit će. Da biste testirali svoj kôd Cordova (na primjer, da biste koristili mogućnosti izvornog uređaja ili dobili push poruke), izradite svoju aplikaciju, preuzmite je na svoj uređaj i tamo je pokrenite. Radi praktičnosti, Appery.io će prikazati QR kodove za vašu aplikaciju HTML5 i vaše binarne datoteke, tako da ih možete izravno preuzeti na svoj uređaj. Za još veću udobnost možete na svoj uređaj instalirati ljusku Appery.io Native Test App i usmjeriti je na svoj kôd.

Općenito, čini mi se da je graditelj aplikacija jednostavan za učenje i upotrebu. Appery.io je dobro odradio svoj dizajn IDE-a tako da programeri mobilnih uređaja obično neće biti iznenađeni onim što dobiju.

Izvorni kod generiran putem Appery.io možete pogledati na mreži ili ga možete pogledati izvan mreže nakon preuzimanja projekta. Nisam imao problema s čitanjem HTML5 / CSS / JavaScript koda, ali već sam bio upoznat s Underscore, jQuery i jQuery Mobile. Appery.io uvlači oko 17 JavaScript knjižnica, ne računajući widgete. Je li to debelo? Pa da. Ali na modernim uređajima to nije problem.

Izvorni kôd specifičan za uređaj za Android, iOS i Windows Phone nezanimljiv je. Appery.io ovisi o Cordovi zbog izvorne ljuske i obavlja sve radnje prilagođenih aplikacija u ugrađenoj kontroli preglednika.

Lijepo je što Appery.io ima vlastiti graditelj i uslugu gradnje zasnovane na oblaku. Zajedno s IDE-om temeljenim na pregledniku, to znači da programeri za mobilne uređaje ne trebaju imati više računala ili više VM-ova za stvaranje izvornih aplikacija i ne moraju održavati više izvornih SDK-ova i IDE-a. Naravno, ako odlučite izvesti aplikaciju generiranu Appery.io i sami je održavati (na primjer, jer ne želite nastaviti pretplatu), trebat će vam izvorni SDK-ovi i IDE-ovi ili usluga PhoneGap Build iz Adobe.

Back-end usluge

Kao što smo ranije spomenuli, Appery.io ima značajku MBaaS koja uključuje hosting, NoSQL bazu podataka (MongoDB), push obavijesti, JavaScript kod poslužitelja i sigurne REST API-je.

Appery.io omogućuje HTML hosting u vlastitom oblaku, Herokuu i (ručno) trećim pružateljima usluga hostinga. Na vlastitom oblaku Appery.io možete koristiti bilo navedeno ime domene app.appery.io ili vlastitu domenu ili naziv poddomene, pod pretpostavkom da imate pristup postavkama DNS-a i znate kako ih promijeniti.

Da biste ugostili Heroku, pod pretpostavkom da imate račun heroku.com, morate se prijaviti, autorizirati Apperyio na Heroku, a zatim stvoriti Heroku aplikaciju sa strane Appery.io. Na Heroku se mogu objaviti samo mobilne web aplikacije, a ne aplikacije Cordova.

Hibridne aplikacije možete objaviti na Google Playu, iOS App Storeu i Windows Storeu. Appery.io vam može izgraditi binarne datoteke u svom oblaku.

Baza podataka Appery.io koristi MongoDB, web sučelje (slika 2) i REST API. Nakon što definirate tablice (aka zbirke) i stupce, možete ih uputiti iz drugih dijelova programa za izgradnju Appery.io, grafički uspostavljajući veze i preslikavanja kako biste automatski generirali CRUD kôd. Svaka baza podataka ima tri unaprijed definirane zbirke - Korisnici, Datoteke i Uređaji - koje imaju otprilike stupce kakve biste očekivali, a zbirke možete dodavati po volji.

Appery.io koristi zbirku Uređaji odabrane baze podataka za kontrolu uređaja koji će primati push obavijesti; podržava push obavijesti za Android i iOS, a svaka zadana push obavijest može biti samo za jednu ili drugu. Uređaje za dano puštanje možete filtrirati pomoću graditelja upita ili niza upita. Među mogućim filtrima je i geolokacija (na primjer, svi uređaji u krugu od dvije milje od određenog mjesta). Ostali filtri uključuju kanale koje možete zadržati u bazi podataka i dodijeliti po želji te ID-ove uređaja. Appery.io vrši potiskivanje obavijesti putem izvornih Googleovih i Appleovih usluga, stoga morate biti registrirani za te API-je.

Appery.io pokreće JavaScript kod poslužitelja koristeći V8 engine, iako ne koristi okvir Node.js. Kao što biste očekivali s obzirom na REST API, pozadinski JavaScript kôd komunicira s aplikacijom paketima zahtjeva i odgovora i formatira odgovore kao JSON. Na primjer, sljedeći kod definira odgovor „Pozdrav“ s trenutnim vremenom poslužitelja:

// get name from service, name is entered in the app

var name = request.get("name");

// get and format the time

var now = moment().format("dddd, MMMM D YYYY, h:mm:ss a");

// put together the greeting string

var greetingString = "Hello " + name + ". It is " + now;

// format as JSON and return the response

response.success(JSON.stringify({

   greeting: greetingString

}), "application/json");

Appery.io implementira Secure REST koristeći svoju bazu podataka i posebne proxy kanale kako bi zaštitio tajne ključeve, vjerodajnice i ostale osjetljive podatke od strane korisnika da ih otvore. U osnovi, svoje tajne podatke pohranjujete u bazu podataka pod imenima ključeva, stvarate proxy kanal za zamjenu imena ključeva tajnim podacima, a u aplikaciji radite s imenima ključeva i definirate proxy kanal koji će se koristiti. Tada aplikacija poziva imena ključeva, a u proxyju se zamjenjuju podacima i usluga prima stvarne podatke. Korisnici aplikacije mogu pronaći imena ključeva i ID proxy kanala, ali nemaju pristup tajnim podacima.

Vanjska sučelja

Od ovog pisanja, Appery.io ima dodatke za Stripe plaćanja; SendGrid mail; Twilio poruke; Vijesti USA Today; Društvene mreže Facebook, Foursquare i LinkedIn; Pohrana kutija; OAuth i Auth0 upravljanje identitetom; GitHub; Sirv dinamička slika; te moderne i ravne teme korisničkog sučelja. Također ima ugrađenu podršku za Salesforce.com.

Ako vanjska usluga koja vam treba još nema dodatak, sve nije izgubljeno. Ako je to REST usluga, Appery.io vam omogućuje povezivanje s njom, zgrabite uzorak paketa odgovora i upotrijebite Visual Data Binding za mapiranje rezultata usluge u vašu aplikaciju.

Exadel, tvrtka koja stoji iza Appery.io, prodaje prateću uslugu pod nazivom RESTXpress. RESTXpress olakšava omotavanje baza podataka SQL / JDBC i web usluga temeljenih na SOAP-u s REST sučeljima. RESTXpress se može instalirati na Java poslužitelje aplikacija kao što je Tomcat i zasebno je licenciran.

Izvanmrežna podrška

Kada upotrebljavate Model i pohranu Appery.io, zadano ponašanje je zadržavanje stanja web aplikacije na lokalnoj pohrani. Podaci će se čuvati u lokalnoj pohrani i učiniti dostupnima nakon sljedećeg ponovnog pokretanja. Po želji možete dodati vlastiti kôd (JavaScript) kako biste prilagodili ovu mogućnost koliko god je potrebno. Ako vam treba više lokalne pohrane nego što se može zadržati u spremištu parova ključ / vrijednost HTML5 WebView, org.apache.cordova.fileAPI možete koristiti za pristup sustavu datoteka uređaja ili WebSQL za pristup lokalnoj bazi podataka SQLite.

Model i pohrana Appery.io pomažu u omogućavanju pokretanja aplikacije izvan mreže jer programeru omogućuje definiranje modela aplikacije na klijentu (lokalna pohrana). Prilagođeni kod (JavaScript) može se koristiti za daljnju prilagodbu. Exadel planira dodati puno više podrške kako bi to olakšao. Prema tvrtki, Model i pohrana bio je samo prvi korak.

Sinkronizacija mobilne baze podataka s poslužiteljem može se postići s Appery.io, jer možete programirati i klijenta i poslužitelj, ali definitivno nije automatski. Tipično biste pohranili promjene u paru ključ / vrijednost ili biste održavali lokalnu bazu podataka SQLite, pristupili joj putem dodatka Cordova i gurnuli prljave zapise natrag u bazu podataka poslužitelja kada ste povezani.

Zaključci i usporedbe

Kako Appery.io obuhvaća prostore za razvoj MBaaS-a i mobilnih aplikacija, željeli biste ga usporediti s proizvodima u obje kategorije. U širokim potezima kista otkrio sam da je Appery.io (ukupna ocjena 8,2) manje uvjerljiv od AnyPresence-a (ukupna ocjena 9,1), što dodatno doprinosi stvaranju izvornih aplikacija i API-ja za mobilne uređaje. AnyPresence također ima važna sučelja za bazu podataka u poduzeću.

Također sam pronašao Appery.io manje sposobnim od FeedHenry (8.6), koji ima bolju podršku za poduzeće korištenjem okvira Node.js, i Alpha Anywhere (8.8), koji ima izvrsnu integraciju baze podataka i punu podršku izvanmrežnog rada, mobilnih podataka sinkronizacija i rješavanje sukoba podataka.

Appery.io mi se svidio više od golog raščlanjivanja MBaaS (7.6) i alata za izradu aplikacija / MBaaS Appcelerator (7.8), i otkrio sam da je otprilike usporediv s Kinvey (8.3), iako Kinvey nudi više na polju analitike i podrške baze podataka poduzeća .

Kartica rezultata Sposobnost (25%) Integracije (25%) Podrška klijentima (20%) IDE (20%) Vrijednost (10%) Ukupni rezultat
Appery.io 8 8 8 9 8 8.2