API - Einführung Teil 1

19

Click here to load reader

description

Kursunterlagen für SAE Institut Zürich

Transcript of API - Einführung Teil 1

Page 1: API - Einführung Teil 1

APIApplication Programming Interface

Einführung

Page 2: API - Einführung Teil 1

API – Was ist das?

● API – Application Programming Interface● „Von aussen“ benutzbare Funktionen● Externe Dienste● Integrierbar● Bausteine zu einer Gesamtapplikation● Mash-up: Applikation, die mehrere externe APIs

vereinigt

Page 3: API - Einführung Teil 1

API – Beispiele

● Google Maps API – Kartenvisualisierungen● Twitter API – Tweets, Status, ...● YouTube API – Suche, Uploads, Playlists, ...● Social Bookmarking (Digg, Delicious, Reddit,

StunbleUpon,...) - Bookmarks● Facebook, StudiVZ, Orkut – Publizieren,

Friends, Fotos, ...● Flickr API – Slideshows, Upload, ...

Page 4: API - Einführung Teil 1

API – Beispiele für Mash-Ups

● http://www.maplarge.com/Japan-Earthquake – Kombination von Google Maps und Erdbebendaten

● http://www.123people.com/ - Personensuche in vielen Verzeichnissen

● http://www.walkscore.com/● Programmableweb.com listet 5771 Mashups

(Stand April 2011)!

Page 5: API - Einführung Teil 1

API – Beispiele für Integration

● http://local.ch● http://20min.ch● http://virus.ch● http://tagesanzeiger.ch● http://huffingtonpost.com

Page 6: API - Einführung Teil 1

API - Integration

● Wie kann ich ein API benutzen?● Widget● Externer Link● Einbetten auf Seite (IFRAME, Javascript / AJAX)● Serverseitig● Desktop- oder Mobile-App● Kombination der obigen Methoden

Page 7: API - Einführung Teil 1

API - Integration

● Widget● Viele verschiedene Widgets (z.B. YouTube)● Einfachste Handhabung● Aber auch limitiert● Und unflexibel im Design

Page 8: API - Einführung Teil 1

API - Integration

● Direkter, Externer Link● Praktisch um die API kennenzulernen● Falls Link Bild zurückliefert (z.B. MIME-Type

image/jpeg), einfache Platzierung in HTML● Sonst einbetten in <IFRAME>

(z.B. Facebook „I like“)● Einfache bis komplexe Fälle

Page 9: API - Einführung Teil 1

API - Integration

● Einbetten auf Seite via AJAX● Häufig angewandt● Seite bezieht ihre Inhalte von verschiedenen

Quellen● Aufruf von API liefert strukturierte Daten, die noch

visuell aufbereitet werden müssen● Problem: SOP (Same Origin Policy) – Wird

umgangen durch IFRAMEs

Page 10: API - Einführung Teil 1

API - Integration

● Serverseitig● Bei Weitem die Häufigste und flexibelste Form der

Einbettung von externen APIs● API-Wrapper für viele Sprachen – Oft für PHP,

Ruby, Java, Python● Mash-ups praktisch alle mit serverseitiger

Integration (Generierung von Mehrwert für eigene Website)

Page 11: API - Einführung Teil 1

API - Integration

● Desktop- / Mobile-Apps● Desktop- bzw. Mobile-Apps sind oft Front-Ends zu

rückwärtigen APIs (z.B. SBB, Wetter- oder Börsenwidgets, http://widgets.yahoo.com/download/)

● Mobile Clients liefern zusätzliche, für Applikationen interessante Daten (Standort, evt. Geschwindigkeit, Kompass, Identifikation)

● Google hat ein riesiges Angebot an APIs (Android ist Google)

● In Zukunft wohl immer verbreiteter

Page 12: API - Einführung Teil 1

API – Vorteile

● Black Box: Implemetation und Infrastruktur versteckt

● Ressourcen extern bereitgestellt● Web 2.0: Vernetzung und Einbindung der

Users mit anderen Diensten● Zusammenstellen mehrerer APIs zu einer

Applikation: Mash-Up

Page 13: API - Einführung Teil 1

API - Nachteile

● Keine Kontrolle über Service (Daten etc.)● Kann jederzeit ausfallen (Meine Applikation

muss dies berücksichtigen)● API-Interface kann sich häufig radikal

verändern● Service-Provider kann Service jederzeit

beenden● Je nach Service sehr komplex zu handhaben

Page 14: API - Einführung Teil 1

API - Aspekte

● Vorläufig sind die meisten Dienste gratis● Häufig limitiert (Anfragen/Tag, Mbytes/Tag, ..)● Zahlungspflichtige APIs:

● Amazon Web Services (EC2, S3, SQS, etc.)● Google Custom Search API● Google Maps API Premier (Business-Qualität)● In Zukunft wohl mehr und mehr...

Page 15: API - Einführung Teil 1

API – Weiterführende Links

● Wikipedia: Programmierschnittstelle● Wikipedia: Webservice● Web-API - Ein Erklärungsversuch

Page 16: API - Einführung Teil 1

APIApplication Programming Interface

Labs

Page 17: API - Einführung Teil 1

API – Lab Static Maps

● Firefox-Extension „Firebug“ installieren● http://code.google.com/apis/maps/documentation/staticmaps/

aufrufen● Text-Editor öffnen● Static Maps-Anfragen konstruieren (z.B. Zürich,

Buckhauserstrasse 24, blauen Marker platzieren)

Page 18: API - Einführung Teil 1

API – Lab Widget

● Neues HTML-Dokument kreieren● YouTube Video einbinden● Experimentieren mit Widgets:

● http://www.facebook.com/badges/● http://twitter.com/about/resources● http://www.skype.com/intl/en-us/tell-a-friend/get-a-

skype-button/

Page 19: API - Einführung Teil 1

APIApplication Programming Interface

P A U S EP A U S E