Adult.js

JavaScript ist erwachsen geworden!

Christian Mayer & Marc Jansen

FOSSGIS 2018, Bonn, 22.03.2018

 

Gliederung

  • Über…
  • Motiviation & Ziel
  • kiddie.js
  • adult.js
  • Best Practices

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

Marc Jansen

  • Geschäftsführer @terrestris
  • Kernentwickler OpenLayers
  • Kernentwickler GeoExt
  • 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

Motivation & Ziel

Motivation & Ziel

  • Wir beide machen seit vielen Jahren JavaScript-Projekte
  • Zunehmende Komplexität
  • Zunehmende Funktionalität
  • Zeiten von Spielsprache lange vorbei
  • Ziel: Professionalisierung aufzeigen

kiddie.js

JavaScript damals

Entstehung

Brandon Eich, Quelle
  • 1995
  • Netscape
  • Mocha ➡️ LiveScript ➡️ JavaScript
  • Browser-Skriptsprache
  • Interativität in Webseiten
  • Kurzzeitig serverseitige Unterstützung (Netscape-Webservern)

Script-Tag und ein paar Zeilen Code


                        

Script-Tag und ein paar Zeilen Code

  • Einfache kleine Programme
  • STRG + U ➡️ Entwicklers bester Freund
  • Editieren auf dem Server
  • Meist in Kombination mit serverseitigen Skripten
  • steigende Komplexität der Anwendung ➡️ Chaos in der Organisation der Eingangsdateien

adult.js

JavaScript heute

Everything.js & Nothing.js

npm i vec2-copy



                        module.exports = function vec2Copy(out, a) {
                            out[0] = a[0]
                            out[1] = a[1]
                            return out
                        }

                    

Heute

  • Frameworks & Libraries en masse
  • Tools und Paradigmen dito
  • Boilerplates / Generatoren etc.
  • Typescript & Flow
  • Jedes Jahr ein neues EcmaScript
  • JS überall: Browser & Node.js
  • <noscript>?
Ultimately, the problem is that by choosing React (and inherently JSX), you’ve unwittingly opted into a confusing nest of build tools, boilerplate, linters, & time-sinks to deal with before you ever get to create anything.
Hervorhebung von uns, https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4

Professionalität bekommt man nicht umsonst

Best Practices

Node.js - JavaScript auf dem Server

Node.js - für die Cliententwicklung

  • Meist im Zusammenspiel mit npm
  • Oft im Bereich der Frontend-Entwicklung
    • Webserver
    • Dependency-Management
    • Build-Tools
    • Unit Testing

JavaScript vs. EcmaScript vs. TypeScript

Findet Euren Favoriten

Build Tools

Fazit

  • Sehr hoher Professionialisierungsgrad
  • Unglaubliches Momentum in der Weiterentwicklung
  • Durchaus komplexe Konstrukte
  • Manchmal zu viel Overhead
  • …jedoch auch reichlich Dokumentation
  • JavaScript unbekannt? Lern es, es lohnt sich
  • JavaScript Pro? Hinterfrag Dich und lerne weiter

Vielen Dank


Fragen & Anmerkungen?


Impressum

Impressum

Autor

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

Lizenz

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

Vortragsfolien, PDF-Version, git repository