OpenLayers 3
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 71 | |
Author | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/14836 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Place | Berlin |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
5
6
7
9
10
11
13
14
15
21
23
25
30
31
32
34
38
39
43
44
45
48
49
50
51
53
54
58
63
66
70
71
00:00
ERNA <Programm>Highlight <Programm>ImplementationSoftwareCodeHighlight <Programm>Musical ensembleInformationSoftwareVersion <Informatik>Route of administrationFINALE <Programm>Open sourceDirection (geometry)Block (periodic table)CodeEmailComputer animationLecture/Conference
03:15
CodeLecture/Conference
03:43
JavaScriptRoute of administrationBlock (periodic table)Service (economics)Mobile appVersion <Informatik>XML
04:36
InternetWEBWeb browserTOUR <Programm>Web browserVersion <Informatik>ALT <Programm>InternetWEBComputer animation
05:37
Electronic mailing listSoftware repositoryBeta functionGoogleDecision theoryElectronic mailing listLecture/ConferenceComputer animation
06:48
Electronic mailing listBeta functionBlogMono-FrameworkLAD <Programmiersprache>Decision theoryForceProgram flowchart
07:14
WebsiteTestdatenAPIWeb pageComputer animation
07:36
Lecture/Conference
07:57
Google MapsGmailGoogleCompilerCross-site scriptingGraphics processing unitRoute of administrationCodeServer (computing)Client (computing)Google MapsWeb applicationGmailComputer animation
08:45
DokumentvorlageHTMLLecture/Conference
09:11
CompilerCompilerCodeXMLUML
09:38
Variable (mathematics)Strategy gameCompilerCodeCompilerLecture/Conference
10:02
Open sourceCompilerTwitterComputer animation
10:31
Web browserComputing platformTerminal equipmentComputing platformWeb browserTerminal equipmentStandard deviationRoute of administrationLecture/ConferenceComputer animation
11:26
Terminal equipmentLecture/Conference
11:47
HTMLProgramming languageMoment (mathematics)SOKRATES <Bibliotheksinformationssystem>Computer animation
12:08
Sample (statistics)View (database)Zoom lensSun <Marke>VelocityNumerisches GitterNamespaceCodeMobile appMoment (mathematics)Route of administrationLevel (video gaming)Computer animation
13:22
CodeHighlight <Programm>CodeMobile appVolumenvisualisierung
13:41
Interior (topology)Control flowOpen sourceLevel (video gaming)Route of administrationFile viewerSocial classInstanz <Informatik>CodeTOUR <Programm>Computer animation
14:56
Coordinate systemSun <Marke>Computer animation
15:15
Open sourceLevel (video gaming)MIKE <Programm>View (database)Zoom lensGraphical user interfaceDrag (physics)Drop (liquid)Total S.A.Coordinate systemHighlight <Programm>HTML 5.0Computer animation
15:44
APICodeHighlight <Programm>FractalPhysical quantityClient (computing)UMLComputer animation
16:24
FractalUser interfaceMoving averageComputerMathematical optimizationMoment (mathematics)Computer animation
16:57
FOLInsertion lossGeometryIndexImplementationNetwork topologyBruchteilVisualization (computer graphics)Service (economics)Entire functionElectronic visual displayHighlight <Programm>Point (geometry)ClippingComputer animation
18:04
APISun <Marke>Sound effectSatelliteHighlight <Programm>Engineering drawingComputer animation
18:38
Moving averageHTMLAPIBeta functionCodeCanvas <Programm>Social classAktion <Informatik>Version <Informatik>HöheClojureCodeLecture/ConferenceComputer animation
19:36
CodeRoute of administrationGeometryWeb pagejQueryMobile appCodePhysical quantityLecture/ConferenceComputer animation
20:09
WalkthroughAPILecture/ConferenceComputer animation
20:45
Internet ExplorerInterface (computing)DatabaseRoute of administrationVersion <Informatik>Euclidean vectorDatabaseZugriffLogarithmMobile appSynchronizationComputer animationLecture/Conference
23:56
APIWalkthroughRoute of administrationAdaptive behaviorComputer animation
24:32
Atomic nucleusZusammenhang <Mathematik>
25:10
Computer animation
Transcript: German(auto-generated)
00:07
Ja, wie gesagt, Openair 3 ist der Titel, offizieller Titel Einführung, Verwendungsbeispiele und technische Highlights. Hätte man auch schreiben können, OL3, was, wie und warum. Wir hoffen, dass Sie alle in diesem Vortrag jetzt ein bisschen was zu diesen Fragen beantworten
00:25
können. Das ist die Gliederung des Vortrags. Wir werden ganz kurz ein bisschen Meta machen müssen, wo wir uns vorstellen, was in diesem Vortrag passieren wird und die Firmen, die uns hier hand senden. Dann werde ich ganz kurz was erwähnen zu Openlayers und Herr Hotschever. Anschließend schauen wir uns Openair 3 an und da haben wir insgesamt
00:43
drei Blöcke quasi. Einmal schauen wir uns an, was alt und was neu ist. Wir werden ziemlich viele Beispiele zeigen hoffentlich und einige technische Highlights auch speziell nochmal untersuchen. Schließlich ziehen wir ein kleines Fazit. Okay, ganz kurz zu uns. Wir sind beides Kernentwickler von Openlayers und Openlayers 3. Alle weiteren
01:06
Informationen sehen Sie da im Grunde. Sie werden uns hier wahrscheinlich schon mal gesehen haben. Da sind die entsprechenden Kontaktdetails, falls Sie uns mal erreichen wollen. Das ist immer wieder gerne gesehen, dass wir auch mal eine E-Mail schreiben. Ganz kurz über Terrestris, das ist die Firma, die mich beschäftigt und die
01:21
mich hierhin gesendet hat. Wir machen ganz hervorragende Open-Source-GiS-Anwendungen mit den Tools, die Sie in den Tagen kennen und lieben lernen werden. Wir haben den Stand hier. Kommen Sie einfach vorbei und fragen uns dann da spezielle Sachen nochmal. Boundless war früher OpenGio. Kennen Sie wahrscheinlich nur ein Stichwort oder
01:45
zwei. Boundless reduziert die Kosten freier Software durch Support, durch Packaging und OpenGio Suite. Boundless übernimmt auch eine wichtige Rolle in den Open-Source-Communities der Projekte. Die Boundless unterstützt in Form von Governance, also die Entwickler
02:01
sind in den Steering-Committees vertreten und geben auch die Richtung der Projekte vor. So auch zum Beispiel hier bei Openlayers 3. Okay, also die letzte Metafolie möchte ich Sie mal nennen. Wir werden hier einige
02:23
Live-Demos haben. Sie werden auch ein bisschen Code sehen hier und da. Wir erwarten nicht, dass Sie das alles direkt verinnerlichen, aber Sie sollen schon ein kleines bisschen ein Gefühl dafür bekommen, wie man mit Openlayers 3 bald die schönsten Web-GiS-Anwendungen machen kann oder auch jetzt schon. Ich möchte nur kurz darauf hinweisen, dass der derzeitige Versionsstand von dem, was Sie hier sehen und auch von den Code-Beispielen,
02:43
die Sie gleich sehen werden, aus der Version 3.0.0.beta entstammen. Das heißt, es gibt noch kein finales Release von Openlayers 3 und das, was Sie jetzt gleich hier sehen werden, dann Code kann sich durchaus noch mal hier und da ändern. Das heißt, lernen Sie das bloß nicht auswendig und sind dann überrascht, wenn die 3.0.0 mal da
03:01
ist, dass es nicht so funktioniert. Vielmehr sollten Sie jetzt Wert darauf legen eigentlich, dass Sie vielleicht so einige von den Konzepten von Openlayers vielleicht verstehen und auch einige interessante Demos sich mal mitnehmen und aha, das kann man vielleicht damit machen und wie und also nicht auf den Code festnageln. Und wie es halt bei Open-Source-Projekten so üblich ist, die frühe Versionsnummer
03:25
sollte man sich nicht hinwegdäuschen lassen darüber, dass das doch Code ist, der seit zwei Jahren in Entwicklung ist. Also Openlayers 3 ist tatsächlich seit zwei Jahren in Entwicklung und das, was es erst schon gibt in der Beta-2-Version, ist vom Code her auch stabil. Wir haben hohe Test-Coverage, nur eben das API kann sich da oder dort noch ändern.
03:44
Ok, damit sind wir schon bei dem ersten größeren Block. Ich weiß nicht, ob das wieder ausgegangen ist. Altes und Neues. Und du hast es mir schon vorweggenommen. Also Openlayers 2 ist schon relativ alt. Sie sehen, ich habe hier noch so ein altes T-Shirt an. Das ist hier und da schon ein bisschen angekratzt und genauso geht es
04:03
der Bibliothek auch. Die Bibliothek ist hervorragend noch, Openlayers 2. Sie können damit wunderbare Applikationen noch machen, die jetzt funktionieren und auch in zehn Jahren noch funktionieren werden. Allerdings ist es so, dass diese Bibliothek natürlich auch ein bisschen in die Jahre gekommen ist, was die API zum Beispiel angeht. Das heißt,
04:21
das macht Ihnen und uns an einigen Stellen einfach nicht mehr richtig Spaß, so mit dieser Bibliothek umzugehen. Wir wissen alle, was man alles für hervorragende Sachen mit Openlayers 2x erzeugen kann, aber hier und da wissen wir einfach, dass es auch besser geht. Und es hat sich halt auch einige Sachen getan bei Openlayers. Es gab insgesamt in der 2. Version gab es 12-Punkt-Releases. Während all dieser
04:44
Releases ist große Sorgfalt draufgelegt worden, dass da wenig kaputt geht. Das heißt, Sie konnten in der Regel recht gut upgraden von Version X auf X plus 1. Also 2.X und 2.X plus 1. Es gibt einen Haufen Literatur dazu. Das in der Mitte habe ich geschrieben. Ganz gutes Buch. Es hat unglaublich viele Features. Sie
05:07
konnten damit wirklich eigentlich alles machen, was man so im Web sich an Kartografie vorstellen kann. Aber wie gesagt, es ist eine 7 Jahre alte Architektur. Währenddessen haben sich die Web-Technologien, die uns allen zur Verfügung stehen, durchaus weiterentwickelt. Und selbst der
05:21
Internet Explorer, der ja auch schon in einigen Gesprächen hier ankam, hat in der neuesten Version durchaus einen konkurrenzfähigen Browser vorgelegt. Das heißt, während der IE halt voranschreitet und mittlerweile auch wirklich ganz vorne mit dabei ist, finde ich, mit dem IE 11, müssen wir immer noch mit der Openlayers 2 arbeiten. Und das hat natürlich viele Leute ein wenig gestört, unter anderem auch uns als
05:43
Entwickler. Und daher war eigentlich klar, wir und vielleicht auch Sie, wir wollen ein neues Openlayers. Ja, also seit 1,5 bis 2 Jahren ist es in Entwicklung. Müssen wir jetzt genau nachschauen in der GitHub-Historie, aber dazwischen liegt die Wahrheit. Start war eine Crowdfunding-Kampagne und ein
06:09
Auftrag von Swissdoppo, der mit Geld dann von anderen Firmen aufgedoppelt wurde. Dadurch war mal ein gutes Anfangsbudget vorhanden. Wir haben schon vier Alpha-Releases herausgegeben und sind jetzt bei der
06:20
zweiten Beta-Release. Es gibt eine neue Webseite, um eben klar herauszustreichen, auch dass Openlayers 2 und Openlayers 3 unterschiedliche APIs haben. Das ist ol3js.org. Es gibt eine Google Group, die wir als Mailing-Liste verwenden, wo Themen wie das API, die
06:42
Architektur diskutiert werden. Also wir haben einen recht offenen Prozess. Im Archiv dieser Mailing-Liste sieht man eben, wie viele Entscheidungen für die Architektur auch getroffen wurden. Und das Projekt ist auch auf GitHub gehostet, kann man vielleicht einmal kurz zeigen. Auch Openlayers 2 ist ja schon auf GitHub und wir sind hier eben auf,
07:05
die Organisation heißt nach wie vor Openlayers. Es ist auch das gleiche Steering Committee in Kraft und das neue Projekt heißt ganz einfach ol3. Was ist neu? Ich habe schon gesagt, wir haben eine
07:22
neue Webseite auch und ein neues API. Es ist wirklich alles neu. Das Einzige, was wirklich gleich geblieben ist, großteils ist das Entwicklerteam. Das heißt, das Know-how und die Erfahrungen, die mit Openlayers 2 gesammelt wurden, fließen auch in Openlayers 3 ein. Es ist wirklich ein komplettes Rewrite from scratch, wie wir so schön sagen. Die Testdaten, also zum Beispiel die XML-Schnipsel
07:45
für den Test von OGC-Formaten haben wir übernommen und damit haben wir gleich am Anfang auch schon eine hohe Testcoverage und gute Code-Qualität. Wir verwenden intern die Google Closure Bibliothek,
08:03
die auch so gewichtigen Web-Applikationen wie Gmail oder Google Maps zugrunde liegt. Wir verwenden zum Verkleinern des Codes, der zwischen Server und Client hin und her geschickt wird, den Closure Compiler. Dazu später noch mehr. Für die Dokumentation verwenden wir momentan jsdoc3. Da gibt es
08:25
Verbesserungspotenzial, aber bis zur Release sollten wir eine schöne API-Dokumentation haben. Ein Stichwort auch, was unterstützt wird von Openlayers 3 oder was unter der Haube verwendet wird, ist unter anderem WebGL, also das direkte Ansprechen der GPU, des Graphik-Prozessors über den GL-Standard.
08:46
Und auch vom Design von Anfang an dabei war die Unterstützung für mobile Geräte. Wir haben nicht mehr so wie in Openlayer 2 Controls, wo Hardcode HTML erzeugt wird mit den Styles,
09:01
sondern das ist alles über externe Style Sheets konfigurierbar, wie die Library aussehen soll. Also diese ganzen Kontrollelemente wie der Plus- und Minus-Button. Ganz kurz vielleicht noch zum Closure Compiler. Das ist vielleicht nicht so interessant. Das
09:20
ist ein Kompiler, so wie wir ihn programmieren. Und das unten ist das gleiche Codeschnipsel kompiliert vom Closure Compiler. Für uns unläsbar, aber für die Maschine wesentlich effizienter interpretierbar. Und Closure Compiler geht auch über das, was andere Minification-Tools, wie man die nennt, tun hinaus. Es verändert nämlich wirklich zum Teil den Code. Also wenn eine kurze Funktion aufgerufen wird,
09:42
wird der Code dieser Funktion oft hineingenommen. Das heißt Inlining. Und es gibt eben auch andere Strategien noch Code, der überhaupt nicht aufgerufen wird, wird rausgeschnipselt. Und das, was alle diese Minifizierer tun, ist, dass Variablen umbenannt werden, damit sie möglichst kurz sind. Aber das sind so die drei Eckpunkte dieses Closure Compilers. Und dadurch wird der Code sehr effizient und
10:02
sehr klein. Tom McRide, wirklich einer der Top JavaScript-Entwickler in der Open Source Geospatial-Szene, hat einmal kommentiert, zu dem, wie wir auf Twitter angekündigt haben, dass wir Closure Compiler und Closure Library verwenden.
10:23
Closure is a big buy-in, but probably worth it. Und ja, das hat sich bewahrheitet. Das war am Anfang viel Arbeit, das zu verstehen und effizient einzusetzen. Aber inzwischen ernten wir die Früchte davon. Marc, was bleibt gleich? Sehr viel, Andreas.
10:43
Also Openair S2 ist bekannt und beliebt dafür geworden, dass es halt sehr vielseitig verwendbar ist. Und das wird bei Openair S3 genauso sein. Openair S2 war zu seiner Zeit modern implementiert und genauso ist das auch bei Openair S3. Es ist performant und auch für Sie später erweiter und anpassbar.
11:01
Openair S3 wird auch sehr einfach zu verstehen, sein, genau wie das von Openlayers. Also das ist ein durchaus erfolgreiches JavaScript-Projekt gewesen. Oder ist es ja noch? Und das wird auch dort genauso sein. Wir werden unseren Standards halten, da wo das erforderlich ist und wo es auch wirklich Sinn macht. Und wir werden diejenigen, die das später
11:20
verwenden werden, in die Lage versetzen, dass sie Applikationen entwickeln können, die überall laufen. Und zwar unabhängig vom Browser, unabhängig von der Plattform, wo sie es laufen lassen oder von einem Endgerät. Also ob Sie mit dem Handy drauf gehen oder mit Ihrem Desktop Browser. Es soll dokumentiert sein und sich exakt wie Openair S2 sehr verlässlich verhalten. Das heißt, wenn Sie mal Openair S3.7 installieren,
11:40
dann wird das im Grunde die gleiche API haben, im Grunde wie die 3.6. Da sind wir noch weit von entfernt von solchen Release-Nummern. Da sind wir jetzt endlich bei dem Teil, der am meisten Spaß hoffentlich macht. Das sind jetzt die Beispiele. Hallo Welt. Das, was man klassischerweise so in jeder Programmiersprache macht, kann man in Openlayers und mit so
12:00
Kartenbibliotheken insgesamt ja immer ganz schön machen. Man kann ja wirklich die Welt zeigen. Ich öffne mal einfach hier direkt drin. So, Moment. Das ist jetzt eine einfache Openlayers-Karte. Sie sind, wenn Sie das einfach nur anschauen, sind Sie vermutlich nicht grandios überrascht
12:21
davon, dass das einfach funktioniert. Sie können hier schon zoomen. Sie können, hier gibt es auch einen Mausrad, Sie können zoomen. Sie sehen schon, das ist relativ nett. Sie können pennen. Es hat so einen gewissen Geschwindigkeit. Es nimmt die Geschwindigkeit mit. Das heißt, es fühlt sich sehr natürlich an, mit dieser Applikation zu interagieren. Und was für ein Code führt da jetzt zu? Dieser. Oh, das ist ein bisschen klein vermutlich.
12:44
So müsste es eher sein. Das ist der Code, der dazu führt. Sie sehen schon, das, was sich als allererstes ändert, ist der Namespace. Das heißt jetzt New OL Map. Also OL, kleingeschrieben, nicht mehr Openlayers. Da sehen Sie auch schon, wie viel wir auf Performance achten.
13:00
Schon der Namensraum ist deutlich kleiner geworden. Ich werde hier nicht auf alle Dinge eingehen können, aber einige Sachen sollten Sie sich vielleicht merken schon. So was wie ein View, das kannten Sie bislang noch nicht. Das behalten Sie einfach mal im Hinterkopf. Das muss ich jetzt hier irgendwie schließen.
13:22
Alt F4 vermutlich nicht. Da ist der Code auch nochmal hier ein bisschen gehighlightet. Sie sehen, dass hier sogar noch eine Zeile weniger drin ist. Da ging es um den Renderer. Werde ich nicht detailliert drauf eingehen.
13:42
Openlayers 2. Da haben Sie sich im Grunde, wie folgt, Ihre Applikation zusammen gebastelt. Es gab wenigstens eine Openlayers Map. N Openlayers Layer Instanzen, die Sie reingegeben haben. Das XXX steht für Subklassen. Also das ist nicht eine wirkliche Klasse in Openlayers 2. Es gab wenigstens, oft gab es noch N Controls,
14:00
die Sie hinzufügen konnten. In Openlayers 3 ist das Hauptobjekt oder das zentralste, der zentralste Container letztlich OL.Map. Da gibt es eine von üblicherweise. Sie haben wenigstens ein OL View. Sie sehen schon, da habe ich schon so drangeschrieben 2D, 3D. Derzeit implementiert ist der 2D View. Aber die Architektur ist bereits so vorhanden im Code,
14:21
dass wir auch 3D implementieren könnten. Sie haben N Interaktionen, die dieser Map zugehörig sind. Interaktionen sind Dinge, die es den Benutzer der Karte erlauben, mit ihrer Karte zu interagieren. N Openlayers Controls. Und jetzt kommt was sehr wichtiges. Sie haben immer noch N OL Layer Objekte.
14:43
Aber jeder dieser Layer Objekte hat wenigstens eine Source. Also hat exakt in der Regel eine Source. Das heißt, das, was Sie früher als in einem Layer versteckt haben, wo ich meine Daten herhole, z.B. von einem GML-Datei oder so, das ist mittlerweile ein bisschen strikter getrennt.
15:01
Sie können mit Openlayers Recht-Performant arbeiten. Hier sehen Sie 50.000 Koordinaten gerendert. Und das Ganze ist sehr flux. Ich zeige es ganz kurz. Ich gehe da nicht auf die Details ein. Das ist falsch verlinkt. Passiert, ne?
15:20
Jetzt sage ich es Ihnen nicht. Sie sehen es ja hier. Es sind 50.000 Punkte, die wir da erinnern, sehr, sehr schnell. Im nächsten Beispiel kommen hier noch mehr Koordinaten. Also das ist nicht so interessant. Dreck-and-Drop. Also die modernsten Web-Technologien, das ist auch die Dreck-Drop-AP. Das ist auch was von HTML5. Wird einfach unterstützt. Und Sie können einfach Ihr KML ziehen auf die Karte
15:41
und dann wird es dargestellt. Hoch-Performant. Gucken wir uns nicht an den Code. Lesen Sie daheim. Kommen wir zu den technischen Highlights. Du, ich. Ganz kurz. Ich stelle das noch vor, weil das die Große zum Zahn hat. Was sehen Sie hier? Ziemlich uninteressant. Sie sehen irgendein Fraktal.
16:00
Und das Relevante hier an der Stelle ist, wir haben wirklich einige interessante Modifikationen oder Code-Bestandteile, die uns erlauben. Jetzt hier in diesem Fall, dieses Fraktal, was Sie hier sehen, besteht aus 786.433 Punkten, die im Client gerendert werden. Und das ist für Sie überhaupt nicht merklich. Also Sie merken gar nicht, dass das schnell oder langsam ist.
16:24
Beziehungsweise Sie merken, dass es schnell ist. So, da sind die ganzen Sachen. Sie sehen, in diesem Moment sind es nur 3.073. Hier können Sie die Tiefe festlegen. Und wenn wir da ganz rechts gehen, das ist ein relativ schwacher Rechner. Mal gucken, was er da macht. Jetzt werden gerade im Moment fast 200.000 Punkte gerendert. Ich kann hier reinzoomen.
16:40
Ich kann das schieben. Ich kann alles Mögliche machen mit dieser Karte. Und es sind extrem viele Optimierungen vorgenommen worden, um jetzt, wie jetzt in dem Fall, etwas an die 200.000 Punkte darzustellen. Nächstes Beispiel machst du dann. Marc, mach das weg.
17:07
Kurz zu diesen Performance-Optimierungen, die wir gemacht haben. Das Erste, was Sie in dem Fraktalbeispiel gesehen haben, war eben Clipping. Das heißt, wir gehen nicht durch die ganze Geometrie durch. Auch wenn wir nur einen Bruchteil davon zeichnen müssen,
17:21
sondern skippen alles bis zu dem Punkt, wo wir auf den Bildschirm kommen. Dann rennen wir die Punkte, die im Bildschirm sind. Und wenn wir den Bildschirm wieder verlassen, ignorieren wir wieder die restlichen Punkte. Das Ganze funktioniert effizient durch einen räumlichen Index. Wir haben verschiedene räumliche Index-Implementierungen probiert. Das ist die erste, die wir verwendet haben. Was Sie sehen, ist eine Visualisierung
17:42
von 2000 Punkten, wie der Index angelegt ist. Wir haben dann eine zweite Implementierung probiert, die vom Entwickler von Leaflet kommt. Die haben wir dann gemeinsam noch etwas überarbeitet. Und dann kommen wir auf einen schönen Baum, der eben optimiert ist für Topologien, so wie wir sie in räumlichen Daten häufig vorfinden.
18:04
Ein weiteres technisches Highlight aus der Sicht des API ist, dass wir in den Renderprozess eingreifen können. Wir können den Bildschirminhalt verändern, bevor wir rendern und auch nachdem wir rendern. Und dadurch lassen sich so nette Dinge wie über Blend-Effekte realisieren.
18:22
Hier zum Beispiel sehen Sie, ich habe zwei Layer hier übereinander, einen Satelliten-Layer und einen OSM-Layer. Und die überlagern sich durch so einen sogenannten Post-Compose-Effekt.
18:43
Danke. Ja, das vielleicht noch kurz, den Code. Man greift hier direkt auf den sogenannten Canvas-Kontext zu und kann den dann beliebig modifizieren. In dem Fall zeichnen wir hier einfach einen Umkreis um den Mouse-Cursor und lassen dort einen zweiten Layer durchscheinen,
19:02
den man sonst nicht sehen würde. Ja, ganz kurz vielleicht noch ein Ausblick. Ready for production, sage ich kurz etwas dazu und da Marc vielleicht auch noch. Die Version ist derzeit in der Beta-Phase, das heißt, das API wird sich noch ändern. Wir haben aber bereits eine hohe Code-Qualität.
19:23
Die Dokumentation ist noch im Aufbau und vielleicht noch kurz was zum Zusammenspielen mit anderen Bibliotheken. Ja, das ist unproblematisch möglich mit OpenLayers 3. Das heißt, Sie können das später verwenden. Wir haben jetzt eben was gehört von Clojure. Sie können das verwenden mit Clojure, der Clojure-Bibliothek. Sie müssen es aber nicht.
19:41
Sie können machen, was Sie wollen mit OpenLayers 3. OpenLayers 3 wird sehr schön sich integrieren in Ihre Webseiten, die Sie damit machen werden. Wir verwenden auch JQuery in vielen der Beispiele, um das eben auch zu zeigen. Es gibt, also wenn man jetzt unter dieser Frage geht, Ready for productions. Wist du, bei der Name ist eben schon gefallen. Es gibt noch schon eine recht große Anwendung, die Sie hier sehen. map-geo-admin.ch, die komplett auf OpenLayers 3 setzt.
20:01
Tolle Applikation, der ganze Code ist auch auf GitHub. Schauen Sie sich das ein und bewerten Sie dann vielleicht selber auch, ob das eine, ob und wie da dieses Problem angegangen wurde und wie toll das Ergebnis ist, was rausgekommen ist und was OpenLayers 3 dazu beigetragen hat. Ganz kurz, letzte Minute habe ich ja noch. Zur Zukunft die Roadmap.
20:25
Wir haben uns noch viele Sachen aufgeschrieben, die wir machen wollen, bevor wir dann 3.0 veröffentlichen. Das steht ja hier, was wir alles machen wollen. Ich kann da vielleicht gleich bei den Fragen drauf eingehen. Wir wollen CSium vielleicht noch einführen können, um auch solche Dinge so im Globus halt mit OpenLayers 3 halt nativ hinzubekommen.
20:41
Also nicht nur vielleicht die Arbeit dazu beginnt, aber voraussichtlich im April. Und dann V3-Final kommt bald. Vielen Dank.
21:02
Ja, vielen Dank. Marc und Andreas, der Closure-Compiler für den Vortrag hat dann ja funktioniert am Ende auch noch. Wurde alles ein bisschen schneller. Gibt es Fragen zu dem Vortrag? Ist alles klar? Ja.
21:27
Ab welcher Version vom Internet Explorer sind die Beispiele der Laufwelt? Die Beispiele, die Vektoren rennen dann ab Internet Explorer 9 und alle anderen Beispiele wahrscheinlich ab Internet Explorer 7,
21:41
falls noch irgendjemand irgendwo installiert hat. Danke. Ihr habt gesagt Mobile from Start. Wie sieht es aus mit Datenbank-Synchronisierung oder Local Storage?
22:08
Ist vorerst nichts in der Library drinnen, um Local Storage und browserbasierte Datenbanken zu unterstützen. Das kann man aber allerdings schon durchaus realisieren. Auf der Applikationsebene.
22:21
Es gibt Schnittstellen und Hooks, in die man sich reinhängen kann. Zum Beispiel dieses Pre-Compose-Art-Bild. Da könnte man auch Bilder, die man heruntergeladen hat, in die lokale Datenbank speichern. Also das wird der Applikation überlassen. Und von der Architektur her ist das so geregelt, dass man leicht Zugriff auf die relevanten Konstrukte hat,
22:41
um sie in den Local Storage oder in Datenbanken zu speichern bzw. auch von dort auszulesen.
23:03
Also was versteht ihr unter BALT? So Zeitraum, Horizont? Weil wenn man jetzt z.B. sich Mühe macht und anfängt, Sachen zu entwickeln für OpenLayers 3, und ihr sagt, die API könnte noch ein bisschen gewechselt, geändert, weiterentwickelt werden, dann ist es ja vielleicht noch ein bisschen zu früh,
23:22
um jetzt schon darauf zu setzen. Also wir wussten natürlich, dass die Frage kommt. Deshalb haben wir das auch lange abgesprochen, wie wir darauf antworten wollen. Also alles, wenn ich Ihnen jetzt ein festes Release-Datum nenne, würden Sie vermutlich sich auch bewusst oder unbewusst darauf verlassen, dass dem so ist. Das heißt, ich werde kein festes Datum nennen.
23:42
Und auch der Herr Hotschel war vermutlich nicht. Wenn Sie den vielleicht gleich nochmal fragen. Nein, es ist so, wir arbeiten hart dran. Es gibt noch einige Sachen, die wir gerne machen würden, bevor wir dann denken, es ist wirklich final und auch so, dass wir es mit gutem Gewissen als 3.0 releasen.
24:02
Aber ich glaube, Sie können, und das zeigt dieses Beispiel von der Swiss Topo, Sie können auch jetzt schon hervorragende Applikationen damit bauen, das ist Punkt 1. Und auch die API, die sich noch hier unter ändert, da bin ich verpflichtet, im Grunde das zu erwähnen. Aber es ist jetzt auch nicht mehr dramatisch zu erwarten, dass da viele Dinge sich ändern und wesentliche Konzepte über den Haufen geworfen werden.
24:21
Das heißt, wenn Sie im Grunde verstehen, dass Sie jetzt eine Applikation damit schreiben und in Zukunft, wenn Sie auf OpenLayers 3.0 final dann umstellen wollen, Sie gewisse Anpassungen vornehmen wollen, müssen vielleicht, dann können Sie auch jetzt schon hervorragend OpenLayers 3.0 einsetzen. Ein Beispiel vielleicht noch in dem Zusammenhang,
24:40
warum es durchaus sinnvoll ist, das OpenLayers 3.0 jetzt schon zu verwenden. Die meisten von Ihnen kennen wahrscheinlich Leaflet. Das hat von der Popularität her, nehme ich an, inzwischen OpenLayers 2.0 überholt und hat auch immer wieder API-Änderungen gehabt in der Zeit, wo es schon populär war und ist auch noch in der quasi vor 1.0-Release-Phase.
25:01
Aber wenn die Codequalität stimmt und solche Änderungen dokumentiert sind, sollte eigentlich nichts dagegen sprechen, das jetzt bereits einzusetzen.