Beginnerservaring ontwikkelen mobile app

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • LittleBit
  • Registratie: December 2008
  • Laatst online: 07-10 00:35
Zelf weet ik iets van HTML en wat van CSS en PHP.
Wil zelf een app maken en die koppelen aan een webserver, dus ben de afgelopen weken wat aan het stoeien gegaan met apps.
Wellicht dat er hier mensen zijn die mijn stappen dom vinden maar wellicht dat ik dan anderen met deze posting juist kan helpen.

Dus ik wilde een app maken.
Daarvoor kun je natuurlijk native apps maken voor iOS&Android maar dan moet je je gaan verdiepen in 2 ontwikkelomgevingen.

Ben me maar gaan verdiepen in AppInventor, dat is een ontwikkeltool voor Android-apps waarvoor geen code kennis nodig is. Het is gratis en vrij snel kun je daarmee simpele apps maken. Het heeft een grafische opmaak en een grafische besturingspagina. Daarbij bevat het standaard veel smartphone functionaliteit (zoals eventhandlers, bv obv schudden, camera-functie etc etc)

Maar toen ik wat meer wilde gaan doen, liep ik vast. Er zijn bv geen arrays en amper debug mogelijkheden en grafisch programmeren is wel leuk maar toch onhandig als het groter wordt... je zet een gebouw ook niet in 1 grote cad-tekening (maar minimaal in een tek. met meerdere 'lagen').
Daarbij is AppInventor er dus alleen voor Android.

Dus ik liep vast met AppInventor maar het is wel reuze geschikt om snel een prototype te maken en zo een ander kunnen laten zien wat je bedoelt.

Vervolgens ben ik me gaan verdiepen in 'mobile apps'. En dat is toch wat anders dan 'web apps'. Laat ik daar wat meer over vertellen.

Een web app maak je met HTML (en waarschijnlijk CSS en JS(JavaScript) erbij) welke staan op een webserver en de web-app runt in de webbrowser (bv FireFox of Chrome) van de client (bv je laptop).

De mobile app is bijna een web app maar wordt compleet (HTML5, CSS, JS) geladen op de smartphone en wordt gerunt door de Webview module (soort embedded webbrowser) in de smartphone.

Je smartphone beschouwt de 'mobile app' dus als een native app terwijl het gemaakt is met universele webtools.

Daarbij is er standaard geen communicatie met een webserver.

Als je programmeermogelijkheden wilt, doe je dat bij een web app in een script op de server (vaak PHP) en bij een 'mobile app' gaat dat vaak door een JS-smaak bv jQuery Mobile.

Als je wilt kun je vanuit je 'mobile app' wel weer communicatie doen met een server. Dat doe je dan vanuit JS in waarschijnlijk een JSON-format.

Ik heb ook even gekeken naar ontwikkelomgevingen op webservers. Daar is PHP de kampioen.
En om het programmeren in PHP eenvoudiger te maken wordt vaak een PHP-framework gebruikt. Een simpele is CodeIgniter maar die is eigenlijk te simpel. ZEND is er voor de profi's maar die is vrij complex. Met CakePHP heb je een tussenvorm maar het jongere Laravel groeit in het middengebied snel in populariteit.

Maar zal vind ik Laravel toch vrij lastig om in thuis te geraken. Daarbij is het een ontwikkelongeving welke eigenlijk minimaal een VPS-vereist en die heb ik nu even niet.

Vervolgens ben ik weer naar 'mobile apps' gaan kijken.

Daar is een open source module PhoneGap populair. Die module is overgenomen door Adobe en toen is het Open-Source-deel verder gegaan onder de naam Cordova.

Als je een 'mobile app' maakt met de Cordova library dan krijg je relatief simpel de low-level smartphone functionaliteit (zoals de camera, de GPS-info, de eventhandlers op bv schudden of lege accu etc etc).

Maar je hebt dus wel een ontwikkelomgeving nodig die 'boven' Cordova ligt.

Momenteel ben ik aan het stoeien met Intel XDK. Dat is een ontwikkelomgeving voor 'mobile apps' welke gebruik maakt van Cordova. Behalve een editor heeft Intel XDK ook een emulatie en een debug-mogelijkheid.

Voor Intel XDK moet je -in tegenstelling tot de non-code AppInventor dus- wel kennis hebben van HTML, CSS en liefst jQuery-JS. Het resultaat van Intel XDK is een groep files die je built tot 1 soort ZIP-file en die je dan kunt laden als app in je smartphone. Met dezelfde source-files built je zowel een iOS als Android-versie.

Enfin... en zo ploeteren we verder ;-)

Wellicht dat nav deze posting jij me nog op dingen kunt attenderen of ook je ervaringen wilt delen hier.

Acties:
  • +1 Henk 'm!

  • markvt
  • Registratie: Maart 2001
  • Laatst online: 11-10 18:20

markvt

Peppi Cola

Je kunt ook eens naar http://manifoldjs.com/ kijken om een web-app van een website te maken dan moet je gebruiker wel online zijn om de app te gebruiker. Tevens is het mogelijk om een "beperkte" offline versie (met bijvoorbeeld statische content in te voegen).

van-tilburg.info -=- meka (sega emulator) - Proud MEDION fanclub member - KOPPIG VOLHOUDEN !


Acties:
  • 0 Henk 'm!

Verwijderd

Als je het nog niet bent tegen gekomen.
http://ionicframework.com/ (Cordova/Angular)

Pro's:
  • Goed doorontwikkeld.
  • Documentatie is op orde
  • Alle kennis vanuit webdevelopment komt hier van pas.
  • Je hebt snel een prototype staan.
  • CLI neemt veel werk voor je uit handen.
Con's:
  • Het gaat nooit zo snel zijn als native.
  • Zonder webdevelopment kennis is het een stuk lastiger.
  • Alleen geschikt voor iOS en Android (met crosswalk), er is windows phone support (maar ik heb hier geen ervaring mee)
Waarschijnlijk vergeet ik nog een paar dingen op te noemen.

[ Voor 7% gewijzigd door Verwijderd op 14-07-2016 15:36 . Reden: lijstje leest wat makkelijker ]


Acties:
  • 0 Henk 'm!

  • LittleBit
  • Registratie: December 2008
  • Laatst online: 07-10 00:35
Verwijderd schreef op donderdag 14 juli 2016 @ 15:35:
Als je het nog niet bent tegen gekomen: http://ionicframework.com/ (Cordova/Angular)
Klopt,
en net zoals de door mij genoemde Intel XDK is die op Cordova gebaseerd,
net als Sencha Touch welke je ook nogal eens tegenkomt,
Resteert de vraag...
Wie hier kan iets zeggen over de verschillen tussen Intel-XDK, Ionic en Sencha Touch ?

Acties:
  • 0 Henk 'm!

Verwijderd

Intel XDK is een Cordova IDE en Ionic is een Cordova framework, dus dat is appels met peren vergelijken. Zelf heb ik geen ervaring met Sencha Touch. Als je al Ionic gaat gebruiken, gebruik dan Ionic 2 (is nog in beta). Ionic 2 gebruikt Angular 2 (ook nog in beta), heeft Android/iOS/Windows ondersteuning en ziet er native uit op alle 3 de platformen.