Programiranje

Pregled: Appery.io povezuje graditelja mobilnih aplikacij z zalednimi storitvami

Appery.io je precej zmogljiva mobilna spletna in hibridna platforma za razvoj v oblaku s spletnim vizualnim oblikovanjem in programskimi orodji ter integriranimi zalednimi storitvami. Lahko si to predstavljate kot križanec med ustvarjalcem aplikacij in MBaaS (mobilni hrbtni del kot storitev).

Kot lahko vidimo na sliki 1 spodaj, graditelj aplikacij Appery.io generira kodo HTML5, jQuery Mobile in Apache Cordova, strežnik gradnje Appery.io pa aplikacije iOS, Android, Windows Phone in HTML5. Appery.io MBaaS ponuja gostovanje, zbirko podatkov MongoDB NoSQL, potisna obvestila, kodo strežnika JavaScript in varen strežnik proxy.

Appery.io lahko govori v bistvu z vsemi API-ji REST, ne glede na to, ali je podjetje vnaprej vgradilo vmesnik ali ne. Povezava vnaprej vgrajenega vmesnika REST s storitvijo je stvar nekaj minut. Sama izdelava vmesnika REST traja malo dlje in zahteva vedeti nekaj več, vendar to ni veliko delo.

Spletni graditelj aplikacij

Ustvarjalec aplikacij Appery.io ima zavihke za nastavitve aplikacije, vaš model in pomnilnik (slika 2), vaše strani, ko jih ustvarite, pogovorna okna, predloge, teme, CSS, katere koli storitve določite, vaš JavaScript in vse komponente po meri, ki jih opredeliti. Graditelj (slika 3) uporablja metaforo oblikovanja WYSIWYG s paleto več kot 25 kontrol, vključno z zunanjimi storitvami, kot sta Google Maps in Vimeo, in prikaže list lastnosti za vsak element. Iz pogleda zasnove lahko preklopite v pogled izvorne kode, da si ogledate ustvarjene HTML, CSS, JavaScript in katero koli kodo, specifično za napravo: Java za Android, Objective-C za iOS in XAML, podprto s C # za Windows Phone.

Aplikacijo HTML5 lahko med potekom preizkusite v namiznem brskalniku (slika 4) ter v brskalnikih telefona in tabličnega računalnika; vse, kar ni odvisno od Cordove, bo delovalo. Če želite preizkusiti kodo Cordova (na primer za uporabo zmogljivosti izvorne naprave ali prejemanje potisnih sporočil), zgradite aplikacijo, jo naložite v napravo in jo tam zaženite. Za udobje bo Appery.io prikazal kode QR za vašo aplikacijo HTML5 in vaše binarne datoteke, tako da jih lahko naložite neposredno v svojo napravo. Za še večje udobje lahko v svojo napravo namestite lupino Appery.io Native Test App in jo usmerite na svojo kodo.

Na splošno se mi je zdel ustvarjalec aplikacij enostaven za učenje in uporabo. Appery.io je dobro zasnoval svoj IDE, tako da razvijalci mobilnih naprav običajno ne bodo presenečeni nad tem, kar dobijo.

Izvorno kodo, ki jo generira Appery.io, si lahko ogledate v spletu ali pa si jo po prenosu projekta ogledate brez povezave. Nisem imel težav z branjem kode HTML5 / CSS / JavaScript, vendar sem že poznal Underscore, jQuery in jQuery Mobile. Appery.io potegne približno 17 knjižnic JavaScript, ne da bi prišteval pripomočke. Je to debelo? No ja. Toda pri sodobnih napravah to ni težava.

Izvorna koda, specifična za napravo, za Android, iOS in Windows Phone je nezanimiva. Appery.io je odvisen od Cordove glede na izvorno lupino in v vdelanem nadzorniku brskalnika opravi vsa dela po meri.

Lepo je, da ima Appery.io lastnega graditelja in storitev gradnje v oblaku. To skupaj z IDE v brskalniku pomeni, da razvijalcem mobilnih naprav ni treba imeti več računalnikov ali več VM-jev za ustvarjanje izvornih aplikacij in jim ni treba vzdrževati več izvornih SDK-jev in IDE-jev. Če se odločite izvoziti aplikacijo, ki jo ustvari Appery.io, in jo sami vzdrževati (na primer, ker ne želite nadaljevati naročnine), boste potrebovali izvorne SDK-je in IDE-je ali storitev PhoneGap Build iz Adobe.

Začasne storitve

Kot smo že omenili, ima Appery.io funkcijo MBaaS, ki vključuje gostovanje, bazo podatkov NoSQL (MongoDB), potisna obvestila, kodo strežnika JavaScript in varne API-je REST.

Appery.io omogoča gostovanje HTML v svojem oblaku, na Heroku in (ročno) pri tretjih ponudnikih gostovanja. V lastnem oblaku Appery.io lahko uporabite navedeno ime domene app.appery.io ali lastno domeno ali ime poddomene, če imate dostop do nastavitev DNS in veste, kako jih spremeniti.

Če želite gostovati na Heroku, ob predpostavki, da imate račun heroku.com, se morate prijaviti, pooblastiti Apperyio na Heroku in nato na strani Appery.io ustvariti aplikacijo Heroku. V Herokuju je mogoče objaviti samo mobilne spletne aplikacije, ne pa tudi aplikacij Cordova.

Hibridne aplikacije lahko objavite v Googlu Play, iOS App Store in Windows Store. Appery.io vam lahko gradi binarne datoteke v svojem oblaku.

Baza podatkov Appery.io uporablja MongoDB, spletni vmesnik (slika 2) in API REST. Ko definirate tabele (aka zbirke) in stolpce, se lahko nanje sklicujete iz drugih delov graditelja aplikacij Appery.io in grafično povežete in preslikate za samodejno generiranje CRUD kode. Vsaka zbirka podatkov ima tri vnaprej določene zbirke - Uporabniki, Datoteke in Naprave -, ki imajo približno stolpce, kot bi pričakovali, in zbirke lahko dodate po želji.

Appery.io uporablja zbirko naprav izbrane baze podatkov za nadzor naprav, ki bodo prejemale potisna obvestila; podpira potisna obvestila za Android in iOS, katero koli dano potisno obvestilo je lahko samo enemu ali drugemu. Naprave za dani potisk lahko filtrirate z graditeljem poizvedb ali nizom poizvedb. Med možnimi filtri je tudi geolokacija (na primer vse naprave na razdalji dveh milj od določene lokacije). Drugi filtri vključujejo kanale, ki jih lahko hranite v zbirki podatkov in jim dodelite po želji ter ID-je naprav. Appery.io pošilja potisna obvestila prek domačih Googlovih in Appleovih storitev, zato morate biti registrirani za te API-je.

Appery.io zažene kodo strežnika JavaScript z uporabo mehanizma V8, čeprav ne uporablja okvira Node.js. Kot bi pričakovali glede na API REST, vmesna koda JavaScript komunicira z aplikacijo s paketi zahtev in odzivov, odzive pa oblikuje v obliki JSON. Naslednja koda na primer definira odgovor »Hello« s trenutnim časom strežnika:

// dobimo ime iz storitve, ime se vnese v aplikacijo

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

// pridobivanje in oblikovanje časa

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

// sestavi pozdravni niz

var pozdravString = "Pozdravljeni" + ime + ". Zdaj je" +;

// oblikujemo kot JSON in vrnemo odgovor

response.success (JSON.stringify ({

pozdrav: pozdravString

}), "application / json");

Appery.io izvaja Secure REST z uporabo svoje zbirke podatkov in posebnih proxy kanalov, da zaščitijo tajne ključe, poverilnice in druge občutljive podatke pred odpiranjem uporabnikov aplikacij. V bistvu svoje tajne podatke shranite v zbirko podatkov pod imeni ključev, ustvarite proxy kanal za zamenjavo imen ključev s tajnimi podatki, v aplikaciji pa delate z imeni ključev in določite proxy kanal, ki ga želite uporabiti. Nato aplikacija pokliče imena ključev, v strežniku proxy pa jih zamenjajo s podatki in storitev prejme resnične podatke. Uporabniki aplikacije lahko najdejo imena ključev in ID proxy kanala, vendar nimajo dostopa do tajnih podatkov.

Zunanji vmesniki

Od tega pisanja Appery.io ima vtičnike za plačila Stripe; SendGrid pošta; Sporočanje Twilio; Novice USA Today; Socialna omrežja Facebook, Foursquare in LinkedIn; Skladiščenje škatel; Upravljanje identitet OAuth in Auth0; GitHub; Sirv dinamično slikanje; ter sodobne in ravne teme uporabniškega vmesnika. Ima tudi vgrajeno podporo za Salesforce.com.

Če zunanja storitev, ki jo potrebujete, še nima vtičnika, še ni vse izgubljeno. Če gre za storitev REST, vam Appery.io omogoča povezavo z njo, zajem vzorčnega odzivnega paketa in uporabo Visual Data Binding za preslikavo rezultatov storitve v vašo aplikacijo.

Exadel, podjetje, ki stoji za Appery.io, prodaja spremljevalno storitev, imenovano RESTXpress. RESTXpress omogoča enostavno zavijanje baz podatkov SQL / JDBC in spletnih storitev na osnovi SOAP z vmesniki REST. RESTXpress je mogoče namestiti v strežnike aplikacij Java, kot je Tomcat, in je posebej licenciran.

Podpora brez povezave

Pri uporabi modela in shrambe Appery.io je privzeto obnašanje stanja spletne aplikacije v lokalnem pomnilniku. Podatki bodo shranjeni v lokalnem pomnilniku in na voljo po naslednjem ponovnem zagonu. Po želji lahko dodate svojo kodo (JavaScript), da prilagodite to zmožnost, kolikor je potrebno. Če potrebujete več lokalnega pomnilnika, kot ga lahko shranite v pomnilniku parov ključ / vrednost HTML5 WebView, lahko uporabite org.apache.cordova.file API za dostop do datotečnega sistema naprave ali WebSQL za dostop do lokalne baze podatkov SQLite.

Model Appery.io in pomnilnik pomagata, da se aplikacija izvaja brez povezave, saj razvijalcu omogoča, da na odjemalcu definira model aplikacije (lokalni pomnilnik). Kodo po meri (JavaScript) lahko uporabite za nadaljnjo prilagoditev. Exadel namerava dodati veliko več podpore, da bo to lažje. Po navedbah podjetja je bil model in skladiščenje le prvi korak.

Sinhronizacijo mobilne baze podatkov s strežnikom je mogoče doseči z Appery.io, saj lahko programirate tako odjemalca kot strežnik, vendar vsekakor ni samodejno. Običajno shranite spremembe v paru ključ / vrednost ali pa vzdržujete lokalno bazo podatkov SQLite, do nje dostopate prek vtičnika Cordova in umazane zapise potisnete nazaj v strežniško bazo podatkov, ko ste povezani.

Zaključki in primerjave

Ker Appery.io obsega MBaaS in prostore za razvoj aplikacij za mobilne aplikacije, bi ga radi primerjali z izdelki v obeh kategorijah. Pri širokih potezah se mi je zdel Appery.io (skupna ocena 8,2) manj prepričljiv kot AnyPresence (skupna ocena 9,1), kar je še dodaten kilometer in ustvarja izvorne aplikacije in mobilne API-je. AnyPresence ima tudi pomembne vmesnike za zbirke podatkov v podjetju.

Ugotovil sem tudi, da je Appery.io manj zmogljiv kot FeedHenry (8.6), ki ima boljšo podporo za podjetja z uporabo okvira Node.js, in Alpha Anywhere (8.8), ki ima odlično integracijo baz podatkov in popolno podporo delovanja brez povezave, mobilnih podatkov sinhronizacijo in reševanje konfliktov podatkov.

Appery.io mi je bil bolj všeč kot goli razčlenjevalnik MBaaS (7.6) in razvijalec aplikacij / MBaaS Appcelerator (7.8) in se mi je zdel približno primerljiv s programom Kinvey (8.3), čeprav Kinvey ponuja več na področju analitike in podpore za zbirko podatkov v podjetju. .

PreglednicaSposobnost (25%) Integracije (25%) Podpora strankam (20%) IDE (20%) Vrednost (10%) Skupna ocena
Appery.io88898 8.2
$config[zx-auto] not found$config[zx-overlay] not found