Ich habe eine gute Nachricht für Sie, die Zukunft der Softwareentwicklung hat begonnen! Nun, um genau zu sein, das nächste große Ding in der Zukunft der Softwareentwicklung ist da… wieder.
Table of Contents
Funktioniert überall, einfach RAM hinzufügen
Ich habe diese Denkblockade wegen des Namens Electron. Ich bin mir nicht ganz sicher, warum das so ist, aber immer wenn ich versuche, mich an den Namen dieses allgegenwärtigen Web-Frameworks zu erinnern, rufen meine kleinen grauen Zellen „Eclipse“ und ich kann trotz aller Bemühungen nicht den richtigen Namen im richtigen Moment heraufbeschwören während des gesprächigen Hin und Her eines Webinars.
Ich glaube, ich habe eine Theorie, warum dies geschieht; mein Unterbewusstsein versucht, mich davon abzuhalten, auf die dunkle Seite zu wechseln, um mit Electron plattformübergreifende Anwendungen zu erstellen.
Was ist falsch an der Verwendung von Electron?
Schauen Sie, es ist nichts falsch daran , Electron als solches zu verwenden. Ich habe Electron tatsächlich verwendet und eine App erstellt, die praktisch eine Website war, die durch das Electron-Framework und die Laufzeit gekapselt ist. Aber wie gesagt, es ist ein unersättlicher Esser. Es verbraucht jeden Teil der RAM- und CPU-Ressourcen Ihres Computers, wenn es seinen eigenen Geräten überlassen wird. Wenn Sie mir nicht glauben, führen Sie einfach eine schnelle Websuche nach „Elektronenproblemen“ durch.
Die Vorteile von Electron sind, dass es ein schneller Weg zum Markt sein kann. Wenn Sie eine Web-App haben, ist es keine große Aufgabe, diese Website oder Web-App mit dem Electron-Framework zu umschließen. Außerdem implementiert es ein Auto-Update-System, das bedeutet, dass Sie neue Versionen und Verbesserungen mit relativ geringer Reibung veröffentlichen können.
Ein Webentwickler ist nicht unbedingt ein Anwendungsentwickler
Ein paar Probleme tauchen auf. Hinter den Kulissen fast jeder Electron-App steht das Biest Node.js – Bringer von NPM, dem Node Package Manager. Das NPM ist ein hervorragendes Repository für Add-Ons, Komponenten, Module und zeitsparende Nodestuffs. Electron/Node-Entwickler können für fast alles ein Paket bekommen. Wenn Sie ein Webentwickler sind, der über einige JavaScript-Kenntnisse verfügt, können Sie mit dem NPM Komponenten einbinden, um eine Menge Arbeit zu sparen.
Ist die Verwendung von NPM nicht ein bisschen wie die Installation von Delphi-Komponenten?
Nun ja, das ist es. Bis auf einen ganz spezifischen Unterschied: Delphi wird mit einem optimierenden Compiler auf nativen Code herunterkompiliert. Wenn Sie 1000 Node-Pakete einschließen – entweder absichtlich aufgrund eines übereifrigen Optimismus oder versehentlich, weil ein Paket von einem anderen abhängig ist, das von weiteren fünf abhängt, die alle von weiteren sechs Paketen abhängen – dann haben Sie 1000 Node-Pakete in Ihrem app, auch wenn sie nur eine Seite mit der Aufschrift „ Hallo Welt “ in blinkendem Magenta anzeigt .
Wenn Sie das gleiche in einem Delphi – app tun , werden Sie eine Menge unnötigen Mülls bekommen enthalten – aber Delphi – Compiler und Verbindungsmechanismus werden ausschließen eine enorme Menge an Dinge , die Sie in Mitleidenschaft gezogen , aber nicht wirklich gewöhnen. Es kann Sie nicht vollständig vor sich selbst und Ihren komponentenhortenden Küchenspülen schützen, aber es wird Sie definitiv davor bewahren, eine Gigabyte-App zu erstellen, wenn sie höchstens ein paar MB benötigt.
Low Code ist das nächste große Ding
Richtig. Low-Code-Apps . Sie haben einige von ihnen gesehen und ja, sie können sich hervorragend zum Erstellen von Apps eignen, normalerweise entweder durch Beantworten von Fragen in einem Assistenten oder durch Ziehen und Ablegen vordefinierter visueller Blöcke, um das Programm so ziemlich wie ein Flussdiagramm auf dem Bildschirm zu zeichnen auf Steroiden.
Ja, richtig gemacht und in engen Anwendungsbereichen können diese Programmiersprachen zum Selbermachen sehr nützlich sein, insbesondere im Bildungsbereich, wo sie Anfängern helfen können, die Funktionsweise eines Programmablaufs zu visualisieren.
Wir haben sogar einen FireMonkey-Low-Code-Assistenten für RAD Studio, also ist das keine ganz schreckliche Idee.
Aber warte eine Minute…
Ist visuelle Entwicklung etwas Neues?
Ich bin alt genug, um ein Computerprogrammierer zu sein, der in den 1970er und 1980er Jahren das Programmieren gelernt hat. 1979 habe ich meine erste kostenpflichtige Bewerbung geschrieben, ein Werbetextbanner. Es war Text, weil alleswar Text. Keine Mäuse, keine Zeiger, keine Fenster, keine Verzeichnisse/Ordner – kein MS-DOS oder Windows. Ich schrieb meinen Lebensunterhalt COBOL und später C-Programme, alles auf die harte Tour mit Vi, Edit oder EdLin (ja, ich weiß wirklich, wie man VIM verlässt). In den ersten drei Monaten als COBOL-Entwickler mussten wir Junior-Programmierer unsere Programme auf COBOL-Coding-Blättern schreiben – buchstäblich mit einem Stift beschriebene Zettel. Wir trugen weiße Laborkittel, weil Informatik eine Wissenschaft war und Wissenschaftler in Labors arbeiteten. Dann bekamen wir ‚Terminals‘, damit wir den Code selbst eingeben konnten. Keine Laborkittel mehr, obwohl wir plötzlich dreiteilige Anzüge tragen mussten, da wir jetzt ein „Geschäft“ waren und Geschäftsleute Anzüge trugen.
So war es, mit geringen Abweichungen, in den nächsten 12 Jahren. Im Ernst, die einzige „visuelle Entwicklung“ war ein handgezeichnetes Flussdiagramm.
Microsoft reitet zur Rettung
Dann kam Visual Basic. Es war großartig, aber so langsam wie eine Schnecke auf einem Bierfestival und eher in eine Pseudo-Code-Schicht kompiliert als in die Supergeschwindigkeit nativer Assembler- oder C-Programme. Diese interpretative Natur führte auch zu einem Problem namens „DLL-Hölle“, bei dem die Laufzeiten, die winzige Visual Basic-Programme ermöglichten, mehrere Versionen hatten, die miteinander inkompatibel waren und zu fehlenden Funktionseinstiegspunkten führten, die teuflisch schwer zu lösen waren. Außerdem verließ sich VB stark auf VBX- und OCX-Steuerelemente, die zusätzliche Funktionen hinzufügten, oft um ganz gewöhnliche, aber notwendige Dinge zu tun, die in der Laufzeit fehlen – aber auch sie könnten sich von denen unterscheiden, die von Ihrer App erwartet werden, häufig auf eine Weise, die für Sie fatal war schlechtes Programm.
Klingt das nicht sehr nach der Situation bei Electron? Es klingt auch ein wenig nach den Anfängen von Dot Net: „ Diese App erfordert Dot Net Runtime XYZ, laden Sie sie jetzt herunter “ – was einen Download von 500 MB bedeutete; Sie könnten es sicher herunterladen und essen gehen, während es das tat.
Das Internet ist nur ein Baby
Ihr VB-Programm könnte wirklich winzig sein. Aber diese winzige App nutzte tatsächlich eine riesige Monsterinstallation der Visual Basic-Laufzeit und viele VBX/OCX-Installationsartefakte. Dies war damals, als Modems als schnell galten, wenn sie über eine Standardtelefonleitung 56K erreichten. Wenn Sie Pech hatten, war Ihr Modem nur eine 1200/1200- oder 2400-Speed-Box. Fünf Megabyte waren ein langsamer, mühsamer und frustrierender Download, besonders wenn deine Mutter den Hörer abnahm, um Tante Gertrude mittendrin anzurufen.
Eine Zeitschriftenanzeige hat mein Leben verändert
Dann, eines Tages im Jahr 1995, blätterte ich zufällig in einer Computerzeitschrift (die tatsächlich auf echtem Papier gedruckt war, ee das waren die Zeiten) und sah eine Anzeige für dieses neue System namens Delphi, mit dem Sie Ihre Programme erstellen können durch Ziehen und Ablegen visueller Elemente auf ‚Formulare‘ – ein bisschen wie in Visual Basic – außer dass es auf einem unglaublich schnellen optimierenden Compiler und Linker basierte, der nativen Code ohne die Notwendigkeit für aufkeimende Laufzeiten erzeugen konnte und in der Tat immun gegen die DLL-Hölle, die mich – und viele Tausend andere – bei der Arbeit mit Visual Basic geplagt hatte.
Ich habe am Tag der Veröffentlichung eine Kopie von Delphi 1 bestellt. Die Quittung habe ich noch.
Hallo Welt der Low-Code-Weg – in den 1990er Jahren
Mit diesem neuen Delphi musste man sich also etwas Zeit nehmen, um Pascal zu lernen. Ich dachte, das wäre ein bisschen bergauf zu erklimmen, aber es stellte sich heraus, dass es sich nicht wesentlich von BASIC oder C unterschied. Tatsächlich hatte es die Benutzerfreundlichkeit von BASIC mit all der professionellen, nahe der Metallkraft von C, während es vermieden wurde viele der bewusstseinsverändernden esoterischen Funktionen von beiden.
Um ein Programm zu erstellen, das ein einfaches Fenster mit einer Schaltfläche anzeigte, die beim Klicken darauf „Hallo Welt“ sagte, brauchte eine Zeile geschriebenen Code. Visual Basic war ähnlich, soweit so gut.
Dann kompilierte ich die Delphi-App und stellte beim Ausführen fest, dass sie von überall auf dem Computer – oder jedem anderen Computer – gestartet werden würde, ohne sie zuerst installieren zu müssen.
Damals hatten wir noch keine USB-Sticks. Die Diskette beherrschte immer noch die Welt als Werkzeug der Wahl, um ein Programm, das Sie auf einem Computer geschrieben haben, auf einem anderen zu installieren. Ich könnte die App auf die Diskette kopieren und sie dann auf den Computer eines Kollegen übertragen und von der Diskette ausführen und das alles, ohne überhaupt etwas auf seinem Computer zu installieren . Es war nicht nur Low-Code – es war auch keine Installation.
Sie könnten nicht mit einem Visual Basic – Programm tun dies , wenn die andere Maschine installiert , um die Visual Basic – Laufzeit hat.
Die Low-Code-No-Install-Methode funktioniert auch heute noch für Delphi
Wind vorwärts ein paar Jahrzehnte. Heute habe ich eine ziemlich beliebte Client-Server-App, die für den Zielmarkt ziemlich umfassend und voller Funktionen ist. Es verbindet sich mit einer MySQL-Datenbank und „spricht“ mit einem benutzerdefinierten (in Delphi, von mir) Windows-Dienst für das Marshalling und die Lizenzierung von Daten.
Die Anwendung, komplett mit einkompilierten Grafikressourcen mit mehreren Auflösungen, einkompilierter direkter nativer MySQL-Zugriff, Verschlüsselung, PDF- und Berichtsvorschaugenerierung – voller Funktionen, kompiliert auf eine fertige App-Größe von 10 MB. ZEHN Megabyte.
Der Serverteil ist nur 917kb groß. Ja, weniger als ein Megabyte .
Sie können alles von einem USB-Speicherstick ausführen, da auf der Client-Seite noch keine Installation erforderlich ist.
Deine moderne App ist ein aufgeblähtes Monster
Vergleichen Sie meine zehn Megabyte große Delphi-App mit einigen der neuen Lieblinge der Low-Code-Welt, insbesondere Electron, und Sie werden sehen, dass Delphi, das ursprüngliche Low-Code-Kind, immer noch viele Tricks hat. Es sind die gleichen Tricks, die es schon immer in seinem Repertoire hatte: einfache und schnelle komponentenbasierte Entwicklung, ein schwindelerregender Compiler, das Kompilieren auf nativen Code, der grundsolide Anwendungen erzeugt, die unter dem Betriebssystem laufen und weiterlaufen und die Hardware entwickelt sich weiter.
Ist Delphi altmodisch?
Nun, RAD Studio Delphi bleibt in den glücklichen Tagen des Technologiebooms der 90er Jahre nicht stehen; Abgesehen von der offensichtlichen Modernität der IDE fügt RAD Studio jetzt den FireMonkey FMX Low Code Wizard hinzu , um Ihnen einen Vorsprung bei der Arbeit zu verschaffen, den REST-Debugger, um Sie mit der modernen Welt der Nutzung von Online-Diensten und immer mehr Bereitstellungen auf dem Laufenden zu halten Ziele wie iOS, Android und Linux und auch das Web. Der Markt für Komponenten von Drittanbietern ist immer noch stark und bietet für fast alles, was Sie sich wünschen können, etwas. Aber noch besser, der Compiler und der Linker stellen sicher, dass Sie im Gegensatz zu der armen Electron-Node-Paketliste nur tatsächlichen Code einlesen, der ausgeführt werden kann, nicht alles, nur weil es von nichts anderem als einer Include-Datei referenziert wird.
Die Zukunft der Softwareentwicklung
Die Zukunft der Softwareentwicklung sieht so aus, als ob sie einige erschreckend genaue „intelligente KI“-Funktionen beinhalten könnte, wie sie sich derzeit in der Beta-Phase für das Copilot-Projekt befinden . Bei Copilot geht es darum, zu erraten, welchen Code Sie erstellen möchten, und dann zu versuchen, ihn basierend auf dem, worauf das maschinelle Lernen trainiert wurde, für Sie zu schreiben, hauptsächlich aus öffentlichen Repositorys.
Es ist bereits in ein bisschen heißes Wasser geraten, weil es ein bisschen zu gut war, den Code eines anderen wortwörtlich wiederzugeben und einen Lizenztext vorzuschlagen, der sich als vollkommen gute Lizenz herausstellte, aber für den falschen Kontext, in dem der App-Entwickler arbeitete.
Werde ich jemals durch einen KI-Programmierer ersetzt, der über maschinenlernende Programmierkenntnisse verfügt? Vielleicht. Obwohl ich dies schon einmal gehört habe, habe ich im Laufe der Jahrzehnte in der Branche gearbeitet. Die Realität ist, dass ich viel eher durch Outsourcing in ein Land ersetzt werde, in dem die Lebenshaltungskosten so niedrig sind, dass die Ungleichheit in der Arbeitsbereitschaft zu groß ist, um mitzuhalten.
Wenn sie jedoch Electron verwenden… sage ich voraus, dass der Kunde zurückkommen wird… irgendwann…
RAD Studio Delphi ist die schnellste und effizienteste Möglichkeit, Apps mit minimalem Aufwand zu erstellen. Nehmen Sie Ihre Ideen und setzen Sie sie in die Realität um, indem Sie noch heute eine Testversion herunterladen .
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition