Reaktive Web-Frameworks - Hilfe oder Schmerz?
Shownotes
- Das gut lesbare Buch mit den Fehlerklassen: Functional Reactive Programming
- Sodium FRP
- RxJS
- Angular
- Svelte
- Die Wikipedia-Seite zu FRP
Transkript anzeigen
00:00:00: Music.
00:00:08: Ja hallo.
00:00:12: Heute geht es um das Thema reaktive Programmierung mit grafischen Benutzeroberflächen insbesondere mit Weboberflächen.
00:00:19: Und, wenn man ein reaktive Programmierung denkt, dann denkt man sofort an den Platzhirschen, dessen Name da lautet RX.js.
00:00:27: Ich und andere Leute verbinden damit als spontane Assoziation soetwas wie Knobelaufgaben oder Schmerzen,
00:00:34: Das ist hier aber nicht das Thema. Wir wollen uns heute um funktionale reaktive Programmierung kümmern und das ist was anderes als RX.js.
00:00:43: Und wir, das sind erstmal ich, also Torsten Fink, Geschäftsführer der tech@spree und bei mir ist mein Kollege Micha.
00:00:49: Hi, ich bin Mischa. Ich bin ein Entwickler bei der akquinet seit vier Jahren. Ich habe auch meine Bachelor und Masterarbeit hier geschrieben.
00:01:00: Und die Masterarbeit ja auch zu dem Thema, zu dem wir heute reden werden. Genau, weil, wir hatten ja die Gelegenheit, dass du bei uns gearbeitet, Du warst in Projekten lange mit dabei und irgendwann hatten wir die Gelegenheit, ein Thema für eine Masterarbeit zu finden.
00:01:13: Dann haben wir geguckt, was ist interessant und was hat irgendwie auch Projektrelevanz und letztendlich ist es eine Masterarbeit mit einem langen Titel geworden, so wie es in der
00:01:22: Wissenschaft ja sein sollte und der Titel lautet: Wie können die Fehlerklassen der reaktiven Programmierung vermieden werden, also Fehlerklassen
00:01:32: und reaktive Programmierung ist hier zusammen. Schonmal interessant. Eine Analyse verschiedener funktionaler Frameworks zur benutzerorientierten Darstellung reaktiver Daten.
00:01:41: Also kann man schon bisschen raus gucken, da geht's darum, sich verschiedene Frameworks anzugucken und die irgendwie miteinander zu vergleichen. So,
00:01:50: Micha, du bist mehr mit der Praktiker, arbeitest lange in unseren Projekten, was hatte ich zu diesem
00:01:55: Thema mit diesem langen Titel geführt. Erstmal der Titel ist so lang wegen Vorlieben von dem Professor. Der wollte unbedingt so eine,
00:02:04: so eine Leitfrage plus eine Beschreibung, von was genau entwickelt wird. Sonst hätte ich den auch kürzer gehalten.
00:02:13: Aber was mich zu dem Thema geführt hat. Ich persönlich bin sehr leidenschaftlich bei dem Thema Clean Code und wollte auch am liebsten in der Masterarbeit was machen was,
00:02:23: mich persönlich auch interessiert. Ich entwickle ja bei der akquinet viel mit Angular und mit Angular ist reaktive Programmierung mit RX.js großer großer Teil auch von Clean Code.
00:02:37: So dass ich eigentlich sehr begeistert war, als ich in der Firma von diesem Thema gehört habe funktional reaktive Programmierung. Also ich muss ein bisschen grinsen, weil, wenn ich an Clean Code denke, dann denke ich daran, dass wichtigste muss sein, dass der Code lesbar ist.
00:02:52: Also, wenn man das Buch sich mal durchliest, eigentlich geht's nur darum, dass Code einmal geschrieben wird und tausend mal gelesen wird.
00:02:59: Und RX.ja ist für mich das Gegenteil von lesbarem Code.
00:03:04: Ich habe auch allgemein ab und zu den Scherz gehört dass funktionale Programmierung halt Lesbarkeit aufgibt für Wartbarkeit und Clean Code,
00:03:13: ich habe auch in der Masterarbeit viel versucht.
00:03:16: Darauf zu achten dass die Lesbarkeit trotzdem gut bleibt obwohl man funktional reaktiv wird mit Access ist es bisschen schwerer weil es einiges an boilerplate gibt.
00:03:26: Aber ansonsten bin ich der Meinung dass es noch lesbar ist auch wenn man funktional programmiert min Express.
00:03:34: Top Lesbarkeit hat hat ja viel damit zu tun dass man dass man Fachlichkeit transportieren kann wegen dem Code und die Ideen und die Dinge die man da so zu tun möchte.
00:03:45: Nimm dir zu haben man kann auch funktional so programmieren in höheren Abstraktionen dass man weniger.
00:03:53: Zahlencode hat die Wunder tun und keiner weiß warum und das ist natürlich nicht gut nicht gut aus Aspekt von Wartbarkeit bei Eriks hatte ja das Gefühl dass das zugrundeliegende Modell.
00:04:08: So kompliziert ist das ist an sich schon schwierig ist zu verstehen und,
00:04:15: das so prinzipiell normal dient die Dienstbarkeit verringert also ich weiß noch dass meine ob das heute noch war weil sonst kam der Kater diese diese Perlen Diagramme wo man so verschiedene Fäden hatte,
00:04:27: und wenn man irgendeinen also nur ein grundsätzliches Element von rxjs erklären wollte musste man sie erstmal durch den Perlen Diagramm durch finden,
00:04:37: ist nicht ein so komplexes Framework schon mal.
00:04:42: Gleich ein Widerspruch zu Clean Code und Lesbarkeit vielleicht nicht in direkter Widerspruch aber ich stimme dir zu die.
00:04:51: Die Lernkurve bei xshellz ist halt sehr steil ich soweit ich weiß gibt es auch,
00:04:58: ganze Seiten die einfach nur dafür gemacht sind dass man diese ganzen Operatoren mit solchen Perlen Diagramm beschreibt wie du meintest und man kommt um die auch gar nicht rum und ich glaube auch für neue Entwickler ist es unglaublich schwer sich in so ein Perlen Diagramm rein zu denken.
00:05:14: Weswegen das einfach viele auch gar nicht erst greifbar ist was man da machen muss auch jetzt so im Bereich,
00:05:22: Test schreiben für Code haben die ja auch schon versucht jetzt ihre Perlen Diagramme in Code Form umzuwandeln so dass man Test schreiben kann.
00:05:30: Die genau denselben Aufbau haben wie ein Perlen Diagramm dass du sehen willst okay.
00:05:35: Ich glaube ich auch noch nicht so gut ankommen weil du halt niemand wirklich anhand von Perlen Diagramm entwickeln bin und der Test.
00:05:42: Geht dann so die verschiedenen nebenläufige Möglichkeiten durch die die Events gehen kann automatisch oder ja die auch aber der Vogel ist dass man dann so einen String schreibt der halt.
00:05:55: Visuell darstellt wie so ein pfeildiagramm aussieht mit Bindestrichen und Buchstaben dazwischen also für eine Perle den Buchstaben A z.b. an das Fördern aufbaut das ist auch sehr ungewöhnlich.
00:06:09: Mein Kopf ich habe ich jetzt das Gefühl man hat quasi etwas was sie finden regulärer Ausdruck anfühlt und ein Perlen Diagramm definiert also eine Grenache,
00:06:19: und dann sagst du mir perligran was welches Element bei einem bei der Perle rausgeworfen wird,
00:06:27: ziemlich komplexes und ich als Enkel Entwickler habe auch das Gefühl mit den meisten freien Entwicklern versuchen wie er alles zu tun damit wir nicht er XPS testen müssen sondern alles drumrum ruhig testen aber niemals Exzess selbst.
00:06:41: Weil es immer zu Problemen führt.
00:06:47: Und jetzt stellt sich die Frage warum sollte man dann rx-ds benutzen ja das ist eine gute Frage ich habe das Gefühl es ist sehr machtvoll auch in dem Kontext jetzt funktionale reaktive Programmierung.
00:07:00: Ich habe das Gefühl die Grundlage dafür ist dass man.
00:07:04: Dass man Variablen hat die voneinander abhängen heißt immer gesagt wenn du drei Variablen hast AB und C und du sagst A = B + C dann muss ich immer aktualisieren wenn auch B oder C sich aktualisiert.
00:07:18: Und das kriegst du glaube ich mit normalem state Management nicht so leicht hin während du das mit,
00:07:22: so eine Art also einem Stream Aufbau vrx-g es hinbekommst und das gibt dir sehr viel Struktur im Code,
00:07:28: also ich bin ja Fan von reaktiver Programmierung und ich bin auch Fan von Funktion einer reaktive Programmierung bin ja der Meinung dass du aufpasst mit diskutiert dass er XPS,
00:07:39: nicht zugehört aber komme nachher noch mal mit dazu,
00:07:46: habe aber festgestellt dass die die alte Definition von FRP mittlerweile überholt wurde und alles was angry reaktives und Funktion in enger eine Weise unterstützen muss ja automatisch funktionelle aktive Programmierung sein,
00:07:58: du mir das natürlich so definiert dann klar gehört es dazu aber dann ist es vielleicht nicht so nicht so hilfreich,
00:08:08: ich habe also das erste Mal dass unser XPS in Projekten richtig weh getan hatte war als wir das mal noch unter jarva in Android am eingeführt hatten und benutzt hatten gehört mobilanwendung.
00:08:21: Am und dort hat es uns im Break wirklich am.
00:08:26: Zeit gekostet und so bisschen die die aufwandsschätzungen gesprengt ich habe das Gefühl jetzt bei unseren Web-Anwendungen wo ich ihn mit euch mit dabei bin bin jetzt da corriger Menschen geworden so weiter an.
00:08:40: Funktioniert das deutlich besser meine These von außen der für viele standardprobleme die man Web Umfeld immer wieder hat hat man mit rx-ds zu seine Standard Muster die man einfach benutzt.
00:08:54: Kommt das hin und der These würde ich auch so sehen ich habe auch das Gefühl dass man,
00:09:00: mach als Webentwickler jetzt nicht wirklich alle Features von der Ecke es nutzt also z.b. diese Operatoren die von denen es über 100 gibt davon dass man vielleicht sehen maximal 20.
00:09:12: Und bei uns in unseren Entwicklungsteam haben wir auch meines Erachtens meistens ein der sich mit Elke es ganz gut auskennen zu dass er diesen Fehler auch ausmerzen kann.
00:09:23: Das ist so es gibt ja immer so ein Team nicht immer aber,
00:09:27: es gibt gerne in so einem Team der Guru der sich mit den gesamten bildsystem auskennen und jetzt gibt's den XTS geholt der sich da auskennt brauchst du auch noch dann zusätzlichen ich weiß dass Sie sich bei uns ein bisschen vernetzen.
00:09:41: Ich finde ja King Code am ich finde die Idee dahinter total gut und die.
00:09:49: Was ich wichtig finde es eigentlich jeder das einfach verstehen muss und auch ändern kann.
00:09:56: So nächstes so trotz nx-os reaktive Programmierung scheint gut zu sein kann ja nachvollziehen warum weil das sind ja Events irgendwo drücke ich drauf es gibt irgendein Event ich Epil Abhängigkeiten von von Zuständen die dann,
00:10:08: Event Änderungen hin korrekt angepasst werden müssen und dann macht es ja Sinn etwas reaktives zu nehmen was mit,
00:10:15: Events Strömen von Events gut umgehen kann in der Masterarbeit in der ersten Fragestellung kann das Wort Fehlerklassen vor.
00:10:26: Was sind noch für Fehlerklassen wenn ich eine schwere Frage war alle sechs vorzustellen dann sondern Podcast ist wahrscheinlich too much information Fürsorge Zubehör
00:10:35: Wetter für die Türe kommt jetzt schon die Frage was heißt die Zahl 6 wo kommt denn das her also die Maßarbeit passiert auf einem Buch das wie ich hier in der Firma haben,
00:10:46: oder nicht,
00:10:47: von uns ist aber bis heute außer der Firma verkauft genau es würde auch Selb verkauft das bisschen funktional reaktive Programmierung beschreibt mit einer eigenen Library auch.
00:10:57: Und in diesem Buch werden diese sechs Fehlerklassen beschrieben oder auch definiert.
00:11:02: Die halt auftreten wenn man nicht funktional reaktiv programmiert man kann es ja immer kannst du lösen das Buch heißt functional reactive programming an ist von 2016 das fanmag was sie damals hätten ist halt sodium.
00:11:17: Am
00:11:19: Das war ein Buch was aus der Praxis kamen sie Leute haben einfach komplexe kueez entwickelt festgestellt es ist alles schwierig und haben dann selbe sind sodium entwickelt und dann dann später festgestellt,
00:11:31: das eigentlich genau das gleiche gemacht haben was es in der funktionellen Welt gibt und z.b. von Heinrich Apfelmus um 2011 in der Bibliothek reactive banana gemacht wurde,
00:11:42: das haben sie FRP genannt und er hat gesagt das ist ein formales System.
00:11:46: Das hat gewisse algebraische Eigenschaften das heißt immer wenn ich meine deutlich weniger Operatoren zusammen stecke dann ist gewährleistet dass meine Fehlerklassen,
00:11:58: dann immer noch Gesetzes gesichert sitzt das mein Projekt und es meine Anwendung nicht in diese fehlerklasse reinpasst und die haben sechs gefunden.
00:12:07: Und die waren Bestandteil deiner Masterarbeit und die hast du abgeklopft.
00:12:13: Ja ich kann so ein zu erwähnen es gibt die eine die glaube ich sehr wichtig ist wenn man so ein reaktive Programmierung denkt dann denkt man glaube ich oft an so subscribe Blöcke wo man 1 Stream zuhört und dann Aktion ausführt.
00:12:27: Und wenn man viele subscribes macht dann weiß man halt nicht mehr genau die Reihenfolge in der die sich in der diese subscribes ausgeführt werden und das ist glaube ich eine Hauptfehler Klassen die wir umgehen können ewig funktional schreiben.
00:12:42: Und dich auch analysiert hatte ansonsten war eine der anderen Fehlerklassen auch Messi state falls für mich auch eine fehlerklasse allgemeines die durch funktionale Programmierung bisschen umgangen wird oder vermieten,
00:12:56: dann kannst du mal auf Messe steht eingehen also schmutziger Zustand nicht also grundlegend erstmal wenn man.
00:13:03: Firma state definiert und die anderen Stellen im Code verändert dann weiß man irgendwann nicht mehr genau was das Date aktuelles.
00:13:11: Wo ich den genau brauche also eine Sachen und wenn man natürlich ein state hat wo man das Verhalten des Dates bei der Deklaration komplett definiert dann kriegt man alle Infos direkt bei der ersten Teile die man liest.
00:13:25: Neues Lied ist das coole ist dass man eher so declarative unterwegs ist dass man sagt es gibt diesen state der hängt von dem anderen state über diesen Strom ab und bin irgendwas kommt dann gibt es diese zustandslose Funktion mit der ich dann,
00:13:39: mein state Anpassung und das ist eine sehr sauber Art und Weise des zu spezifizieren haber.
00:13:49: Es ist unübersichtlich irgendein so verteilst es ja dann doch auf ganz viele Orte in KODi über alle möglichen Streams irgendwie miteinander verknüpft werden können.
00:14:01: Ja ich ich glaube hast du am Anfang wissen erwähnt dass die fachliche Trennung der wichtig ist vor allem und so Lesbarkeit aufzuwachen,
00:14:08: und ich glaube es auch eine der großen hören die dann übrig bleibt weil wenn man den Ansatz verfolgt dann hat man technisch gesehen sehr viel Ordnung rein gebracht aber muss halt aufpassen dass,
00:14:20: fachlich der Code trotzdem an den richtigen Stellen liegt sodass.
00:14:24: Jemand der sich diesen countdown anschauen muss und was verändern muss es der dann auch logisch denken kann wo was liegen würde.
00:14:34: Etwas zum Beispiel für eine Fachlichkeit wir haben.
00:14:39: Es gibt ziemlich viele Möglichkeiten die Curry Parameter aus einer URL raus zu lesen mit nächstes.
00:14:46: Und wenn man da verhalten eigenen Stream schreibt der in eigenen Service schreibt der auch Creeper uns benannt ist dann kann halt jeder egal wo er in der Anwendung ist wissen dass er auf diesen Service zugreifen muss um sich im Körper ran zu holen.
00:15:00: So hast du halt den Stream initial definiert um Service zu dass du weißt dort sind die aktuellen grey Parameter die immer aktuell gehalten werden,
00:15:10: aber gleichzeitig hast du auch diese Ordnung wo du weißt hier ist diese Fachlichkeit und ich nenne nutzen wann immer ich will,
00:15:17: also Schnitt und fachliche Komponenten und diese Komponenten haben jetzt als Schnittstelle Streams das ist Sorgen das meine Sicht.
00:15:25: Hamm Asos aus meiner na Innenarchitektur sich da wo es interessant wird dass du halt als Schnittstellen zu deinen Komponenten nicht Methodenaufrufe hast oder irgendwelche konstanten sondern streams,
00:15:39: ja ist ja auch die Frage also in meiner Masterarbeit habe ich auch verglichen den älteren Anwendung habe ich natürlich oft gesehen dass zwischen Komponenten auch kommuniziert wird mit,
00:15:48: nicht konstanten sondern Variablen die in verändert werden können so dass du eine andere Komponente eine Referenz gibst und die kann die variabel noch mal verändern,
00:15:58: so dass das Chaos natürlich deutlich größer wird deswegen glaube ich dieser Fokus auf.
00:16:03: Kommunikation nur über Streams ermöglicht es dass du es in Ordnung hast weil du weißt die Variable die du hier in deiner Komponenten definiert hast wird nirgendwo anders,
00:16:13: würde meinen da wirklich von einer Komponenten Zugriff auf eine interne variable rausgeben und es nicht immer über irgendeine Methode absichern zu dass man zum Kunst unter Kontrolle hat Verdi,
00:16:24: sind die Utopie in der das nie passiert,
00:16:28: die gibt's glaube ich nicht so wirklich technisch kann man das sollte man das nicht tun.
00:16:35: Okay also die Idee ich mach Streams und Komponenten miteinander zu kapseln Komponenten und fachlich geschnitten und dadurch weiß ja auch wo ich nachgucken muss wenn der wenn da irgendwas ist.
00:16:47: Und das löst das Problem dass das Mass ist AIDS und ich glaube insbesondere auch des Updates von Messi stats.
00:16:57: Also bei diesem Buch dana doch da war es ja so dass dadurch dass die,
00:17:04: Streams alle deklarativ sowohl in diesem Medium Framework also an dem älteren aus der auf der Haskell welticreativ einmal gesetzt werden und sichergestellt ist dass sie z.b. zudem frei sind.
00:17:17: Hm, das mit Eriks auch machen was genau heißt zyklenfrei erleben dass ich die Events so zusammen stecke das in ich ein Event zur im Kreis Reinach Harnsäure,
00:17:28: und dann kommt ja das hatte ich auch im Kontext der Masterarbeit getestet und das ist halt wirklich was was du.
00:17:35: Mit Access gar nicht umgehen kannst automatisiert das heißt du musst wirklich,
00:17:40: Manuel drauf achten dass du nicht auf so eine Rekursion in so einer Rekursion landest genau dann nutze ich jetzt die Möglichkeit hier im Podcast einen zuhören um mir zu sagen dass ich großer Fan der bin davon Windows nET Framework so baut das,
00:17:55: der Konstruktion sichergestellt ist dass solche Fehler nicht passieren können.
00:18:01: Weil ansonsten muss ich halt drauf lassen dass deine Test das Abfackeln Abfall so also ab testen.
00:18:10: Wenn ich dann fliegst du irgendwie beim Kunden um die Ohren oder was ich hinzufügen dass wir ja in Engeler aber auch sehr viel Weiterentwicklung haben und jetzt kommen auch mit längerer 16 bis eingelassenes und es scheint so als ob die auch.
00:18:24: Dort mehr mehr drauf achten dass die wirklich so eine Fehler abfangen und.
00:18:30: Vielleicht bisschen extra es Schwachstellen verbessern.
00:18:35: Das bedeutet dass so langsam die Ergebnisse die man so 2011 schonmal hatte in die Mainstream Frameworks reingehen.
00:18:45: In deiner Arbeit hast du dich herum verschiedene funktionale framebox gekümmert jemandes konkret ja das waren praktisch einerseits waren zwei Web-Frameworks also Angela und Welt,
00:18:57: die haben beide damit eggshells und fällt mit einem mit einer eigenen Implementierung,
00:19:04: diesen dieses Modell von einem Stream so dass die beide gut untersucht werden können in dem Kontext und,
00:19:12: Tiefe der funktionale Teil also Elke es nennt sich selber glaube ich auch funktional laut offizieller Definition aber eingeladen zwei sind ja eher so Web Frameworks die glaube ich nicht,
00:19:23: sagen dass ich auf dich habe schon rx-ds Beispiele gesehen wurde.
00:19:30: Eventhandler mit Seiten Effekten dranhängen also das Gegenteil von funktional egal also kommt mir nicht zurück Entschuldigung.
00:19:40: Ja genau so die habe ich dann untersucht die kommen kam auch gelegen ansonsten gäbe es noch view als Web-Frameworks dass man untersuchen könnte you geht nämlich auch in so eine Richtung wie eingelassene ist wo man Abhängigkeiten darstellt.
00:19:53: Amazon,
00:19:54: SodaStream sind auf eine gewisse Weise also hätte man das auch testen können während react jetzt nicht wirklich einen Streams anbietet aus dem Haus also dann ist man schon irgendwas Pierre XPS hinzufügen in der Länge aber die Cygnet,
00:20:08: Hengeler sind als ich mature geflogen bin ist auch schon länger her.
00:20:14: Gefühlt eher etwas was unter der Haube angedacht ist damit Engler mit seinen Komponenten Framework geht und für die Anwendungsfach Entwicklung scheint sie immer noch RX zu öffnen oder,
00:20:24: nee das sächlich muss ich mal jetzt singles für alles was nicht asynchrone Entwicklung ist das heißt,
00:20:31: für resto Quest und sowas muss man immer noch actuaires.
00:20:36: Aber alles was ausschließlich für die Benutzeroberfläche ist wird jetzt mit cygnes abgedeckt so eine Art Rapper die einfach um Wert sich rum bringen damit man dann,
00:20:45: dynastes ohne kontrollierte Update Funktion hat das ist wenn sich ein Wert updated dann werden alle Werte dir davon abhängig sind auch geupdatet.
00:20:54: Und dass er wirklich Singles ohne dass du halt dich mit expert rum quälen musst,
00:21:00: hätte diese kontrollierte Update-Funktion ist das was aus der funktionalen Welt und die Einführung von Zeit einfach war also wenn man wenn man guckt in die funktionalen Papier alt und ist man erstmal so papers Artikel.
00:21:14: Der ist mir erstmal voll geflasht wenn man denkt man ist in einer Mathe Vorlesung mit komplizierten Buchstaben und auf einmal gibt Abbildung von Zeit,
00:21:22: werden auf andere Zeitwert aber was sie machen ist halt die Event Behandlung zu diskreditieren zu takten.
00:21:31: Und zu sagen jetzt gibt es einen Event und wenn die wenn Planung durch ist dann ist der nächste Zeitpunkt weiter.
00:21:38: Und in sodium Diamir aus der praktischen bekommen haben das dann Transaktion genannten sie auch genauso was ist und das finde ich total gut weil es gibt Kontrolle und.
00:21:47: Gib Determinismus rein in diese Event Behandlung also man sie einfach so rumfliegen lässt und keiner weiß genau wann jetzt die nächste Taktung ist.
00:21:54: Dann hat man alle Freuden und Herausforderungen nichtsequentielle Programmierung auf einmal eine Hacke,
00:22:00: ja auf jeden Fall softwarevergleich ist auch spannend zu sagen das ist kontrollierte updaten eingießen und zeitliche Achse ist,
00:22:09: das habe ich glaube ich auch zum Verständnis dafür habe ich glaube ich 2 Monate meine Masterarbeit erst mit braucht bevor ich realisiert habe dass diese Zeitachse eigentlich.
00:22:17: Er sich darauf bezieht wann sich ein Element aktualisiert.
00:22:22: Deswegen glaub ist ein ganz wichtiges Thema auf das man achten muss wenn man noch mal Zeit haben reden noch mal.
00:22:30: Über die Definition von Zeit und verteilten Systemen kann man ganz viel kann man ganz viel lernen fürs immer so interessant dass ich das auf einmal beigui Architektouren wieder Spiel.
00:22:40: Noch mal zur Arbeit konkret angeguckt hast du dir also jetzt eigentlich Welt oder slaty,
00:22:44: ich sag's Welt aber ich hören unsere Firma aufs Feld II deswegen bin ich immer noch nicht sicher okay bin ich jetzt Welt wir meinen Augen für minecraft was andere Leute aufs mit Ihnen.
00:22:55: Also svelt und Engler waren die beiden großen genau Prämie für den verglichen hast wer war der Gewinner.
00:23:01: Engel aber bisschen boilerplate heavy aber dafür etwas kontrolliert da kommt auch davon weil Angela halt type Script first approach hast das heißt alles ist typisiert und du hast halt viel mehr Kontrolle,
00:23:13: was fällt bist du nicht unbedingt limitiert auf type Script.
00:23:17: Hast dafür aber mehr Flexibilität in Sachen Fehlerklassen Vermeidung also die haben da mehr dran gedacht Sachen wie Rekursion zu vermeiden und frühzeitig abzufangen,
00:23:29: deswegen Hatzfeld theoretisch gewonnen obwohl er kontrolliert da ist was halt für den funktionalen Ansatz auch wichtiger sein könnte.
00:23:39: Wenn du noch mal wenn du meinst dass Engeler kontrollierter ist was meinst du meine kontrollierte also die Typisierung von Taschengeld die Typisierung ist stark so dass er halt frühzeitig erkennt wenn du irgend falschen Typen gegeben hast
00:23:50: Mansfeld fällt kann man auch in Salzburg machen aber ich hatte bin bei der,
00:23:55: Taize gibt Implementierung von space doors also den Streams Mansfeld ab und zu oft Typen Probleme gestoßen okay meines Erachtens einfach weiß nicht type Script first ist.
00:24:05: Also wird es wohl nachträglich drauf gebaut ein bisschen meckern kann nicht finde es ist doch.
00:24:14: Bei größeren Anwendungen gut statische Typen zu haben aber wenn ich das genau rausgehört habe Hatzfeld in Sachen Stabilität und Robustheit gewonnen bei mir Fehlerklassen ausgemerzt wurden genau.
00:24:28: Tische und wir haben auch und mit zig Mails kommen ja zu langsam die alten Erkenntnisse auch bei Hengeler rein dann wird es da auch besser.
00:24:39: Gut,
00:24:40: dann haben wir keinen ganz klaren Gewinner also man muss sich immer noch selber entscheiden was man möchte wie immer im Leben weiß und nein es ist bunt es ist farbig,
00:24:50: so Frage für dich mit deinem Blick auf die aktuelle Web Welt die sich ja immer noch rasend weiterentwickelt was finden für dich aktuell so dich
00:25:01: spannendsten Entwicklung so mit dem. Reaktive moderne Weboberflächen.
00:25:07: Ich halt als Engel Entwickler bei uns in der Firma bin etwas subjektiv aber ich finde Hengeler 16 Subways mit Singles und jetzt auch im HTML-Template Ding das Messfeld ähnelt.
00:25:20: Ist also als Webentwickler echt vielversprechend dass die Möglichkeit singles in Access observables auch umzuwandeln.
00:25:28: Bring meines Erachtens enkela extrem weit an die Spitze was state Management angeht und funktionale Reaktive oder nur reaktive Programmierung.
00:25:38: Da die anderen freemax meistens nur eins der beiden haben entweder sowas ähnliches wie signaled also Store Prinzipien oder Streams 4 XPS.
00:25:49: Bin ich gut ich war ja auch Engler Fan bis sie RX Triester Südkontinent reingesetzt hatten dann habe ich mich etwas emotional entfernt letzte Frage was waren denn für dich zu die wichtigsten spannendsten Erkenntnis aus deiner Arbeit.
00:26:04: Also nachdem ich zwei Monate gebraucht habe um wirklich diese Konzepte alle zu verstehen hat sich für mich wirklich so eine neue Art zu entwickeln angeeignet habe ich mir.
00:26:14: Und zwar ein Engel halt dieses deklarative schreiben.
00:26:19: Ich habe jetzt auch neue Mitarbeiter bei mir im Projekt der viel Erfahrung hat auch mit react und Co und der hat mit mir sich ausgetauscht wie er dran gewöhnt ist dass man oben Variablen deklariert dann drunter Funktion und dann,
00:26:32: notiert man halt die Variablen wie auch immer man möchte.
00:26:36: Und jetzt habe ich diesen neuen enkela Entwicklungsansatz wo man oben alles deklariert inklusive des Verhaltens von variable so dass man vollständig dicker tief ist und auch funktional.
00:26:48: Und ich glaube dieser Ansatz ist allgemein einfach besser als der andere anders der weniger dekorative.
00:26:56: Und habe auch den Kollegen von mir der ROI Act und Kokand,
00:27:01: stark davon begeistern können dass dieser Anlass uns viel klinkerlauf bringt das klingt gut vielleicht können wir ja mal wenn wir so Küsschen Lücke auslastungs Mücken haben dass man beim Blog-Artikel rausziehen.
00:27:16: Wer ist auf dem Tisch wunderbar dann danke ich dass du heute dabei warst kannst du nächsten Mal tschüss.
Neuer Kommentar