Den Anfang der API-Reihe macht der YouTube-Player. Der Artikel wird ein wenig länger, weshalb ich ihn in zwei Teile aufgespalten habe. In Part 1 kommt der weniger geekige codelastige Teil mit den Parametern. In zwei Wochen kommt in Part 2 dann der eigentliche API-Inhalt mit selbstgebastelten Bedienelementen für ein Video.
Die Code-Beispiele mit eingebundenen Videos sind eine valide und gekürzte Form dessen, was YouTube zum Rauskopieren anbietet. embed und param name="movie" entfallen, dafür steht der Verweis zum Video in object data="…". Sieht man gleich.
Parameter für das Video
fs (default 0)
Wenn auf 1 gesetzt, lassen sich Videos in den Fullscreen-Modus umschalten. Kopiert man den YouTube-Code, steht es bereits mit drin.
hd (default 0)
Wenn auf 1 gesetzt, wird das Video in HD abgespielt, insofern vorhanden. Es wird nicht automatisch die höchste Auflösung genommen! Ein Video mit 360p und 480p wählt dann nicht die höheren 480p.
iv_load_policy (default 1)
Setzt man den Wert auf 3, werden video annotations nicht angezeigt.
Da müsst ihr API lesen. Schaut in die API. Steht alles in der API.
Als Erstsemester im Informatikbereich hört man das sehr häufig von seinen Professoren. Das Ding ist, sie haben auch noch recht. So eine ausführlich dokumentierte API macht vieles einfacher, reinigt Flüsse und lässt Blumen aus dem Monitor sprießen. Ja okay, da habe ich jetzt vielleicht etwas übertrieben, aber ist schon schnieke. Deswegen gibt es ab sofort eine kleine Artikelserie zu verschiedenen APIs, hauptsächlich solche, die auch für Nicht-Programmierer von Interesse sein können. Aber das seht ihr dann.
Nun kommt die Erklärung, was zum Henker eine „API“ ist. Fangen wir damit an, dass die Abkürzung für application programming interface steht. Dabei handelt es sich um eine Schnittstelle um mit Software zu interagieren – dazu zählt zum Beispiel auch, eine Programmiersprache wie Java nutzen zu können.
Ein paar Beispiele zum flüchtigen Anschauen (denn Durchlesen wäre wahnsinnig):
Die API-Dokumentation listet alle Methoden auf, die von der Software zur Verfügung gestellt werden, und liefert eine Beschreibung zur Wirkungsweise und Nutzung.
Meiner Treu!, welch ein herausragendes Angebot auf braunem Farbverlauf! Anstatt einem vertraglich zugesicherten, popeligen Stundenlohn, erhält man einen Anteil am Unternehmen … oder so … und seinen exponentiell explodierenden Gewinnen, die es ja ganz sicher nach dem Projekt einfahren wird!
Aber der wahre Programmierer arbeitet ja sowieso nur für Ruhm und Ehre und dürfte sich daher glücklich schätzen, an dem nächsten GROSSEN PROJEKT IN DER GESCHICHTE DES WEB 2.0 mitzuarbeiten. Hach, ich werde ganz hysterisch, verzeiht das Geschrei. Nur das Beste vom Besten der bisherigen Social Networks wird da genommen und zur Perfektion vermischt.
Snippely ist ein kleines Tool um Notizen zu verwalten. Es lassen sich Gruppen anlegen, in denen man Snippets anlegt, in denen dann wieder mehrere Notizen abgelegt werden. Für Web Developer ganz nett ist die Möglichkeit Syntaxhighlighting für Notizen zu verwenden. Die Auswahl ist dabei nur leider sehr gering. Unterstützt werden die Sprachen CSS, JavaScript, PHP und Ruby. Das war es auch schon. So etwas wie Optionen sucht man vergebens. Programm auf, Notiz rein oder raus, Programm zu.
Der Kurs Computergrafik (CG) ging nur das halbe Semester über, dafür mit zwei Terminen pro Woche. Endabgabe fürs Praktikum war es, mit Python und OpenGL eine Achterbahn zu bauen. Genau sahen die abzuhakenden Punkte wie folgt aus:
Die Bahn der Achterbahn soll als geschlossene B-Spline-Kurve beschrieben werden. (Dazu kommt gleich noch etwas.)
Der Coaster der Achterbahn soll texturiert sein.
Die Szene soll von einer Skybox umgeben sein.
Mit den Tasten + und - soll die Geschwindigkeit verändert werden können.
Mit der Taste K soll zwischen einer Kameraposition auf dem Coaster und einer Gesamtansicht gewechselt werden können.
Die Orientierung der Kamera soll per Maus verändert werden können.
Sagen wir es mal so: Wir (meine 3er-Gruppe) haben fast alles irgendwie hinbekommen. Und ja, das Video zu Beginn zeigt eben jenes unseres Endprodukt. (Unter beabsichtigter Nicht-Darstellung einiger Bugs. ;) ). Aufgenommen hat es Kai.