GeoExt3

Universale WebGIS Applikationen
mit OpenLayers 3 und ExtJS6

Marc Jansen & Christian Mayer

FOSSGIS 2016, Salzburg, 05.07.2016

Gliederung

  • Über…
  • GeoExt: Stand
  • Universale Applikationen…
  • … mit GeoExt
  • Beispiel
  • Fazit

Marc Jansen

  • Seit 2007 Entwickler / Projektleiter bei terrestris
  • Kernentwickler und PSC Mitglied GeoExt
  • Kernentwickler OpenLayers
  • Buchautor "OpenLayers"
  • Sprecher & Trainer
    national & international
  • OSGeo Foundation Charter Member

terrestris

  • terrestris.de
  • OpenSource GIS aus Bonn
  • Entwicklung, Projekte & Support/Schulung
  • Beratung, Planung, Implementierung & Wartung

Christian Mayer

  • Geoinformatiker
  • Softwareentwickler & -architekt
  • Kernentwickler und PSC Mitglied GeoExt
  • Sprecher & Trainer
    national & international
  • OSGeo Foundation Charter Member

meggsimum

  • meggsimum.de
  • Dienstleistungen im Bereich GIS, Webmapping & GDI
  • Maßgeschneiderte WebGIS-Lösungen
  • Softwarekonzepte und Softwareentwicklung
  • Geodaten
  • Beratung und Schulung

GeoExt

Aktueller Stand

GeoExt

  • JavaScript-Framework für "Rich Web Mapping Applications"
  • Basiert auf OpenLayers und ExtJS
  • Erweitert ExtJS um räumliche Komponenten
  • Grafische Komponenten und Daten-Paket
  • OpenSource, © OSGeo
  • Sei März 2009 (7,5 Jahre)

 

Versionen

GeoExt ExtJS OpenLayers
1.1 3.x 2.10
2.1 4.2.x / 5.1.x 2.13.1
3 (master) 6.x 3.x

Neuerung OpenLayers

A high-performance, feature-packed library for all your mapping needs.
  • Kompletter rewrite nach v2.x
  • Mobile from start
  • Unabhängig von …
    • … Endgerät
    • … Browser
    • … Bibliothek

 

 

…universal.

Neuerung ExtJS 6

Zusammenführung ExtJS / Sencha Touch

  • Toolkits classic & modern
  • Build profiles
  • Besseres Theming (fashion)
  • Model-View-Controller & Model-View-ViewModel
  • Ext.WidgetExt.list.Tree

 

 

…universal.

Universale
Applikationen

Ziel

  • Eine Codebasis => multiple builds
  • Weniger Reibungsverluste
  • Wiederverwendung von Code
  • UI weitestgehend abhängig von Endgerät
Ideally, the Universal aspect of the your application will contain data, models, viewmodels, etc. You can also share controllers, though, developers may need to be creative in order to produce logic that can span toolkits.

app.json & sencha


"builds": {
    "classic": {
        "toolkit": "classic",
        "theme": "theme-triton"
    },

    "modern": {
        "toolkit": "modern",
        "theme": "theme-triton"
    }
}
          

$ sencha app build modern
          

 

Profildetektion in index.html


Ext.beforeLoad = function (tags) {
    var s = location.search,  // the query string (ex "?foo=1&bar")
        profile;
    // For testing look for "?classic" or "?modern" in the URL
    // to override device detection default.
    if (s.match(/\bclassic\b/)) {
        profile = 'classic';
    } else if (s.match(/\bmodern\b/)) {
        profile = 'modern';
    } else {
        profile = tags.desktop ? 'classic' : 'modern';
        // tag.phone, tags.cordova …
    }

    Ext.manifest = profile; // must match a build profile name
};
          

Universale Applikationen

…mit GeoExt

Was bedeutet dies für GeoExt?

  • Korrekte Ableitungen in eigenen Klassen
  • Bsp. GeoExt.component.Map
  • Wiederverwendbar: alles außer GeoExt.grid.column.Symbolizer
  • components, data-package (models und stores), utilities & mixins
  • tree-Strukturen via models

Nicht als package verwendbar


"classpath": [
    "app",
    "${toolkit.name}/src",
    "packages/remote/GeoExt/src/component",
    "packages/remote/GeoExt/src/data",
    "packages/remote/GeoExt/src/mixin",
    "packages/remote/GeoExt/src/util"
]
          

Globales "requires": [ "GeoExt" ] entfernen

Beispiel

 

 

 

Fazit

Fazit

  • Großes Potential
  • Anspruchsvolle Detailentwicklung (Framework / App)
  • Einige unerwartete Fallstricke
  • Ansprechende Ergebnisse
  • Derzeit Verbesserungen finanziert (BfS)
  • Mehr Kollaboration gewünscht
  • Viele Ideen / wenig Zeit
  • Sponsoren? Entwickler?

Vielen Dank


Fragen & Anmerkungen?


Impressum

Impressum

Autoren

Marc Jansen
terrestris GmbH & Co. KG
Kölnstr. 99
53111 Bonn
jansen@terrestris.de
Christian Mayer
meggsimum
Hauptstraße 165a
67125 Dannstadt-Schauernheim
chris@meggsimum.de

Lizenz

Diese Folien sind unter CC BY-SA veröffentlicht.

Vortragsfolien, PDF-Version, git repository