Die Zeit ist reif für ES2015

  • Da ich in meinem neuen Projekt einiges in JavaScript programmieren musste, habe ich mich natürlich gefragt, ob ich wieder Babel einsetzen sollte, damit ich modernen JavaScript Code schreiben kann, aber das ganze auch noch mit jedem Asbach Uralt Browser läuft.


    Doch diesmal habe ich mir vorher angesehen, wie viel % der Browser die Features bereits direkt unterstützen und fand es ganz erstaunlich, wie bereit die Unterstützung mittlerweile ist:

    Ich werde jedenfalls zukünftig direkt ES2015 einsetzen und die User, auf denen es nicht läuft durch einen Hinweis dazu ermutigen, doch bitte einmal über ein Browserupdate nachzudenken ;).

  • Hay,


    naja, optimistischer Ansatz. Ich habe die Erfahrung gemacht, dass User sich selten etwas aufzwingen lassen, so lange es keinen anderen Grund für einen Browserwechsel gibt, z.B. wenn Du "DIE" Killerapplikation geschrieben hast. Wenn nicht, gehen sie einfach weg :D


    Abdeckung von (dem verkrüppelten Kompromiss Pseudo-) ES5 ist immerhin fast 100% und was kostet es Dich, einfach trotzdem noch Babel im Buildprozess zu haben? (Außerdem: Welches Build-Tool setzt Du ein?)


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Es kostet mich einen Mehraufwand, denn es fügt zusätzliche Komplexität hinzu, die ich so nicht hätte.


    Ich setze gar kein Buildtool an, da ich es nicht benötige, wenn ich ES2015 direkt verwenden kann. Da ich auch http2 verwende, bundle ich das ganze auch nicht, mehrere kleine JavaScript-Dateien sind da besser als eine große, die alles enthält.


    Daher sollten halt möglichst viele Seiten nur noch ES2015 einsetzen, dann dürfte der User mit der Zeit gezwungen sein zu upgraden.


    Und im Zweifel verliere ich maximal 14,55% der User.

  • Wie hoch ist die Chance, dass Du jetzt ein neues Projekt für solch eine Zielgruppe erstellst? Es geht hier um neue Projekte, nicht um bereits vorhandene, deren Code man pflegen muss.


    Aber muss ja jeder selber wissen, was er/sie einsetzt, ich jedenfalls sage tschüss zu ES5.

  • Ich bin von Typescript recht begeistert (ich habe beruflich längere Zeit mit Angular 4 gearbeitet), grundsätzlich, aber ich muss sagen, dass mit ES2015 viele der Vorteile auch direkt nutzbar sind, natürlich hat man keine statische Typisierung.


    Evtl. muss ich mich noch etwas konkretisieren. Es ist ein Projekt, bei dem Django eingesetzt wird, also viel dynamisch servertseitig gerendert wird, aber die Seiten dann zusätzlich recht JavaScript lastig sind. Die JavaScript Dateien sollen auch nicht gebundelt werden, da es bei http2 sowieso eher nachteilig ist, denn so wird nur das JavaScript geladen, was auch für die jeweilige Seite gebraucht wird. Django unterstürzt WebPack (via extra package), aber ich habe mir mal die Konfiguration dazu angesehen mit mehreren Bundles (bräuchte ja dann eines für jede Seite), das ist schon recht viel Aufwand...


    Würde ich eine reine JavaScript Web App wie einen Musikplayer oder was auch immer programmieren, oder für das Frontend komplett auf ReactJS oder VueJS setzen (die Lust auf Angular, nicht TypeScript ist mir mit jedem Monat, in dem ich es verwendet habe, vergangen ;)) , z. B. mit next.js oder nuxt.js, wäre das Transpilieren ja kein Problem.

  • die Lust auf Angular, nicht TypeScript ist mir mit jedem Monat, in dem ich es verwendet habe, vergangen

    :thumbup:

    Habe die erste Version einer größeren Software in der Angular2-Beta geschrieben, das war gerade der Sprung von ng-app und angular.module (plain JS) hin zu TypeScript. Habe dann geflucht als ich die Final von Version 2 bzw. die nachfolgenden Versionen gesehen habe und schreibe die Anwendung gerade mit VueJS neu. So viel interne builds bei Angular nötig, alles furchtbar intransparent und dauernd geht irgendwas kaputt. SPAs mit Vue und ES2015 machen dafür wieder richtig Spaß.