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

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

Embed Size (px)

Citation preview

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!');}