Archief - Apps leren maken

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Born_chilla

Legacy Member
ik zou in mijn vrije tijd wat apps (ios, android) willen leren maken.
Probleem is; geen programeer achtergrond.

Enig idee welke stappen ik best onderneem om eventueel talen te leren (welke dan?)
Of kan ik mijn tijd best investeren in software zoals swift (ios) of ander voor Android?

Thx for reply!

Tyfius

Legacy Member
Je kan tegenwoordig redelijk veel cross-platform apps ontwikkelen met Xamarin Forms. Als ik naar mijn eigen werkomgeving krijg is er ook meer en meer vraag naar profielen die ervaring met Xamarin Forms hebben.

Kijk eens op https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/ en begin met de tutorial. C# is nooit een slechte taal om je in te verdiepen, ook cross-platform en niet zo heel moeilijk om er mee aan de slag te gaan. Met Visual Studio Code ben je al snel op weg.

Tailball

Legacy Member
Kies voor een moderne programmeertaal en probeer eerst de basis en alle concepten (bv OOP, SOLID, ...) onder de knie te krijgen.
Ik denk dan aan C# of Java.

Born_chilla

Legacy Member
Ik veronderstel dat Xamarin één van de zoveel is?
Ik zie wel dat het een vrij nieuw platform is?

Born_chilla

Legacy Member
Tailball zei:
Kies voor een moderne programmeertaal en probeer eerst de basis en alle concepten (bv OOP, SOLID, ...) onder de knie te krijgen.
Ik denk dan aan C# of Java.

Ik veronderstel dat de "concepten" belangrijke aspecten zijn die in de programmeertalen voorkomen? :-)

Fraa

Legacy Member
Er zijn een paar mogelijkheden, al zal de keuze sterk afhangen van je inzet, motivatie en persoonlijke voorkeur. Wil je zo snel mogelijk een app kunnen maken die op alle platformen draait? Dan kies je best voor een hybride technologie. Indien je je op games wil richten is het volgens mij het beste om via de native programmeertaal en de 2D- en 3D-frameworks van het platform te gaan. Games via een hybride technologie en samenwerking met een framework zoals Phaser of Babylon zijn ook mogelijk, maar qua prestaties liggen de limieten liggen een pak lager. Ik heb enkele opties hieronder beschreven:

- Xamarin: Een technologie die opgekocht werd door Microsoft waarbij je code in C# geschreven wordt. Je schrijft het gros van de code eenmaal, dingen zoals views (layout) kan je ook via Xamarin voorzien, maar het lijkt me beter omdat per platform apart te maken. Ik heb er al mee gewerkt, maar echt overtuigd was ik niet. Als je echt hybride apps wil maken (lees: eenmaal code schrijven voor de verschillende platformen), dan richt je je volgens mij best op iets zoals Cordova/Ionic.

- Cordova/Ionic: Cordova is een technologie van Apache waarbij je een bestaande webapplicatie (bv Angular/React/etc) in een wrapper stopt. De wrapper is eigenlijk een WebView binnen een native applicatie en deze geeft eigenlijk je webapp weer. Het voordeel is dat de code in JavaScript geschreven wordt en je op die manier dus ook meteen een werkende website hebt indien je dat wenst. Als je ervoor zorgt dat je webapp responsive is kan je dus met 1 enkele webapplicatie alle platformen voorzien. Ionic gebruikt Cordova als basis-techonlogie maar breidt deze verder uit. Ionic kan bv native UI-elementen voorzien waardoor de look and feel meer native aanvoelt. Binnen Cordova heb je ook een heleboel plugins om met hardware om te gaan, gaande van de camera, geolokalisatie, accelerometer, etc.

- Native apps: Hiervoor zal je je eerst Java moeten aanleren voor Android of Objective-C/Swift voor iOS (of allebei). Bijkomend zal je de frameworks van Android en iOS moeten leren kennen vooraleer je er echt mee weg bent. Het grote nadeel is dat je de code apart moet schrijven voor ieder platform, wat dubbel werk betekent. Het voordeel is dat een goed geschreven native applicatie vaak beter aanvoelt en presteert dan een hybride applicatie. Zonder basiskennis zou ik hier niet aan beginnen.

Welke technologie je uiteindelijk kiest maakt niet zoveel uit, dat is zeer subjectief. Ik ben persoonlijk geen grote fan van Xamarin, maar dat komt omdat ik niet zo microsoft-minded ben. De andere technologieën die je kan kiezen lijken mij interessanter, wil je bv een app maken die zowel op Android als iOS kan draaien, dan kies je volgens mij best voor een hybride applicatie in JavaScript. Wil je bv games ontwikkelen, dan richt je je best op een native programmeertaal en de bijbehorende frameworks. Zonder programmeerachtergrond zou ik niet aan een native app beginnen. Je hebt geen basiskennis en daardoor zullen veel dingen onduidelijk zijn. Het lijkt me persoonlijk het beste om aan een cursus te beginnen waardoor je je zelf de basisconcepten aanleert, voornamelijk object-georienteerd programmeren (OOP). In welke taal je dat doet maakt niet zoveel uit, via websites zoals Udemy kan je makkelijk een online-cursus aankopen. Vaak zijn er grote kortingen, cursussen van 200 euro die je bv voor 10 of 15 euro kan aankopen. Je kan ook gratis cursussen zoeken natuurlijk, maar Udemy is me altijd goed bevallen.

Ebisoka

Legacy Member
Ga voor Ionic + Angular / HTML CSS + javascript
Dat zijn dingen die niet snel zullen weggaan,

Xamarin is dan weer iets specifieks met hun XAML zoals silverlight dat elk moment kan sterven :p

Ook concepten als Solid en OO, gewoon niet naar kijken, voor een eerste App te maken zijn dat allemaal zaken die
overbodig zijn, beter na een paar jaar echt developen u bezig houden met "best practices"

DuffyT

Legacy Member
Android studio downloaden, gratis en van google zelf. Daarna courses op udacity volgen, je leert een basis app maken en wat basis java. Je kan dan nog zien of programmeren je bevalt.

@ hierboven, OO afraden maar dan wel afkomen met angular/ionic en dergelijke, OP heeft geen programmeerachtergrond dus een basis C#/java zou ideaal zijn om mee te beginnen.

Ebisoka

Legacy Member
OP heeft geen programmeerachtergrond dus een basis C#/java zou ideaal zijn om mee te beginnen.
Tuurlijk basiskennis C# is ideaal om een stateless Rest Api serviceke in de backend te maken
Ik bedoel eerder dat daarvoor geen geavanceerde OO kennis voor nodig is (+design patterns etc)

bosic

Legacy Member
Ik heb zowel ervaring met Xamarin (wel 5 jaar geleden) en Cordova met Ionic (2, 3 jaar geleden).

- Xamarin: een deel van je code in C# is dan wel gemeenschappelijk tussen iOS en Android, maar met UI gedeelte ben je dan nog specifiek voor iOS en Android te ontwikkelen. Je gaat dan de handleidingen voor beide platformen ook mogen doorspitten.

- Cordova met Ionic: Ik ben wat afgehaakt na de Ionic switch naar Angular JS 2. Nu had ik Angular onder de knie en dan gooien ze het bij de tweede versie over een andere boeg.


Zonder programmeerkennis lijkt me dit geen eenvoudige opdracht. Je moet al bijna professioneel bezig zijn want anders ga je de komende jaren al uw vrije tijd moeten steken in programmeerkennis opdoen.

Tyfius

Legacy Member
bosic zei:
Ik heb zowel ervaring met Xamarin (wel 5 jaar geleden) en Cordova met Ionic (2, 3 jaar geleden).

- Xamarin: een deel van je code in C# is dan wel gemeenschappelijk tussen iOS en Android, maar met UI gedeelte ben je dan nog specifiek voor iOS en Android te ontwikkelen. Je gaat dan de handleidingen voor beide platformen ook mogen doorspitten.

Dat klopt niet meer. Met Xamarin Forms kan je perfect cross-platform UI's maken.

Tailball

Legacy Member
yup, xamarin forms lost dat probleem voor een groot deel op.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan