GeoExt

Ein ExtJS basiertes Rich-Client-WebGIS-Framework in Zeiten von AngularJS und Konsorten

Marc Jansen & Christian Mayer

FOSSGIS 2015, Münster, 12.03.2015

Gliederung

  • Über…
  • GeoExt & ExtJS
  • Vgl. zu Angular & Co.
  • GeoExt 2.1 und GeoExt 3
  • Fazit

Marc Jansen

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

terrestris

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

Christian Mayer

  • Softwareentwickler & -architekt
  • Vornehmlich im GIS-Bereich
  • Open Source Enthusiast
    • Kernentwickler GeoExt
    • OpenLayers, GeoTools, uvm.
  • Sprecher bei nat. und internat. Konferenzen (FOSS4G, FOSSGIS, SVG Open)
  • OSGeo Foundation Charter Member
meggsimum.de Logo

Was wir gemeinsam haben?

♥ OpenSource


♥ GIS / Spatial


♥ Moderne Technologien

vgl. Node.js-Vortrag

Über diesen Vortrag

  • Kein Bashing
  • Keine Flame-Wars
  • Keine vollst. Neutralität
  • Keine vollst. Entscheidungsgrundlage
  • Überblick und Einschätzung

GeoExt & ExtJS

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, BSD, © OSGeo
  • Sei März 2009 (6 Jahre)

AKTUELLE VERSION v2.0.2

  • ExtJS 4.2.x
  • OpenLayers 2.13.1

ExtJS ALS BASIS

  • Legt Komponentenstruktur fest
  • Empfiehlt und belohnt Patterns
    • MVC
    • MVVM
  • Konsistentes Layout
  • Empfohlener Build-Prozess
  • Smartphones nicht offiziell unterstützt
  • Relativ seltene Major Updates
  • Zielgruppe Applikation

Führt zu …

  • Weniger Flexibilität
    • Code
    • Patterns
    • Build
  • Eingeschränkter Wiederverwertbarkeit mit non-ExtJS
  • Weniger Hype
  • Coole und konsistente Layouts Handarbeit

… aber auch zu

  • Hoher Code-Qualität interner Komponenten
  • Leichter Einarbeitung (fremde ExtJS App)
  • Leichter Einarbeitung (non-JS Entwickler)
  • Hoher Verlässlichkeit (API)
  • Alternative builds möglich
  • Hoher Wiederverwertbarkeit innerhalb ExtJS
  • Reine Businesslogik externalisierbar
  • Out-of-the-box Lösungen
  • Konzentration auf Lösungen statt Hypes

Weitere ExtJS Eigenschaften

  • Herrausragende Dokumentation
  • Plugins / Erweiterungen
    • DeftJS, http://deftjs.org/
    • GeoExt ☺
  • Enterprise Support via Sencha etc.
  • Wenige Überraschungen
  • Vgl. zu Angular & Co.

    Eine willkürliche Auswahl

    • AngularJS
    • Ember.js
    • Knockout.js
    • Backbone.js
    • React
    • Ampersand.js

    Gemeinsamkeiten

    • Jung & Beliebt
    • Kurze Release Zyklen
    • MV-Whatever
    • Routing
    • Templating
    • 'Be nice to others'
    • Works everywhere

    Eigenschaften

    • Spezifischer Fokus, kein 'All-singing-all-dancing'
    • Build ist oft nicht festgelegt
    • API-Design oft ansprechend
    • Einheitlichkeit nicht immer gewährt
    • Google statt out-of-the box?
    • Üblicherweise hohe Wiederverwendbarkeit von eigenen Klassen
    • Semantisches HTML

    PPK: The problem with Angular

    PPKs Meinung zu einem Ext Button?

    
    
        
            
                
                
                
                    Toggle Me
                
            
        
    
    

    Und wie entscheide ich mich?

    • Projektanforderungen
    • Projektteamgegebenheiten
    • Lizenz

    Geoext profitiert von Weiterentwicklungen bei ExtJS

    GeoExt 2.1 und GeoExt 3

    GeoExt 2.1

    • ExtJS 5
    • responsive
    • Two-way Binding
    • MVC + MVVM
    • Erleichtertes Styling

    GeoExt 3

    • OpenLayers 3
    • ExtJS 5.current

    Fazit

    Haben andere Bibliotheken ein GeoExt-Äquivalent?

    Unterschiede existieren & sind gewollt,
    nivellieren sich zudem

    Für Geo-Web-Applikationen
    ist GeoExt eine hervorragende Wahl

    Vielen Dank


    Fragen & Anmerkungen?


    Impressum

    Impressum

    Autoren

    Christian Mayer
    meggsimum.de
    Hauptstraße 165a
    67125 Dannstadt-Schauernheim
    chris@meggsimum.de
    Marc Jansen
    terrestris GmbH & Co. KG
    Pützchens Chaussee 56
    53227 Bonn
    jansen@terrestris.de

    Lizenz

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

    Vortragsfolien