Het huidige IT-landschap is zeer heterogeen. We hebben te maken met verschillende platformen, apparaattype, formaten, besturingssystemen en programmeertalen. Een zeer interessant overzicht hiervan wordt gegeven door het State of the Developer Nation Q1 2016 Report<\/A> op visionmobile.com. De volledige beschikbaarheid van een eigen app voor alle gebruikers is in dit landschap eigenlijk niet meer realiseerbaar. Hoe hoger de beschikbaarheid moet zijn, hoe duurder het wordt of hoe meer compromissen er moeten worden gesloten.<\/P>Om een optimale beschikbaarheid voor een mobiele Native-app te bereiken, zou deze minstens drie keer! ontwikkeld moeten worden voor de momenteel dominante mobiele platformen iOS, Android en Windows Phone. Dat is duur. Om ontwikkelingskosten te besparen, kan de ontwikkelaar kiezen voor minder platformen, maar daarmee bereikt hij ook minder gebruikers.<\/P>Al aan dit voorbeeld wordt duidelijk dat in de planningsfase van een app concepten ontwikkeld moeten worden om met geringe ontwikkelingsinspanning – en daarmee lagere kosten – een zo hoog mogelijke beschikbaarheid van apps op verschillende platformen te bereiken. Daarmee zijn we al bij het onderwerp Cross-platform ontwikkeling, een van de belangrijkste uitdagingen waar ontwikkelaars tegenwoordig mee te maken hebben.<\/P>Cross-platform ontwikkeling betekent dat de code voor een app slechts één keer wordt ontwikkeld en deze op meerdere, meestal incompatibele platformen wordt uitgerold. Cross-platform ontwikkeling betekent ook altijd het vinden van een compromis tussen de beoogde doelgroep, ontwikkelingsinspanning, gebruikerservaring (UI\/UX) en functionaliteit.<\/P> <\/P><\/A><\/P> <\/P>Zoals in de grafiek te zien is, zijn er verschillende benaderingen met elk hun voor- en nadelen voor cross-platform programmering. Een goede mogelijkheid is zeker het aanbieden als Web-App. De code wordt slechts één keer geschreven en gehost op een webserver. De Web-App draait dan in de browser op vrijwel alle huidige apparaten. Met JavaScript\/HTML5 kunnen inmiddels zeer krachtige en performante toepassingen worden gemaakt. Naast de permanente online verplichting is de technische grens daarbij de browser zelf, die geen toegang toestaat tot veel sensoren van de apparaten, adresboeken, het volledige lokale geheugen enzovoort. Bijvoorbeeld kunnen daarmee apps voor buitendienst met offline gebruik van grotere hoeveelheden data niet gerealiseerd worden.<\/P>In tegenstelling hiermee zijn Native-apps speciaal afgestemd op het betreffende platform en kunnen daardoor gebruikmaken van de volledige kracht van de hardware, UI-componenten, opslag en functionaliteit van de apparaten. Dat zou de juiste aanpak zijn voor een mobiele app met offline functionaliteit voor buitendienst. Vanwege deze "specialisatie" is cross-platform ontwikkeling van Native-apps alleen mogelijk met speciale tools zoals bijvoorbeeld Qt\/QML<\/A>, Microsoft UWP<\/A> of Xamarin<\/A>. Code van apps die ontwikkeld zijn met de platform-eigen SDK's kunnen achteraf niet meer cross-platform compatibel gemaakt worden. Dat moet dus goed overwogen worden.<\/P>Hybride apps zijn een middenweg tussen beide mogelijkheden. Met frameworks zoals PhoneGap<\/A> of Titanium Appcelerator<\/A> e.d. kan JavaScript-code gecompileerd worden naar Native-apps voor verschillende platformen, waardoor de beperkingen van de browser overwonnen worden. Hybride apps zien er wel uit en voelen aan als Web-apps, maar ze kunnen wel meer bronnen van de apparaten aanspreken.<\/P>Het ontwikkelen van Geo-apps met Esri technologie is natuurlijk ook niet vrijgesteld van deze problematiek. In Deel 2<\/A><\/SPAN> van deze blog worden oplossingen en tools voor ArcGIS ontwikkelaars voor cross-platform ontwikkeling toegelicht.<\/P><\/BODY><\/HTML>
Om een optimale beschikbaarheid voor een mobiele Native-app te bereiken, zou deze minstens drie keer! ontwikkeld moeten worden voor de momenteel dominante mobiele platformen iOS, Android en Windows Phone. Dat is duur. Om ontwikkelingskosten te besparen, kan de ontwikkelaar kiezen voor minder platformen, maar daarmee bereikt hij ook minder gebruikers.<\/P>
Al aan dit voorbeeld wordt duidelijk dat in de planningsfase van een app concepten ontwikkeld moeten worden om met geringe ontwikkelingsinspanning – en daarmee lagere kosten – een zo hoog mogelijke beschikbaarheid van apps op verschillende platformen te bereiken. Daarmee zijn we al bij het onderwerp Cross-platform ontwikkeling, een van de belangrijkste uitdagingen waar ontwikkelaars tegenwoordig mee te maken hebben.<\/P>
Cross-platform ontwikkeling betekent dat de code voor een app slechts één keer wordt ontwikkeld en deze op meerdere, meestal incompatibele platformen wordt uitgerold. Cross-platform ontwikkeling betekent ook altijd het vinden van een compromis tussen de beoogde doelgroep, ontwikkelingsinspanning, gebruikerservaring (UI\/UX) en functionaliteit.<\/P>
<\/P>
Zoals in de grafiek te zien is, zijn er verschillende benaderingen met elk hun voor- en nadelen voor cross-platform programmering. Een goede mogelijkheid is zeker het aanbieden als Web-App. De code wordt slechts één keer geschreven en gehost op een webserver. De Web-App draait dan in de browser op vrijwel alle huidige apparaten. Met JavaScript\/HTML5 kunnen inmiddels zeer krachtige en performante toepassingen worden gemaakt. Naast de permanente online verplichting is de technische grens daarbij de browser zelf, die geen toegang toestaat tot veel sensoren van de apparaten, adresboeken, het volledige lokale geheugen enzovoort. Bijvoorbeeld kunnen daarmee apps voor buitendienst met offline gebruik van grotere hoeveelheden data niet gerealiseerd worden.<\/P>
In tegenstelling hiermee zijn Native-apps speciaal afgestemd op het betreffende platform en kunnen daardoor gebruikmaken van de volledige kracht van de hardware, UI-componenten, opslag en functionaliteit van de apparaten. Dat zou de juiste aanpak zijn voor een mobiele app met offline functionaliteit voor buitendienst. Vanwege deze "specialisatie" is cross-platform ontwikkeling van Native-apps alleen mogelijk met speciale tools zoals bijvoorbeeld
Hybride apps zijn een middenweg tussen beide mogelijkheden. Met frameworks zoals
Het ontwikkelen van Geo-apps met Esri technologie is natuurlijk ook niet vrijgesteld van deze problematiek. In
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.