App Studio

Native App Studio

Studiegidsnummer
5062NAAS6Y
Admin. code
OWII
Studielast
6
Periode(n)
Semester 1 en 2
Onderwijsinstituut
College of Science domein Informatiewetenschappen
Docent(en)
Onderdeel van

Leerdoelen

  • je begrijpt hoe object-orientatie je helpt je programma’s overzichtelijk te houden
  • je begrijpt de trade-offs die er zijn bij het ontwerpen van mobiele software
  • je weet welke design patterns een rol spelen op het platform van je keuze
  • je kunt versiebeheer, testing en code reviews toepassen om de ontwikkeling van applicaties soepel te laten verlopen

Inhoud

Dit is het tweede deel van twee cursussen die helemaal gaan over apps maken. Het belangrijkste doel is om je te leren van begin tot eind een idee uit te werken tot een complete applicatie. Je doet zeer intensief ervaring op met programmeren zoals dat gebeurt bij web & app-bedrijven.

Je gaat niet meer kleine programmaatjes schrijven en aanvullen, maar je gaat serieuze producten opleveren. Een grote vraag die je gaat proberen te beantwoorden is: wat is een goed ontwerp?

In dit tweede deel bouwen we voort op Web App Studio. Ook in dit vak draait het weer om het ontwerp en je zult zien dat de platforms waarin je native apps maakt soms erg lijken op de platforms voor web apps.

Je gaat werken met iOS of Android. In het eerste project maak je een klein spel om het platform goed te leren kennen. Het tweede project bedenk je zelf. Voor informatici is het verplicht in dit tweede project een serverside-component te maken die samenwerkt met de app.

Aanbevolen voorkennis

Je hebt uitgebreide ervaring nodig met programmeren in C, Java of Ruby. Studenten informatica mogen instromen als ze Inleiding Programmeren, Webprogrammeren en Datastructuren in C hebben gehaald. Andere studenten moeten Web App Studio gevolgd hebben en natuurlijk Programmeren 1 en 2 of soortgelijke vakken.

Aanmelden

Meer informatie en aanmelden: http://www.mprog.nl/ . Opgave via https://www.sis.uva.nl tot 4 weken voor aanvang van het semester is verplicht.

Je moet na aanmelding zelf een jaarschema opstellen en daarna zo mogelijk een geschikte groep kiezen die aansluit op je rooster. Waar nodig kun je later in overleg je schema nog wijzigen.

Onderwijsvorm

Je werkt gedurende twee maanden alleen of met een andere student aan twee projecten. Het eerste project wordt door ons voorgeschreven, en voor het tweede dien je zelf een voorstel in. Als je dit vak samen met een andere student volgt zul je er méér van leren, maar doe dit alleen als je zeker weet dat jullie allebei genoeg tijd hebben.

Belangrijk: dit vak kun je in principe niet volgen in januari of juni. Je moet samen met je eventuele partner 16 uur per week aanwezig zijn om te werken aan je projecten.

De projecten lopen volgens een vast patroon:

  • voorstel
  • technisch ontwerp
  • alfaversie
  • releaseversie

De ervaring leert dat dit vak je veel tijd kost, ook als je gewend bent sneller te gaan bij andere vakken. Dit komt onder andere door het vele uitzoekwerk. Het is daarom niet toegestaan dit als derde vak te volgen. Let overigens op dat de deadlines kunnen vallen in de tentamenperiodes van andere vakken.

Toetsvorm

Twee projecten. We kijken naar ontwerp, correctheid, stijl en omvang – en je persoonlijke ontwikkeling op deze aspecten.


Game Developed during the course


Native apps, iOS

Basics




Class - description/template for an object
Instance - manifestation of a class
Message - sent to object to make it act
Methode - code invoked by a message
Instance Variable - object-specific storage
Superclass/Subclass - inheritance

Properties:
A “property” is just the combination of a getter method and a setter method in a class. 
The getter (usually) has the name of the property (e.g. “myValue”)
The setter’s name is “set” plus capitalized property name (e.g. “setMyValue:”)





General description by developer.apple:


Building Mobile Applications


"Today's applications are increasingly mobile. Computers are no longer confined to desks and laps but instead live in our pockets and hands. This course teaches students how to build mobile apps for iOS, one of today's most popular platforms. Students learn to write native and web apps for iPhones, iPod touches, and iPads using Xcode and the iOS SDK."

Week 0 - web app technology introduction
Week 1 - theory of objectiveC


Mobile Software Engineering


"Introduction to principles of software engineering for mobile devices and best practices, including code reviews, source control, and unit tests. Topics include Ajax, encapsulation, event handling, HTTP, memory management, MVC, object-oriented design, and user experience. Languages include HTML5, JavaScript, Objective-C, and PHP. Projects include mobile web apps and native iOS apps."

David J. Malan


Developing iOS 7 Apps for iPhone and iPad


iTunes:

cs193p

Lecture 1

MVC, Objective-C

Lecture 2

Objective-C

Lecture 3

matchismo demo part 2

Lecture 4

nil, id, introspection, Fonts

Lecture 5

View controller lifecycle

Lecture 6

Multiple MVC-s
Segues

Lecture 7

VIews, gestures

Lecture 8

Protocols, Blocks, Animation

Lecture 9

Animation and auto layout

Lecture 10

Multithreading, Scroll View

Lecture 11

TableView, iPad

Lecture 12

Core Data, Documents

Lecture 13

Core Data, Table View

Sprite Kit - iOS 7







The first part in a video series for building an iOS game using SpriteKit and Kii Cloud. This installment will show how to create a SpriteKit project and test out the built-in physics engine. Follow along with the video, or check out our Github page to check out the code. 


If you'd like the code for this tutorial only - check out the git tag "tutorial-1" - you can get a snapshot of the code used in this video!


========================================
Part 1 - Getting started with SpriteKit
Part 2 - Setting up the game board - http://youtu.be/KyoEEt75ENQ
Part 3 - User Interaction - http://youtu.be/pf-oykYjLZk
Part 4 - Scoring and Gamification - http://youtu.be/n8oAWFDvfxM
Part 5 - Add a leaderboard to your game - http://youtu.be/bVeJCO-9WOU

Comments