© CIDimport

Apps maken voor Android

Geplaatst: 27 januari 2012 - 11:07

Aangepast: 27 augustus 2022 - 07:30

Redactie ID.nl

Zelf programmeren voor Windows is een hele klus. Een app maken voor Android moet makkelijker zijn, zou je denken. Maar is dat wel zo?We duiken onder de ontwikkel-motorkap.

Besturingssysteem Android maakt een stormachtige groei door. Als we kijken naar de toename van het aantal programmaatjes dat voor Android beschikbaar is, dan zijn dat er volgens sommige bronnen inmiddels minstens net zo veel als voor Apple’s iOS, terwijl die laatste al heel wat langer meegaat.

Apps maken voor Android-16256496

© CIDimport

Volgens androlib.com zijn er al meer dan 600.000 Android Apps op de Market verschenen.

Als we de statistieken op www.androlib.com/appstats.aspx mogen geloven, komen er elke maand zo’n 35.000 app’jes bij. Op grond hiervan zou je denken dat het maken van een app voor Android betrekkelijk eenvoudig moet zijn. Zou dat inderdaad zo zijn? Zou het kunnen dat een gewone computergebruiker (lees: niet-programmeur) zelf een app kan maken en daar geld mee kan verdienen? Om daar achter te komen moeten we ons eerst verdiepen in de vraag: Hoe zitten Android en apps in elkaar?

Android ontleed

De basis van Android vinden we in Linux en dat wordt door de gemiddelde computergebruiker toch gezien als een ‘moeilijk besturingssysteem voor nerds’. Om die pijn wat te verzachten zit, er een speciaal Android-laagje overheen – en dat is waar we als gebruiker mee te maken hebben. Deze twee componenten samen zijn uiteraard veel kleiner en minder complex dan Windows zodat het systeem op mobiele apparaten kan werken. Een Android-programmeur hoeft dan ook met minder zaken rekening te houden.

Binnen Android draaien twee soorten programma’s. Enerzijds is er software die is geschreven in een programmeertaal als C of C++ en die vooraf door de maker wordt omgetoverd (gecompileerd) tot een bestand dat het apparaat kan uitvoeren. Dit wordt ook wel Native Code genoemd en is te vergelijken met de exe-bestanden in Windows. Deze methode wordt vooral voor spelletjes gebruikt. Anderzijds zijn er programma’s in een Java-achtige taal (ook bekend van bijvoorbeeld websites) die niet vooraf, maar tíjdens het gebruik in een bruikbare vorm worden gegoten in een virtuele machine die luistert naar de naam Dalvik. Dit lijkt sterk op de manier waarop Java-programma’s onder Windows werken via de Java Runtime Environment (JRE) die we allemaal (al dan niet bewust) op de pc hebben staan.

Beide soorten programma’s worden samen met aanvullende benodigdheden (data, audio, plaatjes) in een zogeheten apk-bestand gestopt. Dit heeft niets met autokeuringen te maken maar staat voor Android application PacKage. Ook dit is vergelijkbaar met Java.

Beide varianten klinken nu niet bepaald als iets waarmee de gemiddelde gebruiker aan de slag kan. De meesten van u zullen ten slotte niet kunnen programmeren in C of Java.

Apps maken voor Android-16256498

© CIDimport

Een blik onder de motorkap van Android.

Gereedschap

De standaardgereedschappen die Google van meet af aan beschikbaar heeft gesteld voor de ontwikkeling van Android-apps zijn de zogeheten SDK en NDK; de Standard Development Kit en de Native Development Kit. Allebei zijn ze bedoeld voor het ontwikkelen van programma’s in de hiervoor genoemde talen.

Van deze twee geldt het met Java verwante systeem van de SDK als het meest toegankelijk voor mensen die geen programmeur van beroep zijn. Dat mag dan wel zo zijn, het is echter toch dusdanig gecompliceerd dat je een behoorlijk fanatieke hobbyist moet zijn om er mee aan de slag te gaan (zie kaderDoet u mee?).

Visueel

We lopen dus tegen een vreemde tegenstrijdigheid op: Android-apps lijken zó simpel dat je verwacht dat ze makkelijk te maken zullen zijn – maar in werkelijkheid moet je er toch programmeur voor zijn om ze te kunnen bouwen. Da’s des te merkwaardiger als je bedenkt dat er voor Windows wel allerlei gereedschap bestaat om ‘te programmeren zonder te programmeren’, zelfs voor het maken van games!

Dat was Google ook opgevallen en dus kwam men halverwege 2010 met een intuïtievere oplossing genaamd App Inventor. Deze online-applicatie bood de mogelijkheid om op een visuelere manier apps te maken. Bood? Ja, want koud een jaar later maakte Google bekend dat het de stekker uit allerlei nevenactiviteiten zou trekken en App Inventor was er daarvan een. Een aanzienlijke groep enthousiaste gebruikers kreeg te horen dat men voor eind 2011 zijn projecten moest downloaden omdat dan de site op zwart zou gaan. Betekent dat helemaal het einde? Nee, want Google heeft een flinke zak geld geschonken aan het beroemde Massachusetts Institute of Technology (MIT), waar men ergens in het eerste kwartaal van 2012 een nieuwe site zal opstarten onder de naam Center for Mobile Learning. Dit centrum gaat allerlei activiteiten ontplooien op het gebied van computereducatie en zal onder andere de nieuwe locatie worden waar we App Inventor kunnen gebruiken. Naam en openingsdatum van deze site zijn op dit moment echter nog niet bekend. We houden u op de hoogte.

Apps maken voor Android-16256501

© CIDimport

Als u dit leest is deze site verdwenen, maar een opvolger komt eraan.

HAC

Betekent dat dus het voorlopige einde aan de mogelijkheden om als niet-programmeur uw eigen Android-app te bouwen? Nee, gelukkig zijn we niet helemaal afhankelijk van Google. Er zijn namelijk nog twee visueel-georiënteerde initiatieven om apps te maken: Hypernext Android Creator (HAC) en Andromo. Op die tweede komen we in het volgende nummer van Computer Idee uitgebreid terug.

Van deze twee is HAC zonder twijfel het meest veelzijdig, maar ook het lastigst in gebruik. Achter de visuele presentatie gaat namelijk stiekem toch een gewone programmeertaal schuil (zie kader De groeten van HAC).

De truc van HAC is dat het samenwerkt met de al genoemde Java- en Android SDK waarbij delen van de code automatisch worden gegenereerd. HAC laat u bijvoorbeeld op visuele wijze een gebruikersinterface maken door knopjes naar een venster te slepen. Hieraan kunt u vervolgens een actie toekennen. Dat laatste gebeurt dan in een taal die eenvoudiger en natuurlijker is dan Java, maar wél weer een programmeertaal. Dat betekent dat je voor alles (behalve de meest eenvoudige klusjes) toch weer over programmeursbloed moet beschikken.

Heb je eenmaal iets gemaakt met HAC, dan kun je het met een ingebouwde emulator testen of naar een fysiek Android-apparaat sturen om te proberen. HAC vertaalt de gebruikersinterface en de commando’s in de eigen taal daarvoor zelf naar Java.

Behalve dat HAC nog steeds kennis van programmeren vereist is het ook niet gratis. Het volledige systeem kost 59,95 dollar (de gratis download is een probeerversie) maar dan hebt u – net als bij de Android SDK - wel het voordeel dat de apps die u maakt helemaal van u zijn. Dat wil zeggen dat u ze bijvoorbeeld op de officiële Android Markt kunt plaatsen en er eventueel geld voor kunt vragen.

Verdienmodel

Wanneer u met een van de genoemde gereedschappen een programma maakt, kunt u dat openbaar maken via de Android Market (of een ander afzetkanaal – Android is daarin veel vrijer dan Apple). Uw app kan gratis of betaald zijn en wel of niet reclame bevatten.

De markt voor Apple-apps biedt aanzienlijk meer betaalde programma’s dan die van Android zodat u tegen heel veel gratis concurrentie moet opboksen wanneer u een betaald programma uitbrengt. Wanneer u dit doet moet u rekening houden met een aantal kosten. Om te beginnen kost registratie – ook voor gratis apps - bij de Android Market u 25 dollar (alleen te voldoen via creditcard). Na publicatie in de Market gaat van de opbrengst van elk gedownload programma 30% naar Google. Dat betekent dat u voor een app’je van 99 dollarcent een bedrag van 69 dollarcent overhoudt. Anders gezegd: om met uw app een netto bijstandsuitkering voor alleenstaanden te verdienen moet u er elke maand ongeveer duizend verkopen. Dat lukt – eerlijk gezegd – niet zo heel veel makers.

Veel bouwers van Android-apps kiezen dan ook voor het gratis verspreiden van hun product om daar dan vervolgens reclame in te laten tonen. Er zijn verschillende reclame-netwerken die programmeurs kunnen aanroepen vanuit een app (een studie op zich!). Deze betalen voor elke reclame (vaak in banner-vorm) die getoond wordt. Een vereiste is dan wel dat uw app internet-toegang moet hebben, wat hem er voor smartphone-bezitters niet aantrekkelijker op maakt.

En wordt u er rijk mee? Tja… Een voorbeeldje: de makers van Angry Birds haalden naar verluidt op enig moment één miljoen dollar per maand op aan reclame-inkomsten. Dat is dan wel op basis van tussen vijftig en honderd miljoen Android-installaties, dus op z’n best 2 dollarcent per installatie per maand. En dat voor een spel dat ook nog eens veel wordt gespeeld en dus veel reclameviews genereert. Maakt u een app’je dat duizend keer wordt gedownload en maar af en toe wordt opgestart, dan mag u blij zijn met een paar dollar per maand aan inkomsten.

Voor dat alles moet u wel heel wat werk verrichten, want behalve de al genoemde kosten voor de Android Market moet uw product ook aan allerlei aanvullende eisen voldoen. Zo moet uw programma zijn voorzien van een digitale handtekening, moet u een pictogram ontwerpen en eventueel een eindgebruikersovereenkomst opstellen, duidelijk aangeven waar uw programma toegang toe heeft (bellijst, internet, enzovoort) en nog veel meer.

Apps maken voor Android-16256503

© CIDimport

De Android Market ga je niet zo maar op.

Makkelijk

Dat klinkt als een hoop gedoe voor weinig geld voor wie programmeren niet als beroep of hobby heeft. In de volgende CID kijken we daarom naar alternatieve publicatievormen en naar Andromo, een gratis online tool die weliswaar aanzienlijk minder veelzijdig is, maar waarmee individuen en verenigingen wel een informatieve app kunnen maken en publiceren, inclusief reclame.

Doet u mee?

Goed, u wilt dus op de echte manier Android-apps maken? Maak uw borst maar nat. Om te beginnen moet u de ontwikkelsoftware voor Java installeren. De software voor het maken van Android-programma’s leunt hier namelijk zwaar op. De Java SDK vindt u op www.oracle.com/technetwork/java/javase/downloads/index.html.

Vervolgens hebt u de Android SDK nodig (developer.android.com/sdk/index.html). Hiervan neemt u het startpakket dat na installatie zelf een aantal aanvullende componenten kan binnenhalen. Hieronder vallen onder andere de documentatie, voorbeeldprojecten en emulators voor verschillende Android-versies om uw programma’s in te testen.

Zijn we daarmee van alles voorzien? Ja en nee. Hiermee kunt u aan de slag, maar de meeste ontwikkelaars geven de voorkeur aan een zogeheten Integrated Development Environment (IDE); een ontwikkelomgeving waarin we code kunnen typen én testen. Voor Android wordt Eclipse aanbevolen (www.eclipse.org/downloads/). Wanneer deze op de pc staat, moeten we vanuit dit programma nog even een plugin installeren om Eclipse te laten communiceren met de onderdelen van de Android SDK en dan kunnen we aan de slag.

Apps maken voor Android-16256506

© CIDimport

Binnen Android SDK moet je echt de weg weten.

De groeten van HAC

Om HAC te kunnen gebruiken moeten we behalve het programma zelf (www.hypernextandroid.com) ook de gratis Java-ontwikkelsoftware installeren (Java SDK) én het gratis Android SDK dat we al noemden. Ook is het (eveneens gratis) Apple Quicktime (www.apple.com/quicktime/download/) nodig. Let wel op welke versies u installeert. Voor Java SDK wordt versie 6 aangeraden en niet de nieuwste. Ook moet u de 32 bit-versie hebben, ook al hebt u een 64 bit-Windows.

Installatie verloopt het zelfde als die in het kader Doet u mee?, met dat verschil dat u voor HAC niet per se Eclipse nodig hebt maar aanvullend wel het al genoemde Quicktime moet installeren. Pas als dit alles is gebeurd, kunt u HAC installeren.

Omdat HAC nog volop in ontwikkeling is, kan het gebeuren dat uw Java SDK, Android SDK en/of Quicktime niet automatisch gevonden worden. Het forum van HAC vertelt u daar meer over.

Apps maken voor Android-16256508

© CIDimport

HAC ziet er makkelijker uit dan de Android SDK, maar achter de schermen schuilt toch programmacode.

Deel dit artikel
Voeg toe aan favorieten
ID.nl logo

ID.nl, onderdeel van Reshift BV, is in 2022 gestart en uitgegroeid tot de meest toonaangevende en complete consumentensite van Nederland. Het doel van ID.nl is om de consument te helpen met alle technologie die hoort bij het dagelijks leven: van smart-health-meters tot e-bikes, van warmtepompen tot zonnepanelen - en alles daar tussenin!

Duidelijk, betrouwbaar en onafhankelijk: ID.nl maakt moeilijke dingen makkelijk.

Contact

ID.nl

Nijverheidsweg 18

2031 CP Haarlem

info@id.nl

Telefoon: 023-5430000