Test: Appery.io kombiniert den Builder für mobile Apps mit Back-End-Diensten

Appery.io ist eine ziemlich leistungsfähige Cloud-basierte mobile Web- und hybride mobile Entwicklungsplattform mit visuellen Online-Design- und Programmiertools sowie integrierten Back-End-Diensten. Sie können sich das als Kreuzung zwischen einem App Builder und einem MBaaS (Mobile Back End as a Service) vorstellen.

Wie in Abbildung 1 unten zu sehen ist, generiert der Appery.io-App-Builder HTML5-, jQuery Mobile- und Apache Cordova-Code, und der Appery.io-Build-Server generiert iOS-, Android-, Windows Phone- und HTML5-Apps. Das Appery.io MBaaS bietet Hosting, eine MongoDB NoSQL-Datenbank, Push-Benachrichtigungen, JavaScript-Servercode und einen sicheren Proxy. 

Appery.io kann im Wesentlichen mit allen REST-APIs kommunizieren, unabhängig davon, ob das Unternehmen die Schnittstelle vorgefertigt hat oder nicht. Das Verknüpfen einer vorgefertigten REST-Schnittstelle mit einem Service dauert nur wenige Minuten. Das Erstellen der REST-Schnittstelle selbst dauert etwas länger und erfordert ein wenig mehr Wissen, ist aber keine große Aufgabe.

Online App Builder

Der Appery.io App Builder verfügt über Registerkarten für die App-Einstellungen, Ihr Modell und Ihren Speicher (Abbildung 2), Ihre Seiten beim Erstellen, Dialoge, Vorlagen, Themen, CSS, die von Ihnen definierten Dienste, Ihr JavaScript und alle benutzerdefinierten Komponenten, die Sie verwenden definieren. Der Builder (Abbildung 3) verwendet eine WYSIWYG-Entwurfsmetapher mit einer Palette von mehr als 25 Steuerelementen, einschließlich für externe Dienste wie Google Maps und Vimeo, und zeigt für jedes Element ein Eigenschaftenblatt an. Sie können von der Entwurfsansicht zur Quellcodeansicht wechseln, um Ihren generierten HTML-, CSS-, JavaScript- und gerätespezifischen Code anzuzeigen: Java für Android, Objective-C für iOS und XAML, unterstützt von C # für Windows Phone.

Sie können Ihre HTML5-App unterwegs in Ihrem Desktop-Browser (Abbildung 4) sowie in Ihren Telefon- und Tablet-Browsern testen. Alles, was nicht von Cordova abhängt, wird funktionieren. Um Ihren Cordova-Code zu testen (z. B. um native Gerätefunktionen zu verwenden oder Push-Nachrichten zu erhalten), erstellen Sie Ihre App, laden sie auf Ihr Gerät herunter und führen sie dort aus. Zur Vereinfachung zeigt Appery.io QR-Codes für Ihre HTML5-App und Ihre Binärdateien an, damit Sie sie direkt auf Ihr Gerät herunterladen können. Für noch mehr Komfort können Sie die Appery.io Native Test App-Shell auf Ihrem Gerät installieren und auf Ihren Code verweisen.

Im Allgemeinen fand ich den App Builder einfach zu erlernen und zu verwenden. Appery.io hat seine IDE gut gestaltet, sodass mobile Entwickler normalerweise nicht überrascht sind, was sie erhalten.

Sie können den von Appery.io generierten Quellcode online anzeigen oder ihn nach dem Herunterladen des Projekts offline anzeigen. Ich hatte keine Probleme beim Lesen des HTML5 / CSS / JavaScript-Codes, war aber bereits mit Underscore, jQuery und jQuery Mobile vertraut. Appery.io ruft ungefähr 17 JavaScript-Bibliotheken ein, ohne Widgets. Ist das fett? Nun ja. Bei modernen Geräten ist dies jedoch kein Problem.

Der gerätespezifische native Code für Android, iOS und Windows Phone ist uninteressant. Appery.io ist für seine native Shell von Cordova abhängig und erledigt die gesamte benutzerdefinierte Anwendung im eingebetteten Browser-Steuerelement.

Es ist schön, dass Appery.io einen eigenen Cloud-basierten Builder und Build-Service hat. In Verbindung mit der browserbasierten IDE bedeutet dies, dass mobile Entwickler nicht mehrere Computer oder mehrere VMs benötigen, um native Apps zu erstellen, und dass sie nicht mehrere native SDKs und IDEs verwalten müssen. Wenn Sie Ihre von Appery.io generierte App exportieren und selbst verwalten möchten (z. B. weil Sie Ihr Abonnement nicht fortsetzen möchten), benötigen Sie natürlich die nativen SDKs und IDEs oder den PhoneGap Build-Dienst von Adobe.

Back-End-Services

Wie bereits erwähnt, verfügt Appery.io über eine MBaaS-Funktion, die Hosting, eine NoSQL-Datenbank (MongoDB), Push-Benachrichtigungen, JavaScript-Servercode und sichere REST-APIs umfasst.

Appery.io ermöglicht HTML-Hosting in seiner eigenen Cloud, in Heroku und (manuell) in Hosting-Anbietern von Drittanbietern. In der eigenen Cloud von Appery.io können Sie entweder den angegebenen Domainnamen app.appery.io oder Ihren eigenen Domain- oder Subdomainnamen verwenden, vorausgesetzt, Sie haben Zugriff auf Ihre DNS-Einstellungen und wissen, wie Sie diese ändern können.

Um auf Heroku zu hosten, müssen Sie sich anmelden, Apperyio auf Heroku autorisieren und dann eine Heroku-App auf der Seite Appery.io erstellen, vorausgesetzt, Sie haben ein Konto bei heroku.com. In Heroku können nur mobile Web-Apps veröffentlicht werden, keine Cordova-Apps.

Sie können Hybrid-Apps in Google Play, im iOS App Store und im Windows Store veröffentlichen. Appery.io kann die Binärdateien für Sie in seiner Cloud erstellen.

Die Appery.io-Datenbank verwendet MongoDB, eine Webschnittstelle (Abbildung 2) und eine REST-API. Sobald Sie Tabellen (auch als Sammlungen bezeichnet) und Spalten definiert haben, können Sie in anderen Teilen des Appery.io-App-Builders auf diese verweisen und Verbindungen und Zuordnungen grafisch herstellen, um automatisch CRUD-Code zu generieren. Jede Datenbank verfügt über drei vordefinierte Sammlungen - Benutzer, Dateien und Geräte -, die ungefähr die erwarteten Spalten enthalten, und Sie können Sammlungen nach Belieben hinzufügen.

Appery.io verwendet die Gerätesammlung einer ausgewählten Datenbank, um die Geräte zu steuern, die Push-Benachrichtigungen erhalten. Es unterstützt Push-Benachrichtigungen für Android und iOS, und jede Push-Benachrichtigung kann nur an die eine oder andere gesendet werden. Sie können die Geräte für einen bestimmten Push mit einem Abfrage-Generator oder einer Abfragezeichenfolge filtern. Unter den möglichen Filtern befindet sich eine Geolokalisierung (z. B. alle Geräte innerhalb von zwei Meilen von einem bestimmten Standort). Weitere Filter sind Kanäle, die Sie in der Datenbank behalten und nach Belieben zuweisen können, sowie Geräte-IDs. Appery.io überträgt Benachrichtigungen über die nativen Google- und Apple-Dienste. Sie müssen sich daher für diese APIs registriert haben.

Appery.io führt JavaScript-Servercode mit der V8-Engine aus, ohne jedoch das Node.js-Framework zu verwenden. Wie bei der REST-API zu erwarten, kommuniziert der Back-End-JavaScript-Code mit der App über Anforderungs- und Antwortpakete und formatiert die Antworten als JSON. Der folgende Code definiert beispielsweise eine "Hallo" -Antwort mit der aktuellen Serverzeit:

// 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 implementiert Secure REST mithilfe seiner Datenbank und spezieller Proxy-Kanäle, um zu verhindern, dass geheime Schlüssel, Anmeldeinformationen und andere vertrauliche Daten von App-Benutzern geöffnet werden. Grundsätzlich speichern Sie Ihre geheimen Daten in einer Datenbank unter Schlüsselnamen, erstellen einen Proxy-Kanal zum Ersetzen der Schlüsselnamen durch geheime Daten und arbeiten in der App mit Schlüsselnamen und definieren den zu verwendenden Proxy-Kanal. Dann ruft die App Schlüsselnamen auf und im Proxy werden sie durch Daten ersetzt, und der Dienst empfängt echte Daten. Benutzer der App können die Schlüsselnamen und die Proxy-Kanal-ID finden, haben jedoch keinen Zugriff auf die geheimen Daten.

Externe Schnittstellen

Zum jetzigen Zeitpunkt verfügt Appery.io über Plug-Ins für Stripe-Zahlungen. SendGrid mail; Twilio Messaging; USA Today Nachrichten; Soziale Netzwerke von Facebook, Foursquare und LinkedIn; Box Lagerung; OAuth- und Auth0-Identitätsmanagement; GitHub; Sirv dynamische Bildgebung; und moderne und flache UI-Themen. Es hat auch integrierte Unterstützung für Salesforce.com.

Wenn der von Ihnen benötigte externe Dienst noch kein Plug-In hat, ist nicht alles verloren. Wenn es sich um einen REST-Dienst handelt, können Sie mit Appery.io eine Verbindung herstellen, ein Beispielantwortpaket abrufen und mithilfe der visuellen Datenbindung die Ausgabe des Dienstes Ihrer App zuordnen.

Exadel, das Unternehmen hinter Appery.io, verkauft einen Begleitdienst namens RESTXpress. Mit RESTXpress ist es einfach, SQL / JDBC-Datenbanken und SOAP-basierte Webdienste mit REST-Schnittstellen zu versehen. RESTXpress kann auf Java-Anwendungsservern wie Tomcat installiert werden und ist separat lizenziert.

Offline-Support

Bei Verwendung des Appery.io-Modells und -Speichers ist das Beibehalten des Status der Webanwendung im lokalen Speicher das Standardverhalten. Die Daten werden im lokalen Speicher gespeichert und nach dem nächsten Neustart verfügbar gemacht. Optional können Sie Ihren eigenen Code (JavaScript) hinzufügen, um diese Funktion nach Bedarf anzupassen. Wenn Sie mehr lokalen Speicher benötigen, als im HTML5 WebView-Schlüssel / Wert-Paar-Speicher org.apache.cordova.filegespeichert werden kann, können Sie über die API auf das Gerätedateisystem oder über WebSQL auf die lokale SQLite-Datenbank zugreifen.

Das Appery.io-Modell und der Appery.io-Speicher helfen dabei, eine App offline laufen zu lassen, da der Entwickler ein App-Modell auf dem Client definieren kann (lokaler Speicher). Benutzerdefinierter Code (JavaScript) kann zur weiteren Anpassung verwendet werden. Exadel plant, viel mehr Unterstützung hinzuzufügen, um es einfacher zu machen. Modell und Lagerung waren nach Angaben des Unternehmens nur der erste Schritt.

Die Synchronisierung mobiler Datenbanken mit einem Server kann mit Appery.io durchgeführt werden, da Sie sowohl den Client als auch den Server programmieren können, dies ist jedoch definitiv nicht automatisch. Normalerweise speichern Sie entweder Änderungen im Schlüssel / Wert-Paar oder verwalten eine lokale SQLite-Datenbank, greifen über ein Cordova-Plug-In darauf zu und übertragen schmutzige Datensätze bei Verbindung zurück in die Serverdatenbank.

Schlussfolgerungen und Vergleiche

Da Appery.io die Entwicklungsbereiche von MBaaS und mobilen Apps umfasst, möchten Sie es mit Produkten in beiden Kategorien vergleichen. Bei breiten Pinselstrichen fand ich Appery.io (Gesamtpunktzahl 8,2) weniger überzeugend als AnyPresence (Gesamtpunktzahl 9,1), das die Extrameile geht und native Apps und mobile APIs generiert. In AnyPresence sind auch die wichtigen Schnittstellen der Unternehmensdatenbank integriert.

Ich fand Appery.io auch weniger leistungsfähig als FeedHenry (8.6), das durch die Verwendung des Node.js-Frameworks eine bessere Unternehmensunterstützung bietet, und Alpha Anywhere (8.8), das eine hervorragende Datenbankintegration und vollständige Unterstützung für mobile Daten im Offline-Betrieb bietet Synchronisation und Lösung von Datenkonflikten.

Ich mochte Appery.io besser als das reine MBaaS Parse (7.6) und den App Builder / MBaaS Appcelerator (7.8), und ich fand es ungefähr vergleichbar mit Kinvey (8.3), obwohl Kinvey mehr in Bezug auf Analyse und Unterstützung von Unternehmensdatenbanken bietet .

Scorecard Fähigkeit (25%) Integrationen (25%) Kundenunterstützung (20%) IDE (20%) Wert (10%) Gesamtpunktzahl
Appery.io 8 8 8 9 8 8.2