Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

29
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015

Transcript of Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Page 1: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Web und Mobile Apps Programmieren

Marco Jakob

Kurzvortrag OSS an Schulen28.03.2015

Page 2: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

ZIEL

Programmier-

unterricht

aktuellattraktiv

wenig Hürden

Page 3: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.
Page 4: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

ABER…hat sich bewährt

Page 5: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

"Läuft das auch auf meinem Handy?"

"Kann ich damit eine Webseite programmieren?"

Billdquelle: Webalys (webalys.com)

Page 6: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Billdquellen: Webalys (webalys.com) und IFA

?

Page 7: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

AKTUELLE MÖGLICHKEITEN FÜR WEB UND MOBILE

Page 8: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Problematik mobiler Anwendungen

iOS-Apps• Sprache: Objective-C/Swift• Laufen nur auf iPhones und iPads

Android-Apps• Sprache: Java (eigene

Philosophie)• Laufen nur auf Android-Geräten

Billdquellen: Webalys (webalys.com)

Page 9: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Eine Möglichkeit – Alles im Webbrowser

Billdquellen: Webalys (webalys.com), Visual Pharm (visualpharm.com) und IFA

Page 10: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Problematik webbasierter Anwendungen

PHP, ASP.net, …

Python, Java, C++, Visual Basic, …

JavaScript

DartBilldquellen: Webalys (webalys.com) und IFA

Page 11: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

(JavaScript)

Billdquellen: Webalys (webalys.com) und IFA

Page 12: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Objektorientierte SpracheStark an Java, C++, Smalltalk, … angelehntEinfacher zu lernenDart Ökosystem• Dart Editor• Viele nützliche Bibliotheken: Math,

HTML, Kryptografie, Datenbanken, …• Hilfsbereite Open Source Community

Page 13: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

HTML & CSS Dart

Dynamische Webapplikationen

Page 14: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Demo

kanban.bitballoon.com

Page 16: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Unterlagen

code.makery.chHTML & CSS Tutorial

Hello Dart: Einführung in die Programmierung

Dart Kanban Tutorial

Page 17: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Fazit?

Programmier-

unterricht

aktuellattraktiv

wenig Hürden

code.makery.ch

Page 18: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.
Page 19: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

attraktiv aktuell

Objektorientierte Sprache

Client-Server (in einer Sprache)

Professionelle Entwicklungsumgebung

Page 20: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Einfacher Editor

Grosse Ähnlichkeiten mitJava, C#, etc.

wenig Hürden

Viele nützliche Bibliotheken

Elegante Sprache

Page 21: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Dart Editor

Code completion

Debugger

Refactoring

Warnings

Page 22: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.
Page 23: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

DART CODE-BEISPIELE

Page 24: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Hello World

main() { print("Hello, World!");}

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); }}

Dart

Java

Page 25: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Funktionen und Variablen

// Funktion definieren.printNumber(int number) { // Nummer auf Konsole ausgeben.}

main() { // Variable deklarieren und initialisieren. var number = 42; // Funktion aufrufen. printNumber(number);}

Page 26: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Alles sind Objekte

// String in einen int umwandeln.int i = int.parse("5");

// int in einen String umwandelnString s = 22.toString();

Page 27: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Klassenimport 'dart:math';

class Point { num x; num y;

// Konstruktor (kurz) Point(this.x, this.y);}

main() { var p = new Point(2, 3);}

// Konstruktor (lang)Point(num x, num y) { this.x = x; this.y = y;}

Page 28: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

String Interpolation

print('Hallo $name');

print('Distanz ${p.distanceTo(q)}');

Page 29: Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen 28.03.2015.

Interaktion mit dem Browser// HTML Knopf erstellen.var button = new ButtonElement() ..text = 'Bestellen' ..classes.add('wichtig');

// Knopf in HTML einfügen.querySelector('#bestellung').children.add(button);

// Beim Klicken die Funktion handleOnClick aufrufen.button.onClick.listen(handleOnClick);

void handleOnClick(MouseEvent event) { window.alert('Danke!');}