Wenn man in Figma auch noch UI-Verhalten hinterlegen könnte, sähe es wohl genau so aus. Das Web fühlt sich seit Jahren so an, als würde es rückwärts laufen: Wir haben Flash verloren und sind zu HTML5 gewechselt, aber der Strom kreativer Leute, die damit viele Dinge gebaut haben, ist irgendwie versandet.
Früher gab es in IDEs wie Visual Basic, Delphi und Borland JBuilder einfache Application-Builder, und auch Eclipse hatte eine Zeit lang einen einfachen Swing-UI-Builder. Im Web gab es Dreamweaver, FrontPage und ähnliche Tools.
Das heißt nicht, dass diese Tools perfekt gewesen wären, aber ein richtiger Ersatz ist nicht entstanden. Heute „designt“ man in Figma, und das Entwicklerteam implementiert danach fast alles wieder von Grund auf neu. Das wirkt zutiefst verschwenderisch.
Wie verschwenderisch es tatsächlich ist, weiß ich nicht genau. Es gibt Überschneidungen, aber meiner Erfahrung nach nicht sehr viele; der Großteil der Frontend-Zeit fließt in das Verhalten hinter den Komponenten, Geräteinteraktionen, Sicherheit und API-Aufrufe.
Ich glaube nicht, dass visuelle UI-Builder der Weg nach vorn gewesen wären. Für statische UIs passen sie gut, aber sobald man dynamische Constraints ausdrücken will, brechen sie ein.
Figma zeigt das ebenfalls. Für schnelle Prototypen ist es nützlich, Elemente absolut zu positionieren und Symbole zu verwenden; sobald aber Autolayout ins Spiel kommt, stößt man auf fast genau dieselben Probleme wie bei CSS Flexbox und Grid. Nur eben in einem deutlich schlechteren System ohne Versionsverwaltung, Refactoring-Tools und ChatGPT.
Auch subjektiv ist es viel einfacher, direkt mit einer XML-Struktur zu arbeiten, als sich durch 15 Gruppen zu doppelklicken oder per Cmd-Klick hineinzubohren, nur um eine bestimmte Komponente auszuwählen und dann Eigenschaften in Textform zu ändern. Deshalb scheinen Apple und Android ihre Interface-Builder in Richtung DSL verdrängt zu haben.
VB6 war mit Abstand die beste IDE für Leute, die sofort Ergebnisse liefern mussten.
Als ich Mitte der 2000er PC-basierte CCTV-Systeme installierte, führte ich einem Restaurantkunden den PC vor und zeigte ihm den Musikdienst Pandora. Er fragte, ob man das über die Lautsprecher im Restaurant hören könne. Mit einem 3,5-mm-auf-RCA/BNC-Kabel aus meinem Auto schloss ich es an den Verstärker an, und der Kunde war begeistert, als wäre er im 21. Jahrhundert angekommen.
Danach fragte er, ob man die Musik kurz pausieren und Durchsagen an die Gäste machen könne. Also legte ich auf dem Desktop eine Verknüpfung zum Soundmixer sndvol32.exe an. Als er sagte, die Mitarbeiter sollten das nicht im Büro, sondern am Tresen machen können, bat ich um eine Büroklammer und 30 Minuten Zeit.
Ich holte verdrilltes Cat-5-Kabel und eine alte beige IBM-Maus mit zwei Tasten aus dem Auto, verlegte die Leitung vom Büro bis zur Rezeption, lötete ein Adernpaar des Cat 5 an den linken Mausklick-Schalter und schraubte den Mauskörper mit Trockenbauschrauben wie einen ausgestopften Hirschkopf an die Wand. Auf der Büroseite hatte ich keinen DB-25 dabei, also lötete ich die Leitungen an eine Büroklammer und verband sie zuverlässig mit dem LPT-Port des PCs.
Der Rest war einfach. Ich suchte nach „VB6 Volume Mixer“, lud etwas herunter, öffnete die Stummschalt-Checkbox für Stereo Mix, kopierte den Einzeiler in einen Timer und prüfte alle 100 ms, ob der LPT-Pin kurzgeschlossen war. Falls ja, wurde Stereo Mix stummgeschaltet und die Stummschaltung des Mikrofons aufgehoben.
Das war ohne vorherige Planung direkt vor Ort gebaut, und dieser Kunde ist bis heute Kunde geblieben. Für einen Alleskönner-Handwerker war es wirklich ein großartiges Werkzeug.
Ich glaube, vor ein paar Jahren auf Reddit einen Kommentar gelesen zu haben, in dem jemand gesehen hatte, wie Restaurantmitarbeiter auf eine an der Wand befestigte Maus drückten, um Durchsagen zu machen. Ich meine, es ging um Benachrichtigungen, dass Bestellungen fertig sind. Die Konstruktion war so einzigartig, dass es gut möglich ist, dass es genau dieser Fall war.
Ich mag VB6 auch, aber das hier wirkt wie 10 % VB6 und 90 % MacGyver. Diese Person braucht die Phoenix Foundation unbedingt.
„VB6 war die beste IDE“ stimmt nicht ganz; es war Platz zwei. Die beste war Delphi, und heute ist es vielleicht Lazarus.
Wirklich gut gemacht, und wenn jetzt noch Delphi kommt, könnte ich mit dem Zustand der Entwicklungsumgebungen wieder zufrieden sein.
Quellcode: https://github.com/BAndysc/AvaloniaVisualBasic6
Da der Kommentar gelöscht wurde, der auf Lazarus hingewiesen hatte: Lazarus kenne ich und nutze es für alte Projekte. Ich hätte aber gern eine moderne Version, die auch im Browser läuft, und .NET scheint für diesen Zweck, wie in diesem Beispiel, ganz brauchbar zu sein. Vielleicht auch auf Basis von https://pascalabc.net/en/.
Kein Witz: Pascal/Lazarus- und Common-Lisp-Programmierung machen mir immer noch mehr Spaß als heutige Tools; da ist keine Unsicherheit, nur Freude und Produktivität.
Nur weil man .NET-basierte Technik im Client oder im Browser verwenden kann, heißt das nicht, dass man es auch tun sollte. Solche Frameworks bringen meist große Kompromisse mit sich, und sobald man sie einsetzt, wird man schnell abhängig.
Zum Beispiel ist ein Wechsel von MVC zu MVC viel einfacher als von WebForms zu Blazor/AvaloniaUI/DotVVM.
Mehr Turbo Pascal/C++ wäre nötig.
Ende der 90er und Anfang der 2000er war ich mit VB5/6 wirklich produktiv. Ich habe viele Utility-Apps gebaut, die alle möglichen kleinen Probleme lösten, und es war unglaublich einfach, sie wie aus Bausteinen zusammenzusetzen. Ich wollte auf vb.net umsteigen, aber es fühlte sich nicht gleich an.
Der VB6-WinForms-Builder hier ist nahezu zu 100 % identisch mit dem WinForms-Builder im aktuellen Visual Studio 2022.
Ich benutze ihn täglich stundenlang: ein paar Komponenten auf ein Formular ziehen, etwas Logik hinzufügen, und in wenigen Minuten läuft eine kleine Desktop-App.
Seit 2021 ist die Unterstützung besser, sodass ich leider in C# code, aber wegen der Lesbarkeit halte ich VB.NET ehrlich gesagt für überlegen.
Ich kenne dieses Gefühl. An der Uni war ich der VB6-Mensch für Testautomatisierung von Geräten über GPIB, UART, RS422 usw. und habe als Doktorand in der Elektrotechnik ziemlich gut daran verdient. Als ich meinen Job als Tutor aufgab, wurde ich durch jemanden ersetzt, der für die Geräte zuständig war, und den Großteil meines Masterstudiums habe ich damit bezahlt.
Erinnert an eines der besten Programmierwerkzeuge seiner Zeit. Der Schritt von BASIC zu Visual Basic war ein Schock. Auch heute vermisse ich solche Tools, und die heutigen sogenannten No-Code- oder Low-Code-Tools funktionieren ziemlich anders. Ich denke immer noch, dass das beste Low-Code das ist, was VB damals gemacht hat
Ehrlich gesagt: Wenn man einen reaktiven Programmieransatz verfolgt, dürfte es gar nicht so schwer sein, der IDE auch die passende User Experience mitzugeben
Die meisten Framework-Entwickler scheinen Produktivität als zentrale Kennzahl zu vergessen. Das mag etwas unfair sein, aber der Mangel an visuellen Tools ist enttäuschend
Wow, VB6 war genau das Tool, das mich als Kind in die Softwareentwicklung gebracht hat. Genau die Nostalgie, die ich heute gebraucht habe
Ging mir genauso. Aber mit jugendlichem Eifer erklärte ich BASIC bald zu einer nutzlosen Sprache und wechselte zu MS Visual C++ 6
C++ und MFC waren aus anderen Gründen noch schlimmer, aber danach entdeckte ich Linux, und der Rest ist bekannt
Trotzdem habe ich bis heute nichts gefunden, das so mächtig war wie RAD in VB6. Heutzutage baut man UIs wie ein kompletter Höhlenmensch, indem man sie von Hand anordnet oder XML schreibt
Bei mir auch. Ich habe mit einer Raubkopie von VB6 und einem Website-Download angefangen, der ziemlich gut erklärte, wie man es benutzt
Ich erinnere mich noch daran, Dinge gemacht zu haben wie DMA auf Bilder über die Win32-API, um pixelgenaue Kollisionserkennung zwischen Sprites zu bauen. Das waren schöne Zeiten
Für performante DLLs nahm man Visual C++, und wenn man sie dann aus VB verwendete, war VB der perfekte Sweet Spot
Beim Durchstöbern des GitHubs des Autors scheint er auch eine UI-Bibliothek für den klassischen Win9x-Look-and-Feel zu pflegen: https://github.com/BAndysc/Classic.Avalonia
Gefällt mir, ich würde gern selbst eine App damit bauen
Allein diese Bibliothek wäre es wert, separat gepostet zu werden, genauso wie die VB6-Nachbildung. Die Details sind großartig und machen Lust, Avalonia wieder genauer anzuschauen
Ich vermisse diese Zeiten. Jede IDE hatte einen zeilenweisen Debugger
Angular-/React-Anwendungen haben so etwas auch nach Jahren nicht, und die Syntax verwirrt mich immer noch
So hatte ich noch nie darüber nachgedacht, aber es stimmt. Für React gibt es ordentliche Browser-Plugin-Tools, aber der Weg zurück in die IDE ist immer noch schmerzhaft
Was man schreibt und was tatsächlich ausgeführt wird, unterscheidet sich so stark, dass man Single-Page-Apps besser als eine andere Sprache betrachtet. Firefox hat einen ordentlichen JavaScript-Debugger, und wenn die Ausgabe des Build-Tools Sourcemaps erzeugt, funktioniert das gut
Schön. Ich habe einen kleinen Bugreport
Ich habe einen Button hinzugefügt, ihn doppelt angeklickt, um das Codefenster zu öffnen, einfachen Code wie MsgBox "Hello" eingegeben und dann oben rechts im Codefenster auf das x geklickt
Der Code wurde nicht gespeichert. Um den Code zu aktualisieren, muss man das Projekt „Save“ oder „Run“ ausführen. Die alte VB-IDE merkte sich alles, was man eingab; das ist hier anders
Beim Button-Control funktioniert es, aber ein Label-Control scheint das Click-Event partout nicht auszulösen
Ich erinnere mich, dass in den 90ern viele kleine Firmen mit VB und Access liefen. Das hat Nichtprogrammierern wirklich viel Macht gegeben
Ich wünschte, es gäbe etwas Ähnliches fürs Web. Einige Low-Code-Lösungen sehen oberflächlich ähnlich aus, aber was VB anders machte, war, dass daraus eine vollständige App wachsen konnte, ohne dass man zwischendurch umsteigen musste. Wenn ich sehe, wie komplex Entwicklung und Deployment heutiger Web-CRUD-Apps sind, bin ich immer wieder erstaunt
Das Web ist als App-Plattform wirklich miserabel. Es ist aus zwei Gründen populär
Erstens braucht man keine Installation und muss sich nicht mit Betriebssystem-Packaging befassen. Denn Packaging ist auf allen Betriebssystemen schrecklich
Zweitens: SaaS ist DRM. Wenn man Software in der Cloud hostet, kann sie nicht raubkopiert werden, und man kann leicht monatliche Abogebühren verlangen
Wenn man einen dritten Grund nennen will, dann, dass Kollaborationsfunktionen leichter zu bauen sind; das gilt aber nur für manche Software
1 Kommentare
Hacker-News-Kommentare
Wenn man in Figma auch noch UI-Verhalten hinterlegen könnte, sähe es wohl genau so aus. Das Web fühlt sich seit Jahren so an, als würde es rückwärts laufen: Wir haben Flash verloren und sind zu HTML5 gewechselt, aber der Strom kreativer Leute, die damit viele Dinge gebaut haben, ist irgendwie versandet.
Früher gab es in IDEs wie Visual Basic, Delphi und Borland JBuilder einfache Application-Builder, und auch Eclipse hatte eine Zeit lang einen einfachen Swing-UI-Builder. Im Web gab es Dreamweaver, FrontPage und ähnliche Tools.
Das heißt nicht, dass diese Tools perfekt gewesen wären, aber ein richtiger Ersatz ist nicht entstanden. Heute „designt“ man in Figma, und das Entwicklerteam implementiert danach fast alles wieder von Grund auf neu. Das wirkt zutiefst verschwenderisch.
Figma zeigt das ebenfalls. Für schnelle Prototypen ist es nützlich, Elemente absolut zu positionieren und Symbole zu verwenden; sobald aber Autolayout ins Spiel kommt, stößt man auf fast genau dieselben Probleme wie bei CSS Flexbox und Grid. Nur eben in einem deutlich schlechteren System ohne Versionsverwaltung, Refactoring-Tools und ChatGPT.
Auch subjektiv ist es viel einfacher, direkt mit einer XML-Struktur zu arbeiten, als sich durch 15 Gruppen zu doppelklicken oder per Cmd-Klick hineinzubohren, nur um eine bestimmte Komponente auszuwählen und dann Eigenschaften in Textform zu ändern. Deshalb scheinen Apple und Android ihre Interface-Builder in Richtung DSL verdrängt zu haben.
VB6 war mit Abstand die beste IDE für Leute, die sofort Ergebnisse liefern mussten.
Als ich Mitte der 2000er PC-basierte CCTV-Systeme installierte, führte ich einem Restaurantkunden den PC vor und zeigte ihm den Musikdienst Pandora. Er fragte, ob man das über die Lautsprecher im Restaurant hören könne. Mit einem 3,5-mm-auf-RCA/BNC-Kabel aus meinem Auto schloss ich es an den Verstärker an, und der Kunde war begeistert, als wäre er im 21. Jahrhundert angekommen.
Danach fragte er, ob man die Musik kurz pausieren und Durchsagen an die Gäste machen könne. Also legte ich auf dem Desktop eine Verknüpfung zum Soundmixer
sndvol32.exean. Als er sagte, die Mitarbeiter sollten das nicht im Büro, sondern am Tresen machen können, bat ich um eine Büroklammer und 30 Minuten Zeit.Ich holte verdrilltes Cat-5-Kabel und eine alte beige IBM-Maus mit zwei Tasten aus dem Auto, verlegte die Leitung vom Büro bis zur Rezeption, lötete ein Adernpaar des Cat 5 an den linken Mausklick-Schalter und schraubte den Mauskörper mit Trockenbauschrauben wie einen ausgestopften Hirschkopf an die Wand. Auf der Büroseite hatte ich keinen DB-25 dabei, also lötete ich die Leitungen an eine Büroklammer und verband sie zuverlässig mit dem LPT-Port des PCs.
Der Rest war einfach. Ich suchte nach „VB6 Volume Mixer“, lud etwas herunter, öffnete die Stummschalt-Checkbox für Stereo Mix, kopierte den Einzeiler in einen Timer und prüfte alle 100 ms, ob der LPT-Pin kurzgeschlossen war. Falls ja, wurde Stereo Mix stummgeschaltet und die Stummschaltung des Mikrofons aufgehoben.
Das war ohne vorherige Planung direkt vor Ort gebaut, und dieser Kunde ist bis heute Kunde geblieben. Für einen Alleskönner-Handwerker war es wirklich ein großartiges Werkzeug.
Wirklich gut gemacht, und wenn jetzt noch Delphi kommt, könnte ich mit dem Zustand der Entwicklungsumgebungen wieder zufrieden sein.
Quellcode: https://github.com/BAndysc/AvaloniaVisualBasic6
Da der Kommentar gelöscht wurde, der auf Lazarus hingewiesen hatte: Lazarus kenne ich und nutze es für alte Projekte. Ich hätte aber gern eine moderne Version, die auch im Browser läuft, und .NET scheint für diesen Zweck, wie in diesem Beispiel, ganz brauchbar zu sein. Vielleicht auch auf Basis von https://pascalabc.net/en/.
Kein Witz: Pascal/Lazarus- und Common-Lisp-Programmierung machen mir immer noch mehr Spaß als heutige Tools; da ist keine Unsicherheit, nur Freude und Produktivität.
Zum Beispiel ist ein Wechsel von MVC zu MVC viel einfacher als von WebForms zu Blazor/AvaloniaUI/DotVVM.
Ende der 90er und Anfang der 2000er war ich mit VB5/6 wirklich produktiv. Ich habe viele Utility-Apps gebaut, die alle möglichen kleinen Probleme lösten, und es war unglaublich einfach, sie wie aus Bausteinen zusammenzusetzen. Ich wollte auf vb.net umsteigen, aber es fühlte sich nicht gleich an.
Ich benutze ihn täglich stundenlang: ein paar Komponenten auf ein Formular ziehen, etwas Logik hinzufügen, und in wenigen Minuten läuft eine kleine Desktop-App.
Seit 2021 ist die Unterstützung besser, sodass ich leider in C# code, aber wegen der Lesbarkeit halte ich VB.NET ehrlich gesagt für überlegen.
Erinnert an eines der besten Programmierwerkzeuge seiner Zeit. Der Schritt von BASIC zu Visual Basic war ein Schock. Auch heute vermisse ich solche Tools, und die heutigen sogenannten No-Code- oder Low-Code-Tools funktionieren ziemlich anders. Ich denke immer noch, dass das beste Low-Code das ist, was VB damals gemacht hat
Die meisten Framework-Entwickler scheinen Produktivität als zentrale Kennzahl zu vergessen. Das mag etwas unfair sein, aber der Mangel an visuellen Tools ist enttäuschend
Wow, VB6 war genau das Tool, das mich als Kind in die Softwareentwicklung gebracht hat. Genau die Nostalgie, die ich heute gebraucht habe
C++ und MFC waren aus anderen Gründen noch schlimmer, aber danach entdeckte ich Linux, und der Rest ist bekannt
Trotzdem habe ich bis heute nichts gefunden, das so mächtig war wie RAD in VB6. Heutzutage baut man UIs wie ein kompletter Höhlenmensch, indem man sie von Hand anordnet oder XML schreibt
Ich erinnere mich noch daran, Dinge gemacht zu haben wie DMA auf Bilder über die Win32-API, um pixelgenaue Kollisionserkennung zwischen Sprites zu bauen. Das waren schöne Zeiten
Beim Durchstöbern des GitHubs des Autors scheint er auch eine UI-Bibliothek für den klassischen Win9x-Look-and-Feel zu pflegen: https://github.com/BAndysc/Classic.Avalonia
Gefällt mir, ich würde gern selbst eine App damit bauen
Ich vermisse diese Zeiten. Jede IDE hatte einen zeilenweisen Debugger
Angular-/React-Anwendungen haben so etwas auch nach Jahren nicht, und die Syntax verwirrt mich immer noch
Schön. Ich habe einen kleinen Bugreport
Ich habe einen Button hinzugefügt, ihn doppelt angeklickt, um das Codefenster zu öffnen, einfachen Code wie
MsgBox "Hello"eingegeben und dann oben rechts im Codefenster auf das x geklicktDer Code wurde nicht gespeichert. Um den Code zu aktualisieren, muss man das Projekt „Save“ oder „Run“ ausführen. Die alte VB-IDE merkte sich alles, was man eingab; das ist hier anders
Ich erinnere mich, dass in den 90ern viele kleine Firmen mit VB und Access liefen. Das hat Nichtprogrammierern wirklich viel Macht gegeben
Ich wünschte, es gäbe etwas Ähnliches fürs Web. Einige Low-Code-Lösungen sehen oberflächlich ähnlich aus, aber was VB anders machte, war, dass daraus eine vollständige App wachsen konnte, ohne dass man zwischendurch umsteigen musste. Wenn ich sehe, wie komplex Entwicklung und Deployment heutiger Web-CRUD-Apps sind, bin ich immer wieder erstaunt
Erstens braucht man keine Installation und muss sich nicht mit Betriebssystem-Packaging befassen. Denn Packaging ist auf allen Betriebssystemen schrecklich
Zweitens: SaaS ist DRM. Wenn man Software in der Cloud hostet, kann sie nicht raubkopiert werden, und man kann leicht monatliche Abogebühren verlangen
Wenn man einen dritten Grund nennen will, dann, dass Kollaborationsfunktionen leichter zu bauen sind; das gilt aber nur für manche Software