IFD:Mobile Apps with HTML5: Difference between revisions

From Medien Wiki
No edit summary
 
(75 intermediate revisions by 28 users not shown)
Line 1: Line 1:
<!--[[Image:Farbkreis Itten 1961.png|right|240px]]-->
[[Image:ProcodingMobile.png|right|400px]]
[[:Category:Werkmodul|Werkmodul]] | [[:Category:Fachmodul|Fachmodul]] <br/>
[[:Category:Werkmodul|Werkmodul]] | [[:Category:Fachmodul|Fachmodul]] <br/>
''Lecturer:'' [[Michael Markert]]<br />
''Lecturer:'' [[Michael Markert]]<br />
Line 9: Line 9:
==Beschreibung==
==Beschreibung==


Dieser Kurs wird je nach Bedarf auf Deutsch oder English abgehalten.
Wolltest du schon immer eine App für dein iPhone erstellen? Oder hast du eine tolle Idee für ein "''Creative Coding Experience''" auf deinem iPad? Hast du ein neues Android Tablett und möchtest etwas schickes damit machen? Das ist deine Chance!
 
Wir werden mit den neuesten cross-platform HTML5 Web-Technologien arbeiten (hauptsächlich mit der ECMA Scriptsprache, besser bekannt als JavaScript; inklusive CSS3), um Apps zu erstellen, die auf deinem internetfähigen mobilen Endgerät laufen.
 
Themen:
* siehe englische Auflistung
 
Dieser Kurs wird je nach Bedarf höchstwahrscheinlich auf Englisch abgehalten.
 
 
'''Hinweis:''' Wer mit mehreren Endgeräten und Web-Synchronisation arbeiten will, dem wird der gleichzeitige Besuch des Werk-/Fachmoduls von Kollege Gabriel Rausch empfohlen, das auch auf Serverseitige Programmierung eingeht. Aus zeitlichen Gründen können wir das in diesem Kurs nicht tun.


==English description==
==English description==


This course will be held either in German or English.
Did you ever wish to design an app for your iPhone? Or do you have an idea for this nice creative coding experience on your iPad? Do you have a new Android Tablet and want to make something cool with it? This is your chance!
 
We will work with the latest cross-platform HTML5 web technologies (mainly the ECMA scripting language, better known as JavaScript; including CSS3) to create applications that will run on your mobile device.


== Topics ==
Topics will be:
* tba
* Creative Coding on mobile devices
* Introduction to Programming
** Variables
** Functions / Methods
** Objects
** Events
** Best practices and Software Design Patterns (Accessors: Getters/Setters, Creating Objects, Modules…)
* ECMA Script (JavaScript)
* CSS3 (Design, Animation, Transition…)
* HTML5 (Multitouch, Geolocation, Device Orientation, Local Storage, Canvas, WebAudio, SVG...)
* Communication Protocols (JSON, AJAX with XMLHttpRequest), using the API of WebServices (Google, FlickR, Twitter, Yahoo Pipes, Facebook...)
* JavaScript Libraries (Processing.js, Paper.js, D3.js, jQuery Mobile and many more…)
* Webapps and Hybrid Apps (that's a webApp that is wrapped in a native application that you can download from an app store)
 
This course will most likely be held in English


==Requirements==
==Requirements==
* Eigener Computer (Laptop)
* Your own computer (Laptop) with a proper plain text code editor
* Besitzer eines Computers mit Mac OS X 10.7 oder neuer erhalten eine kostenlose Version von Procoding
* Your own mobile device that's capable of browsing the internet
* Besitzer eines iPhone, iPad oder iPod Touch mit iOS 5 oder neuer erhalten eine kosten Version von Procoding Mobile
* If you have a computer running Mac OS X 10.7 or newer, you'll get a free copy of [http://procoding.audiocommander.de Procoding]
* Besitzer anderer Systeme erhalten ein Coding Startset und benötigen lediglich einen Code-Editor
* If you have an iPhone, iPad or iPod Touch running iOS 7 or newer, you'll get a free copy of [http://procoding.audiocommander.de Procoding Mobile]
* Procoding is not required, if you have another system, you'll get a starter package that you can edit with the code editor of your choice.


{{Template:Anmeldung_MM}}
== Registration Procedure ==
<!-- {{Template:Anmeldung_MM}} -->


==Leistungsnachweis==
  THE COURSE IS FULL. NO MORE REGISTRATIONS ACCEPTED.
* Regelmäßige und aktive Teilnahme
* Wöchentliche Bearbeitung der gestellten Teilaufgaben mit Dokumentation im Wiki
* Eigenständige Vor- und Nachbereitung der Kursinhalte mit Selbststudium der benötigten Kenntnisse
* Präsentation der Teilziele im Rahmen des Kurses
* Präsentation im Rahmen des [[IFD:Showreel]]
* Abgabe der Ergebnisse als aufbereitete Zusammenfassung am Ende des Semesters


==Übungen und Ergebnisse==
== Assignment ==
* Regular and active participation
* Working on the weekly assignments and documenting them in this Wiki
* Presentation of your work in progress in the course
* Presentation of your work at the [[IFD:Showreel]]
* Final hand-in (in this Wiki) with short documentation at the end of the term
 
== Student Projects ==
Please copy this first entry (NameOrPseudonym) and make your own subpages:
Please copy this first entry (NameOrPseudonym) and make your own subpages:
* That's what the Wiki-Code means:
* That's what the Wiki-Code means:
Line 41: Line 70:
   
   
* [[/NameOderPseudonym]] <-- Please '''''copy''''' this link and use your own name (this is a public wiki!).  
* [[/NameOderPseudonym]] <-- Please '''''copy''''' this link and use your own name (this is a public wiki!).  
* [[/Michael]]
 
* [[/Charlotte]]
* [[/Xianzhi]]
* [[/MartinMelcher]]
* [[/NataSuu]]
* [[/Jano]]
* [[/merino]]
* [[/Alex]]
* [[/Saya]]
* [[/JonasKoehler]]
* [[/belikova]]
* [[/Livingoutloud]]
* [[/AdrianaR]]
 
Own Project
 
* [[/Tobias]]
* [[/JohannesL]]
 
Inactive/incomplete (Please do something!!!)
 
* [[/Sabina]]
* [[/YorGarcia]]
* [[/Sebastian R.]]
* [[/Apasri]]
* [[/S.Boldt]]
* [[/Amr]]
* [[/Jonas]]
* [[/Matthias]]
* [[/sth]]
* [[/Julia]]


'''Btw:'''<br/>
'''Btw:'''<br/>
[[Help:Editing|Help]] shows how to edit in this wiki; [[Help:Images|How to upload and use images]]. Please do not upload content that you did not create.
[[Help:Editing|Help]] shows how to edit in this wiki; [[Help:Images|How to upload and use images]]. Please do not upload content that you did not create.


==Zielgruppe==
== Eligible participants ==
* Bachelor Students Media Art & Design
* Bachelor Students Media Art & Design
* Master Students Media Art & Design
* Master Students Media Art & Design
Line 54: Line 113:
==Syllabus==
==Syllabus==
Preliminary schedule:
Preliminary schedule:
# 22.10. First meeting, Intro
# 22.10. First meeting, Intro & Showcase
# 29.10.  
# 29.10. HTML, CSS & jQuery Mobile
# 05.11.  
# <del>05.11. no class</del> due to an excursion!
# 12.11.  
# 12.11. CSS, JavaScript (ECMA): Variables & Functions
# 19.11.  
# 19.11. Objects (Classic & Modern Syntax, Prototype, Accessors)
# 26.11.  
# 26.11. Event Handlers (Drawing with a Touch)
# 03.12.  
# 03.12. Networking (XMLHttpRequest=xhr), Yahoo Pipes (XML to JSON), Weather-API
# 10.12.  
# 10.12. Geolocation, Reverse Geocoding & FlickR API (xhr)
# 17.12.  
# 17.12. Device Orientation, Device Motion, Compass Heading | Forms & Validation (Local Storage)
# 07.01.  
# 07.01. JS Libs Part I (Processing.js, Paper.js)
# 14.01.  
# 14.01. JS Libs Part II (d3) & SVG
# 21.01.  
# 21.01. JS Libs Part III (Bootstrap, PhoneGap, Titanium) & Offline Cache Manifest <br/>&amp; 1 topic of your choice (fixing errors & general FAQ, git intro, php crash course)
# 28.01.  
# 28.01. Hybrid Apps Part I iOS SDK (Xcode & Objective-C), Android SDK (Java)
# 04.02.  
# 04.02. Hybrid Apps Part II (Design, Distribution, AppStores, …), Design Showcase (bring your most/least favorite apps), Final Remarks
# 31.03.  
# 31.03. Final Hand In of Course Assignment
 
== Links ==
 
* [http://procoding.audiocommander.de Procoding] - JavaScript IDE for iOS & Mac OS X
* [http://www.codecademy.com/de CodeCademy.com] - Learn Coding
* [http://processingjs.org processing.js] - JS Canvas Library
* [http://paperjs.org paper.js] - The Swiss Army Knife of Vector Graphics (Canvas)
* [http://d3js.org d3.js] - Data-driven JS Library (incl SVG support)


== Literature ==
== Literature ==
<!--
Beginners:
* Daniel Shiffman: Pixels, Patterns, and Processing: A Beginner's Guide to Programming Images, Animation, and Interaction, ISBN 978-0123736024 (Sehr gut für Einsteiger zum Erlernen von Processing)
* Marijn Haverbeke: Die Kunst der JavaScript Programmierung (DE) / Eloquent JavaScript (EN), ISBN 9873898647878, http://marijnhaverbeke.nl
* Daniel Shiffman: The Nature of Code: Simulating Natural Systems with Processing, ISBN 978-0985930806
* Florian Franke: Apps mit HTML5 und CSS3: für iPad, iPhone und Android (DE), ISBN 978-3836218481
-->
 
Advanced:
* Stoyan Stefanov: O'Reilly JavaScript Patterns, ISBN 978-0596806750
 
D3:
* Scott Murray: O'Reilly [http://chimera.labs.oreilly.com/books/1230000000345 Interactive Data Visualization with D3], ISBN 978-1-4493-3973-9
 
 
Processing and Processing.js:
* Daniel Shiffman: Pixels, Patterns, and Processing: A Beginner's Guide to Programming Images, Animation, and Interaction, ISBN 978-0123736024
* Daniel Shiffman: The Nature of Code: Simulating Natural Systems with Processing, ISBN 978-0985930806, http://natureofcode.com


[[Category:Courses]]
[[Category:Courses]]

Latest revision as of 21:16, 30 March 2014

ProcodingMobile.png

Werkmodul | Fachmodul
Lecturer: Michael Markert
Credits: 6 ECTS, 3 SWS
Date: Tuesdays, 13:30 until 16:00 h
Venue: Marienstraße 7b, Room 105
First meeting: Tuesday, 22. October 2013

Beschreibung

Wolltest du schon immer eine App für dein iPhone erstellen? Oder hast du eine tolle Idee für ein "Creative Coding Experience" auf deinem iPad? Hast du ein neues Android Tablett und möchtest etwas schickes damit machen? Das ist deine Chance!

Wir werden mit den neuesten cross-platform HTML5 Web-Technologien arbeiten (hauptsächlich mit der ECMA Scriptsprache, besser bekannt als JavaScript; inklusive CSS3), um Apps zu erstellen, die auf deinem internetfähigen mobilen Endgerät laufen.

Themen:

  • siehe englische Auflistung

Dieser Kurs wird je nach Bedarf höchstwahrscheinlich auf Englisch abgehalten.


Hinweis: Wer mit mehreren Endgeräten und Web-Synchronisation arbeiten will, dem wird der gleichzeitige Besuch des Werk-/Fachmoduls von Kollege Gabriel Rausch empfohlen, das auch auf Serverseitige Programmierung eingeht. Aus zeitlichen Gründen können wir das in diesem Kurs nicht tun.

English description

Did you ever wish to design an app for your iPhone? Or do you have an idea for this nice creative coding experience on your iPad? Do you have a new Android Tablet and want to make something cool with it? This is your chance!

We will work with the latest cross-platform HTML5 web technologies (mainly the ECMA scripting language, better known as JavaScript; including CSS3) to create applications that will run on your mobile device.

Topics will be:

  • Creative Coding on mobile devices
  • Introduction to Programming
    • Variables
    • Functions / Methods
    • Objects
    • Events
    • Best practices and Software Design Patterns (Accessors: Getters/Setters, Creating Objects, Modules…)
  • ECMA Script (JavaScript)
  • CSS3 (Design, Animation, Transition…)
  • HTML5 (Multitouch, Geolocation, Device Orientation, Local Storage, Canvas, WebAudio, SVG...)
  • Communication Protocols (JSON, AJAX with XMLHttpRequest), using the API of WebServices (Google, FlickR, Twitter, Yahoo Pipes, Facebook...)
  • JavaScript Libraries (Processing.js, Paper.js, D3.js, jQuery Mobile and many more…)
  • Webapps and Hybrid Apps (that's a webApp that is wrapped in a native application that you can download from an app store)

This course will most likely be held in English

Requirements

  • Your own computer (Laptop) with a proper plain text code editor
  • Your own mobile device that's capable of browsing the internet
  • If you have a computer running Mac OS X 10.7 or newer, you'll get a free copy of Procoding
  • If you have an iPhone, iPad or iPod Touch running iOS 7 or newer, you'll get a free copy of Procoding Mobile
  • Procoding is not required, if you have another system, you'll get a starter package that you can edit with the code editor of your choice.

Registration Procedure

 THE COURSE IS FULL. NO MORE REGISTRATIONS ACCEPTED.

Assignment

  • Regular and active participation
  • Working on the weekly assignments and documenting them in this Wiki
  • Presentation of your work in progress in the course
  • Presentation of your work at the IFD:Showreel
  • Final hand-in (in this Wiki) with short documentation at the end of the term

Student Projects

Please copy this first entry (NameOrPseudonym) and make your own subpages:

  • That's what the Wiki-Code means:
    • The first two brackets create a infernal link in this wiki (this creates a new page).
    • The slash "/" makes the page a subpage of this page
  • /NameOderPseudonym <-- Please copy this link and use your own name (this is a public wiki!).

Own Project

Inactive/incomplete (Please do something!!!)

Btw:
Help shows how to edit in this wiki; How to upload and use images. Please do not upload content that you did not create.

Eligible participants

  • Bachelor Students Media Art & Design
  • Master Students Media Art & Design
  • Master Students MediaArchitecture
  • All others: if you're interested, get in contact with Michael!

Syllabus

Preliminary schedule:

  1. 22.10. First meeting, Intro & Showcase
  2. 29.10. HTML, CSS & jQuery Mobile
  3. 05.11. no class due to an excursion!
  4. 12.11. CSS, JavaScript (ECMA): Variables & Functions
  5. 19.11. Objects (Classic & Modern Syntax, Prototype, Accessors)
  6. 26.11. Event Handlers (Drawing with a Touch)
  7. 03.12. Networking (XMLHttpRequest=xhr), Yahoo Pipes (XML to JSON), Weather-API
  8. 10.12. Geolocation, Reverse Geocoding & FlickR API (xhr)
  9. 17.12. Device Orientation, Device Motion, Compass Heading | Forms & Validation (Local Storage)
  10. 07.01. JS Libs Part I (Processing.js, Paper.js)
  11. 14.01. JS Libs Part II (d3) & SVG
  12. 21.01. JS Libs Part III (Bootstrap, PhoneGap, Titanium) & Offline Cache Manifest
    & 1 topic of your choice (fixing errors & general FAQ, git intro, php crash course)
  13. 28.01. Hybrid Apps Part I iOS SDK (Xcode & Objective-C), Android SDK (Java)
  14. 04.02. Hybrid Apps Part II (Design, Distribution, AppStores, …), Design Showcase (bring your most/least favorite apps), Final Remarks
  15. 31.03. Final Hand In of Course Assignment

Links

Literature

Beginners:

  • Marijn Haverbeke: Die Kunst der JavaScript Programmierung (DE) / Eloquent JavaScript (EN), ISBN 9873898647878, http://marijnhaverbeke.nl
  • Florian Franke: Apps mit HTML5 und CSS3: für iPad, iPhone und Android (DE), ISBN 978-3836218481

Advanced:

D3:


Processing and Processing.js: