-

Een overzicht van dé crossplatform-appontwikkeltools

Het uitbrengen van een eigen app is een goede stap om nieuwe klanten te bereiken of bestaande klanten nog beter van dienst te zijn. Maar apps staan er ook om bekend dat ze een substantieel deel van je budget kunnen opslurpen omdat je meerdere platformen moet ondersteunen. De smartphone wereld wordt namelijk gedomineerd door Android en Apple (iOS) smartphones.

Heb je een beperkt budget maar wil je de stap toch wagen? Dan is het de moeite waard om eens te kijken naar een crossplatform -appontwikkeltool. Daarmee vang je namelijk twee vliegen in één klap. In dit artikel een overzicht van de belangrijkste spelers in de markt.

Native app-ontwikkeling

Kies je voor een native app, dan bouw je feitelijk twee apps. Een voor Android in de Java programmeertaal en één voor Apple in de Objective-C- of Swift-ontwikkeltaal. Deze talen sluiten naadloos aan op de respectievelijke platformen en garanderen daarom apps die snel in het gebruik zijn. Maar helaas kent deze aanpak ook één belangrijk nadeel. Je hebt zowel een Android- als iOS-programmeur nodig om je apps te ontwikkelen. Beide programmeertalen verschillen namelijk net zoveel als Engels en Spaans. Qua concept en design wellicht ongeveer hetzelfde, maar je ontwikkelingskosten zullen ongeveer dubbel zo hoog zijn als je kiest voor een native app.

Crossplatform-ontwikkeling

Gelukkig is er ook een alternatief als je niet het budget hebt om zowel een native Android- als iOS-app te laten ontwikkelen. Dat alternatief is het inzetten van een cross platform ontwikkeltool waarmee een hybride app voor zowel Android als Apple gemaakt kan worden. Dergelijke tools faciliteren de ontwikkeling in één taal die daarna door de tool omgezet wordt in werkende code voor beide platformen. Vaak wordt er daarbij in de achtergrond ook webcode aangeroepen. Ze staan ook wel bekend als write once – run anywhere (WORA)-tools. Een stuk goedkoper in de ontwikkeling dus. Maar wel  met de nadelen dat je app wat trager kan aanvoelen en soms net iets minder mogelijkheden biedt.

We zullen de belangrijkste vijf crossplatform-ontwikkeltools hierna beschrijven.

Phonegap                                                                

Waarschijnlijk de bekendste van alle tools is Phonegap. Phonegap is tegenwoordig eigendom van Adobe en je kunt er hybride apps mee bouwen op basis van je bestaande HTML-, CSS- en Javascriptkennis. Het is dus een goede keuze voor webdevelopers die snel de stap naar mobiele apps willen maken en niet de tijd hebben om nieuwe skills te leren. Phonegap verpakt je code in een native container en biedt daarnaast veel plug-ins waarmee je toegang krijgt tot specifieke native functies op de smartphone. Nadeel van Phonegap is dat het er om bekend staat wat trager te zijn voor apps met zware grafische toepassingen.

Xamarin

Een andere belangrijke speler is Xamarin, de oplossing van Microsoft voor het bouwen van crossplatform-apps. Het bedrijf heeft met Windows Mobile nooit echt een groot marktaandeel op de smartphone kunnen veroveren, maar dat maakt deze oplossing niet minder geschikt. Meer dan 15.000 bedrijven wereldwijd gebruiken Xamarin. Het zal geen verbazing wekken dat de oplossing is gebaseerd op C#, Microsofts eigen programmeertaal. Dat maakt deze tool geschikt voor iedereen die al kennis heeft van deze programmeertaal. Met Xamarin is het mogelijk om apps voor Android, iOS en Windows te ontwikkelen en daarbij gebruik te maken van één gedeelde code base.

Sencha Touch

Het Sencha Touch platform biedt goede mogelijkheden om HTML5-apps te bouwen en leunt daarbij sterk op Javascript. Standaard worden een groot aantal user-interface-thema’s en -widgets meegeleverd, waardoor een native gebruikerservaring zoveel mogelijk wordt benaderd. Ben je al een Javascriptkoning? Dan is dit waarschijnlijk de tool van je keuze. Je kunt standaard gebruik maken van widgets zoals menu-items, toolbars, lijsten, formulieren en carrousels. Naar eigen zeggen gebruiken meer dan 10.000 bedrijven Sencha en kent de tool een community van meer dan 500.000 actieve gebruikers wereldwijd.

Appcelerator

Appcelerator biedt met haar Titanium IDE en app-designertool ook een complete multiplatformtool aan die gebaseerd is op Javascript. Bovendien biedt het bedrijf eenvoudige toegang tot data via API’s en een mobile analytics oplossing die te integreren is in apps. Een voordeel van Appcelerator is dat het webcontent ontsluit in een native app-omgeving. Standaard biedt Appcelerator daarnaast eenvoudig toegang tot Microsoft, Salesforce en MongoDB databases. In het  verleden was de oplossing van Appcelerator wat buggy, maar de nieuwste versies zijn meer stabiel. Wel wordt er vanuit de community nog wel eens geklaagd om de ondersteuning voor ontwikkelaars.

Apache Cordova

Een goede open source-oplossing mag natuurlijk niet ontbreken in het rijtje van crossplatform-ontwikkeltools. Apache Cordova biedt een oplossing voor iedereen die niet met een commerciële tool wil werken. Feitelijk biedt Cordova veel van dezelfde mogelijkheden als Phonegap. Nadat Abobe Phonegap overnam gaf het een open source versie vrij in de vorm van Apache Cordova. Rond dit open source project is weer een heel ecosysteem van tools ontstaan die gebouwd zijn op of naast Cordova. Die zijn de moeite van het bestuderen waard als je een open source fan bent.

En verder…

Het gaat te ver om alle op de markt beschikbare crossplatform-appontwikkeltools te bespreken. Kun je niet uit de voeten met één van de vijf hiervoor beschreven oplossingen? Dan zou je nog eens verder kunnen kijken naar bijvoorbeeld Codename One, Convertigo, Kony, Monocross of Rhomobile.

Je mobiele ontwikkelaar kan je adviseren wat aan te raden is in jouw situatie. Heb je een budget dat lager is dan 10.000 euro? Dan is een crossplatform-aanpak vaak de enige juiste keuze.

Dit bericht is 96 keer gedeeld

5 Reacties

Jaap van Goor - Promanent b.v.

Delphi (Object Pascal) heeft de Firemonkey Bibliotheek om native te kunnen ontwikkelen in één ontwikkeltaal voor Windows, Mac OS-X, iOS en Android en binnenkort ook Linux. Gecompileerde code en dus native op het platform van de keuze.

Ruben Dröge - Progress

NativeScript is open-source en stelt je in staat cross-platform apps te ontwikkelen met JavaScript, TypeScript of Angular 2. Het stelt je dus in staat om webskills te herbruiken voor mobile app development, zonder deze te laten draaien in een WebView.
Tevens kan NativeScript gebruikt worden in het ontwikkelplatform Telerik Platform, dat tevens zaken als MBaas aanbiedt.

John Kivit - Shareforce

Dank voor je bijdrage Jaap. Die kende ik nog niet. Weet je of Firemonkey ook veel wordt gebruikt in de developer community?

Bob Swart - Bob Swart Training Consultancy

Het is toch al sinds een jaar of 5 dat we met Delphi en FireMonkey toepassingen voor Windows, OS X en iOS kunnen maken, en sinds 2013 ook voor Android. Heel nieuw is het dus niet, maar kennelijk wel onbekend genoeg om hier niet genoemd te worden.
Zie https://www.embarcadero.com/starthere/berlin/mobdevsetup/ios/en/index.html of een webinar met een overzicht van een aantal apps die gemaakt zijn met Delphi en FireMonkey te https://community.embarcadero.com/blogs/entry/cool-apps-and-case-studies

Jaap van Goor - Promanent b.v.

Niet zo veel gebruikt als op Javascript gebaseerde systemen.

Delphi en in mindere mate ook Firemonkey zijn denk ik buiten Nederland veel meer bekend. In Brazilië en zeker ook in de diverse landen van het voormalig Oostblok. Omdat Delphi en C++ echter native applicaties opleveren is het voor de buitenwereld ook niet altijd direct duidelijk waarmee het gemaakt is. De tweede link die Bob Swart noemt is wat dat betreft een must-see.
Firemonkey is overigens ook beschikbaar voor C++

Wij ontwikkelen al jaren in Delphi en daarvoor in Turbo Pascal. Niet direct mainstream, maar native en dusdanig uitgebreid dat alles er mee te maken is. Datzelfde kan gezegd worden voor de relatief jonge toevoeging van Firemonkey aan Delphi/C++, maar dan dus geschikt voor alle veel gebruikte OS’en. Delphi en dus ook Firemonkey (voor Delphi) is Object Pascal.

Plaats een reactie

Uw e-mailadres wordt niet op de site getoond