Programmering

Anmeldelse: Appery.io parrer mobilapp-builder med back-end-tjenester

Appery.io er en ret dygtig skybaseret mobilweb og hybrid mobiludviklingsplatform med online visuelt design og programmeringsværktøjer samt integrerede back-end-tjenester. Du kan tænke på det som et kryds mellem en appbygger og en MBaaS (mobil back-end som en tjeneste).

Som vi kan se i figur 1 nedenfor genererer Appery.io-appbyggeren HTML5-, jQuery Mobile- og Apache Cordova-kode, og Appery.io-byggeserveren genererer iOS-, Android-, Windows Phone- og HTML5-apps. Appery.io MBaaS leverer hosting, en MongoDB NoSQL-database, push-underretninger, JavaScript-serverkode og en sikker proxy.

Appery.io kan tale med stort set alle REST API'er, uanset om virksomheden har genopbygget grænsefladen eller ej. Det er et par minutter at binde en forudbygget REST-grænseflade til en tjeneste. At bygge REST-grænsefladen selv tager lidt længere tid og kræver at vide lidt mere, men det er ikke et stort job.

Online appbygger

Appery.io-appbyggeren har faner til appindstillingerne, din model og lagerplads (figur 2), dine sider, når du opretter dem, dialoger, skabeloner, temaer, CSS, uanset hvilke tjenester du definerer, din JavaScript og eventuelle brugerdefinerede komponenter, du Definere. Byggeren (figur 3) bruger en WYSIWYG-designmetafor med en palet på mere end 25 kontrolelementer, inklusive til eksterne tjenester som Google Maps og Vimeo, og den viser et egenskabsark for hver vare. Du kan skifte fra designvisning til kildekodevisning for at se din genererede HTML, CSS, JavaScript og enhver enhedsspecifik kode: Java til Android, Objective-C til iOS og XAML bakket op af C # til Windows Phone.

Du kan teste din HTML5-app, mens du går, i din desktop-browser (figur 4) og i din telefon- og tablet-browser; alt, hvad der ikke afhænger af Cordova, fungerer. For at teste din Cordova-kode (for eksempel for at bruge indbyggede enhedsfunktioner eller få push-beskeder) skal du oprette din app, downloade den til din enhed og køre den der. For nemheds skyld viser Appery.io QR-koder til din HTML5-app og dine binære filer, så du kan downloade dem direkte til din enhed. For endnu mere bekvemmelighed kan du installere Appery.io Native Test App-skal på din enhed og pege på din kode.

Generelt fandt jeg appbyggeren nem at lære og bruge. Appery.io har gjort et godt stykke arbejde med at designe sin IDE, så mobiludviklere normalt ikke bliver overrasket over, hvad de får.

Du kan se på Appery.io-genereret kildekode online, eller du kan se den offline efter download af projektet. Jeg havde ikke problemer med at læse HTML5 / CSS / JavaScript-koden, men jeg var allerede bekendt med Underscore, jQuery og jQuery Mobile. Appery.io trækker i omkring 17 JavaScript-biblioteker, medregner ikke widgets. Er det fedt? Altså ja. Men på moderne enheder er det ikke et problem.

Den enhedsspecifikke oprindelige kode til Android, iOS og Windows Phone er uinteressant. Appery.io afhænger af Cordova for sin oprindelige skal, og det fungerer alt det brugerdefinerede applikationsarbejde i den integrerede browserkontrol.

Det er rart, at Appery.io har sin egen skybaserede builder- og buildtjeneste. Sammen med den browserbaserede IDE betyder det, at mobiludviklere ikke behøver at have flere computere eller flere virtuelle computere for at oprette native apps, og de behøver ikke at vedligeholde flere native SDK'er og IDE'er. Selvfølgelig, hvis du beslutter at eksportere din Appery.io-genererede app og vedligeholder den selv (for eksempel fordi du ikke vil fortsætte dit abonnement), skal du bruge de oprindelige SDK'er og IDE'er eller PhoneGap Build-tjenesten fra Adobe.

Back-end-tjenester

Som vi nævnte tidligere, har Appery.io en MBaaS-funktion, der inkluderer hosting, en NoSQL-database (MongoDB), push-underretninger, JavaScript-serverkode og sikre REST-API'er.

Appery.io tillader HTML-hosting til sin egen sky, til Heroku og (manuelt) til tredjeparts hosting-udbydere. På Appery.ios egen sky kan du enten bruge det angivne app.appery.io-domænenavn eller dit eget domæne- eller underdomænenavn, forudsat at du har adgang til dine DNS-indstillinger og ved, hvordan du ændrer dem.

For at være vært på Heroku, forudsat at du har en heroku.com-konto, skal du logge ind, godkende apperyio på Heroku og derefter oprette en Heroku-app fra Appery.io-siden. Kun mobile webapps kan udgives til Heroku, ikke Cordova-apps.

Du kan udgive hybridapps til Google Play, iOS App Store og Windows Store. Appery.io kan oprette binærfiler til dig i sin sky.

Appery.io-databasen bruger MongoDB, en webgrænseflade (figur 2) og en REST API. Når du har defineret tabeller (også kaldet samlinger) og kolonner, kan du henvise til dem fra andre dele af Appery.io-appbyggeren og oprette forbindelser og kortlægninger grafisk for automatisk at generere CRUD-kode. Hver database har tre foruddefinerede samlinger - Brugere, filer og enheder - som alle har omtrent de kolonner, du forventer, og du kan tilføje samlinger efter ønske.

Appery.io bruger Devices-samlingen i en valgt database til at kontrollere de enheder, der modtager push-underretninger; det understøtter push-underretninger til Android og iOS, og enhver given push-underretning kan kun være til den ene eller den anden. Du kan filtrere enhederne til et givet push med en forespørgselsbygger eller forespørgselsstreng. Blandt de mulige filtre er en geolokalisering (for eksempel alle enheder inden for tre miles fra en bestemt placering). Andre filtre inkluderer kanaler, som du kan gemme i databasen og tildele, som du ønsker, og enheds-id'er. Appery.io skubber underretninger gennem de oprindelige Google- og Apple-tjenester, så du skal have tilmeldt dig disse API'er.

Appery.io kører JavaScript-serverkode ved hjælp af V8-motoren, selvom den ikke bruger rammen Node.js. Som du forventer givet REST API, kommunikerer back-end JavaScript-koden med appen med anmodnings- og svarpakker, og den formaterer svarene som JSON. For eksempel definerer følgende kode et “Hej” -svar med den aktuelle servertid:

// få navn fra tjeneste, navn indtastes i appen

var navn = anmodning.get ("navn");

// få og formater tiden

var nu = øjeblik (). format ("dddd, MMMM D ÅÅÅÅ, h: mm: ss a");

// sammensæt hilsenstrengen

var greetingString = "Hej" + navn + ". Det er" + nu;

// format som JSON og returner svaret

respons.success (JSON.stringify ({

hilsen: hilsenString

}), "application / json");

Appery.io implementerer Secure REST ved hjælp af sin database og specielle proxy-kanaler for at forhindre hemmelige nøgler, legitimationsoplysninger og andre følsomme data i at blive åbnet af appbrugere. Dybest set gemmer du dine hemmelige data i en database under nøglenavne, du opretter en proxykanal til erstatning af nøglenavne med hemmelige data, og i appen arbejder du med nøglenavne og definerer den proxykanal, der skal bruges. Derefter kalder appen nøglenavne, og i proxyen erstattes de med data, og tjenesten modtager rigtige data. Brugere af appen kan finde nøglenavnene og proxykanal-id'et, men de har ikke adgang til de hemmelige data.

Eksterne grænseflader

I skrivende stund har Appery.io plug-ins til Stripe-betalinger; SendGrid mail; Twilio-beskeder; USA Today nyheder; Facebook, Foursquare og LinkedIn sociale netværk; Box opbevaring; OAuth og Auth0 identitetsstyring; GitHub; Sirv dynamisk billeddannelse; og moderne og flade UI-temaer. Det har også indbygget support til Salesforce.com.

Hvis den eksterne tjeneste, du har brug for, ikke allerede har et plug-in, går alt ikke tabt. Hvis det er en REST-tjeneste, lader Appery.io dig oprette forbindelse til den, få fat i en prøvesvarpakke og bruge Visual Data Binding til at kortlægge tjenestens output til din app.

Exadel, firmaet bag Appery.io, sælger en ledsagertjeneste kaldet RESTXpress. RESTXpress gør det nemt at pakke SQL / JDBC-databaser og SOAP-baserede webservices med REST-grænseflader. RESTXpress kan installeres i Java-applikationsservere som Tomcat, og det er licenseret separat.

Offline support

Når du bruger Appery.io-modellen og opbevaring, er det standardadfærden at opretholde webapptilstanden til lokal opbevaring. Data opbevares lokalt og gøres tilgængelige efter næste genstart. Eventuelt kan du tilføje din egen kode (JavaScript) for at tilpasse denne funktion så meget som nødvendigt. Hvis du har brug for mere lokal opbevaring, end der kan opbevares i HTML5 WebView-nøgle / værdipar, kan du bruge org.apache.cordova.fil API for at få adgang til enhedens filsystem eller WebSQL for at få adgang til den lokale SQLite-database.

Appery.io Model and Storage hjælper med at lade en app køre offline, da det giver udvikleren mulighed for at definere en app-model på klienten (lokal opbevaring). Brugerdefineret kode (JavaScript) kan bruges til yderligere tilpasning. Exadel planlægger at tilføje meget mere støtte for at gøre det lettere. Ifølge virksomheden var Model og Storage kun det første skridt.

Mobil databasesynkronisering med en server kan opnås med Appery.io, da du kan programmere både klienten og serveren, men det er bestemt ikke automatisk. Typisk gemmer du enten ændringer i nøgle / værdipar, eller du opretholder en lokal SQLite-database, får adgang til den via et Cordova-plug-in og skubber beskidte poster tilbage til serverdatabasen, når du er tilsluttet.

Konklusioner og sammenligninger

Da Appery.io spænder over MBaaS og udviklingen af ​​mobilapps, vil du gerne sammenligne det med produkter i begge kategorier. I brede penselstrøg fandt jeg Appery.io (samlet score 8,2) mindre overbevisende end AnyPresence (samlet score 9,1), hvilket går den ekstra mil og genererer native apps og mobile API'er. AnyPresence har også de vigtige interface-grænseflader til virksomheder bagt ind.

Jeg fandt også Appery.io mindre kapabel end FeedHenry (8.6), som har bedre virksomhedsstøtte gennem brugen af ​​Node.js-rammen og Alpha Anywhere (8.8), som har fremragende databaseintegration og fuld understøttelse af offline-drift, mobildata synkronisering og datakonfliktløsning.

Jeg kunne godt lide Appery.io bedre end den bare MBaaS Parse (7.6) og appbyggeren / MBaaS Appcelerator (7.8), og jeg fandt det nogenlunde sammenlignelig med Kinvey (8.3), selvom Kinvey tilbyder mere i form af analyse og support til virksomhedsdatabaser .

ScorecardEvne (25%) Integrationer (25%) Kundesupport (20%) IDE (20%) Værdi (10%) Samlet score
Appery.io88898 8.2