Programování

Recenze: Appery.io spojuje tvůrce mobilních aplikací s back-end službami

Appery.io je poměrně schopná cloudová mobilní webová a hybridní mobilní vývojová platforma s online vizuálním designem a programovacími nástroji, stejně jako integrované služby typu back-end. Můžete si to představit jako kříženec mezi tvůrcem aplikací a MBaaS (mobilní back-end jako služba).

Jak vidíme na obrázku 1 níže, generátor aplikací Appery.io generuje kód HTML5, jQuery Mobile a Apache Cordova a server sestavení Appery.io generuje aplikace pro iOS, Android, Windows Phone a HTML5. Appery.io MBaaS poskytuje hosting, databázi MongoDB NoSQL, oznámení push, kód serveru JavaScript a zabezpečený proxy server.

Appery.io může mluvit v podstatě s jakýmikoli rozhraními REST API, bez ohledu na to, zda společnost předem připravila rozhraní. Vázání předem připraveného rozhraní REST na službu je otázkou několika minut. Sestavení rozhraní REST sami trvá trochu déle a vyžaduje vědět něco víc, ale není to velká práce.

Online tvůrce aplikací

Tvůrce aplikací Appery.io má karty pro nastavení aplikace, váš model a úložiště (obrázek 2), vaše stránky při jejich vytváření, dialogy, šablony, motivy, CSS, jakékoli služby, které definujete, váš JavaScript a všechny vlastní komponenty, které definovat. Tvůrce (obrázek 3) používá metaforu WYSIWYG s paletou více než 25 ovládacích prvků, včetně externích služeb, jako jsou Google Maps a Vimeo, a pro každou položku zobrazuje seznam vlastností. Můžete přepnout z návrhového zobrazení do zobrazení zdrojového kódu a zobrazit vygenerovaný kód HTML, CSS, JavaScript a jakýkoli kód specifický pro zařízení: Java pro Android, Objective-C pro iOS a XAML s podporou C # pro Windows Phone.

Aplikaci HTML5 můžete testovat za běhu, v prohlížeči na počítači (obrázek 4) a v prohlížečích telefonů a tabletů; vše, co nezávisí na Cordově, bude fungovat. Chcete-li otestovat svůj kód Cordova (například abyste mohli používat funkce nativního zařízení nebo získávat zprávy push), vytvořte aplikaci, stáhněte ji do svého zařízení a spusťte ji tam. Appery.io z důvodu pohodlí zobrazí QR kódy pro vaši aplikaci HTML5 a vaše binární soubory, abyste si je mohli stáhnout přímo do svého zařízení. Pro ještě větší pohodlí můžete do svého zařízení nainstalovat prostředí Appery.io Native Test App a namířit to na svůj kód.

Obecně jsem zjistil, že se tvůrce aplikací snadno učí a používá. Appery.io odvedl dobrou práci při navrhování svého IDE, takže mobilní vývojáři obvykle nebudou překvapeni tím, co dostanou.

Můžete se podívat na zdrojový kód generovaný Appery.io online, nebo si ho můžete zobrazit offline po stažení projektu. Neměl jsem problémy se čtením kódu HTML5 / CSS / JavaScript, ale už jsem znal Underscore, jQuery a jQuery Mobile. Appery.io stahuje přibližně 17 knihoven JavaScriptu, nepočítaje widgety. Je to tlusté? Dobře, ano. Ale na moderních zařízeních to není problém.

Nativní kód pro zařízení pro Android, iOS a Windows Phone je nezajímavý. Appery.io závisí na Cordově pro svůj nativní shell a všechny vlastní aplikace fungují v integrovaném ovládacím prvku prohlížeče.

Je hezké, že Appery.io má svůj vlastní cloudový stavitel a službu sestavení. Ve spojení s integrovaným vývojovým prostředím založeným na prohlížeči to znamená, že mobilní vývojáři nepotřebují k vytváření nativních aplikací více počítačů nebo více virtuálních počítačů a nemusejí udržovat více nativních sad SDK a IDE. Samozřejmě, pokud se rozhodnete exportovat svou aplikaci generovanou Appery.io a udržovat ji sami (například proto, že nechcete pokračovat v předplatném), budete potřebovat nativní sady SDK a IDE nebo službu PhoneGap Build z Adobe.

Back-end služby

Jak jsme již zmínili dříve, Appery.io má funkci MBaaS, která zahrnuje hostování, databázi NoSQL (MongoDB), oznámení push, kód serveru JavaScript a zabezpečená rozhraní REST API.

Appery.io umožňuje hostování HTML do vlastního cloudu, do Heroku a (ručně) poskytovatelům hostování třetích stran. Ve vlastním cloudu Appery.io můžete použít buď poskytnutý název domény app.appery.io, nebo svůj vlastní název domény nebo subdomény, za předpokladu, že máte přístup k nastavení DNS a víte, jak je změnit.

Chcete-li hostovat na Heroku, za předpokladu, že máte účet na heroku.com, musíte se přihlásit, autorizovat apperyio na Heroku a poté vytvořit aplikaci Heroku ze strany Appery.io. V Heroku lze publikovat pouze mobilní webové aplikace, nikoli aplikace Cordova.

Hybridní aplikace můžete publikovat na Google Play, iOS App Store a Windows Store. Appery.io pro vás může vytvořit binární soubory ve svém cloudu.

Databáze Appery.io používá MongoDB, webové rozhraní (obrázek 2) a REST API. Jakmile definujete tabulky (aka kolekce) a sloupce, můžete na ně odkazovat z jiných částí tvůrce aplikací Appery.io a graficky vytvářet připojení a mapování, aby se automaticky generoval kód CRUD. Každá databáze má tři předdefinované sbírky - Uživatelé, Soubory a Zařízení - které všechny mají zhruba sloupce, které byste očekávali, a můžete je libovolně přidávat.

Appery.io používá kolekci Devices vybrané databáze k ovládání zařízení, která budou přijímat push oznámení; podporuje push oznámení pro Android a iOS a jakékoli push oznámení může být pouze jedno nebo druhé. Můžete filtrovat zařízení pro daný push pomocí nástroje pro vytváření dotazů nebo řetězce dotazu. Mezi možné filtry patří geolokace (například všechna zařízení do dvou mil od určitého místa). Mezi další filtry patří kanály, které si můžete ponechat v databázi a přiřadit je, jak si přejete, a ID zařízení. Appery.io odesílá oznámení prostřednictvím nativních služeb Google a Apple, takže musíte mít pro tato rozhraní API zaregistrování.

Appery.io spouští kód serveru JavaScript pomocí motoru V8, i když nepoužívá rámec Node.js. Jak byste očekávali vzhledem k rozhraní REST API, back-endový kód JavaScriptu komunikuje s aplikací pomocí paketů požadavků a odpovědí a formátuje odpovědi jako JSON. Například následující kód definuje odpověď „Hello“ s aktuálním časem serveru:

// získat jméno ze služby, jméno se zadá v aplikaci

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

// načtení a formátování času

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

// dát dohromady uvítací řetězec

var pozdravString = "Dobrý den" + jméno + ". Nyní je to" +;

// formátovat jako JSON a vrátit odpověď

response.success (JSON.stringify ({

pozdrav: pozdrav řetězec

}), „aplikace / json“);

Appery.io implementuje Secure REST pomocí své databáze a speciálních kanálů proxy, aby zabezpečil tajné klíče, pověření a další citlivá data v bezpečí před otevřením uživateli aplikace. V zásadě uložíte svá tajná data do databáze pod názvy klíčů, vytvoříte kanál proxy pro nahrazení názvů klíčů tajnými daty a v aplikaci budete pracovat s názvy klíčů a definujete kanál proxy, který se má použít. Pak aplikace volá názvy klíčů a v proxy jsou nahrazeny daty a služba přijímá skutečná data. Uživatelé aplikace mohou najít názvy klíčů a ID kanálu proxy, ale nemají přístup k tajným datům.

Externí rozhraní

V době psaní tohoto článku má Appery.io zásuvné moduly pro platby Stripe; Pošta SendGrid; Zasílání zpráv Twilio; USA Today novinky; Sociální sítě Facebook, Foursquare a LinkedIn; Skladování boxů; Správa identity OAuth a Auth0; GitHub; Sirv dynamické zobrazování; a moderní a plochá témata uživatelského rozhraní. Má také integrovanou podporu pro Salesforce.com.

Pokud externí služba, kterou potřebujete, ještě nemá zásuvný modul, vše není ztraceno. Pokud se jedná o službu REST, Appery.io vám umožňuje připojit se k ní, získat ukázkový balíček odpovědí a použít Visual Data Binding k mapování výstupu služby do vaší aplikace.

Společnost Exadel, která stojí za serverem Appery.io, prodává doprovodnou službu s názvem RESTXpress. RESTXpress usnadňuje zabalení databází SQL / JDBC a webových služeb založených na protokolu SOAP pomocí rozhraní REST. RESTXpress lze instalovat na aplikační servery Java, jako je Tomcat, a je samostatně licencován.

Offline podpora

Při použití modelu a úložiště Appery.io je výchozím chováním přetrvávání stavu webové aplikace v místním úložišti. Data budou uložena v místním úložišti a zpřístupněna po dalším restartu. Volitelně můžete přidat svůj vlastní kód (JavaScript) a přizpůsobit si tuto funkci podle potřeby. Pokud potřebujete více místního úložiště, než kolik může být uloženo v úložišti párů klíč / hodnota WebView HTML5, můžete použít org.apache.cordova.file API pro přístup k systému souborů zařízení nebo WebSQL pro přístup k místní databázi SQLite.

Model a úložiště Appery.io pomáhá s povolením spuštění aplikace offline, protože umožňuje vývojáři definovat model aplikace na klientovi (místní úložiště). Pro další přizpůsobení lze použít vlastní kód (JavaScript). Exadel plánuje přidat mnohem více podpory, aby to bylo jednodušší. Podle společnosti byl Model and Storage pouze prvním krokem.

Synchronizaci mobilní databáze se serverem lze provést pomocí Appery.io, protože můžete naprogramovat klienta i server, ale rozhodně to není automatické. Obvykle byste buď ukládali změny v páru klíč / hodnota, nebo byste udržovali místní databázi SQLite, přistupovali k ní prostřednictvím zásuvného modulu Cordova a po připojení posílali špinavé záznamy zpět do databáze serveru.

Závěry a srovnání

Protože Appery.io zahrnuje MBaaS a vývojové prostory mobilních aplikací, měli byste jej porovnat s produkty v obou kategoriích. V širokých tahech štětce jsem našel Appery.io (celkové skóre 8,2) méně přesvědčivé než AnyPresence (celkové skóre 9,1), což jde o další míli a generuje nativní aplikace a mobilní API. AnyPresence má také pečená důležitá rozhraní podnikové databáze.

Také jsem zjistil, že Appery.io je méně schopný než FeedHenry (8.6), který má lepší podnikovou podporu díky použití rámce Node.js, a Alpha Anywhere (8.8), který má vynikající integraci databáze a plnou podporu offline provozu, mobilních dat synchronizace a řešení konfliktů dat.

Líbil se mi Appery.io lépe než holý MBaaS Parse (7.6) a tvůrce aplikací / MBaaS Appcelerator (7.8) a zjistil jsem, že je zhruba srovnatelný s Kinvey (8.3), ačkoli Kinvey nabízí více způsobu analytiky a podpory podnikové databáze .

ScorecardSchopnost (25%) Integrace (25%) Podpora klientů (20%) IDE (20%) Hodnota (10%) Celkové skóre
Appery.io88898 8.2