Hans, Schepp und Stefan bekommen Besuch von Daniel Bachler, der uns über Front-End Entwicklung mit rein funktionalen Programmiersprachen aufklärt.
Schaunotizen
- [00:02:45] Elm
- Das noch sehr junge Elm ist so etwas wie Haskell im Browser, allerdings zugänglicher und mit vielen schönen Runtime Features, die Fremdbibliotheken fast unnötig machen. Eine strikte funktionale Ausrichtung, alles immutable, superstarke Typisierung keine Side Effects dank Steuer-Strukturen und der Abstinenz von
null
sorgt für — hört, hört — keinerlei Laufzeitfehler! Mit der Elm Architecture bekommen wir auch so etwas wie Redux frei Haus geliefert (oder bekommen wir mit Redux die Elm Architektur geliefert?) und können fesche Web-Anwendungen bauen. Eigenheiten, Vor- und Nachteile und wie man mit JavaScript spricht, erfährt ihr alles hier. Weiteres Info-Material ist weiter unten verlinkt - [00:43:40] F#
- F# von Microsoft ist seit 2002 der funktionale Bruder von C# für die .NET Laufzeitumgebung. Mit Microsofts Offenheit gegenüber neuen Technologien gibt’s das auch jetzt auf Linux, und seit neuem auch im Browser. Dank Fable übersetzt man den F# Syntaxbaum auf etwas Babel-kompatibels. Mit dem SAFE-Stack ist man dann auch End-to-End F# fähig, und Bolero geht erste Schritte Richtung Web Assembly. Weiteres Lernmaterial wieder weiter unten.
[01:07:30] Keine Schaunotizen
- F# for Fun and Profit
- DIE Referenz für funktionalie Programmierung, nicht nur zu F#.
- Making impossible states impossible
- Legendäres Video von Rich Feldman über die großen Vorteile von funktionalen Programmiersprachen: Keine unvorhergesehenen Fälle!
- Make Web Apps Fun and Easy to Refactor
- Daniels eigener Vortrag zu Elm.
- Elm Guides
- Elm zum lernen.
- Try Elm
- Elm zum (online) ausprobieren.
Kommentare
Stefan Oh #
Geschrieben am 18.09.2019 um 20:49
Hallo,
zu zwei der angesprochen Punkten (Tooling + Interop) würde ich dennoch gerne meine Auffassung und meinen Kenntnisstand teilen.
1. (36:40) Tooling für Elm
Die Aussage, dass es Tooling nur von freiwilligen vorangetrieben wird, ist nicht ganz richtig.
Keith Lazuka und AJ Alt von Microsoft entwickeln ein umfangreiches Elm-Plugin für IntelliJ, das von Microsoft selbst auch eingesetzt wird -> https://youtu.be/CC2TdNuZztI
Das Plugin ist für die kostenlose Community-Version von IntelliJ verwendbar.
Daneben gibt es gute IDE-Unterstützung für VSCode, Atom, VIM (wir nutzen all das in unserer Entwicklungsabteilung).
Allerdings würde ich sagen, dass man für Elm wenig Tooling benötigt (batteries included). Man kann sehr gut mit dem elm-Compiler + elm-format + elm-live und einem primitiven Texteditor mit Syntax-Highlighting leben.
2. (37:30) Elm mit React oder Angular benutzen
Für die Integration/Koexistenz von Elm mit anderen Frameworks fallen mir noch ein paar weitere Optionen ein, nämlich…
– wie im Podcast angesprochen: Integration via komplette Screens/Pages
– Elm-Teil integrieren in React/Angular (https://elm-lang.org/news/how-to-use-elm-at-work)
– Elm in den DOM embedden (https://guide.elm-lang.org/interop/)
– Elm-Komponente als Web Component verpacken (https://github.com/thread/elm-web-components)
– beliebige fremde Komponenten als Web Components verpacken und diese in Elm verwenden
– Elm-Pages in das Routing von z.B. Angular einhängen (kompliziert)
Viele Grüße + Danke für den tollen Podcast!
RSS-Feed zu diesem Beitrag
Kommentare sind für diesen Beitrag geschlossen.