Hier in einer Deutschen Übersetzung / Original: https://community.embarcadero.com/article/16606-modernize-your-apps
Die Modernisierung ihrer Apps ist für viele unserer Kunden nach wie vor eines der wichtigsten Themen. Delphi gibt es nun schon seit geraumer Zeit und so gibt es auch noch viele großartige "ältere" Apps, die teilweise schon mit Delphi 7 entwickelt wurden. Auf der einen Seite ist dies natürlich ein Beweis für die herausragende Qualität unserer Entwicklungsframeworks, auf der anderen Seite sind zehn Jahre alte Apps in vielen Bereichen, naja einfach zu alt… Die Mitglieder unserer Entwicklergemeinde ziehen daher um auf die neuesten Versionen, damit sie ihren Kunden moderne, ansprechende Produkte anbieten können. Auch wir haben intern mit RAD Studio eine lange Reise gemacht und auch wenn es nicht immer der einfachste Weg ist, ist es die Mühe wert. Ich denke, dass wir letztendlich große Fortschritte machen, daher möchte ich einige Erfahrungen mit Ihnen teilen, die Sie vielleicht unterstützen, um Ihren eigenen Weg für die Modernisierung Ihrer Apps zu planen.
Modernisieren Sie die Benutzeroberfläche
Ich denke, der schwierigste Teil eines Modernisierungsprozesses ist es, überzeugende Argumente für eine Aktualisierung der Benutzeroberfläche zu finden. Viele Leute meinen, wenn etwas funktioniert, interessiert sich niemand mehr dafür, ob ein Icon alt aussieht oder nicht. Auch fällt es Entwicklern oft schwer, sich leidenschaftlich für ein neues Outfit zu engagieren, da sie sich häufig gar nicht so sehr um den "Look-and-Feel" kümmern. Dennoch kann sich ein modernes Erscheinungsbild vergleichsweise als GEWALTIG erweisen. Wir haben in den letzten zwei Jahren schrittweise viele Aktualisierungen in RAD Studio vorgenommen und noch einige mehr sind in Planung. In Umfragen wird selten das "Look-and-Feel" priorisiert. Kunden mit Unternehmenssoftware geben auch selten zu, dass sie eine Softwarelösung zu kaufen, weil "sie hübsch aussieht". Sobald jedoch Verbesserungen an der Benutzeroberfläche vorgenommen werden, stellt sich der Einfluss als überraschend stark heraus, vor allem bei älteren Delphi-Apps. Es ist ein Kampf, den es zu kämpfen lohnt und glücklicherweise erleichtern einige der aktuellen VCL- und FMX-Tools die Implementierung. Nehmen Sie sich die Zeit und machen Sie es richtig. Es lohnt sich auf jeden Fall, professionelle Hilfe von Designern in Anspruch zu nehmen (wieder etwas, was viele Entwickler nicht tun). Unterschätzen Sie die Wirkung von schönen, qualitativ hochwertigen Icons nicht. In der Grafik sehen Sie einige Beispiele von Symbolen, die wir für die Version 10.2.2 verwendet haben. Es gibt so viele Möglichkeiten, die sehr preiswert sind. Ich schätze zum Beispiel die Icons von www.icons8.com.
Mobile Apps
Einer der großen Vorzüge von Delphi ist FMX, denn mit der zunehmenden Verbreitung von Smartphones (~ 70% bis 2018) gewinnt FMX zunehmend an Bedeutung. Wenn Sie die VCL kennen, wird Ihnen auch die Entwicklung mit FMX nicht schwer fallen. Natürlich gibt es einige spezifische Styling- und Verhaltensmerkmale. Und zugegebenermaßen müssen wir den Workflow in RAD Studio noch verbessern, aber die Produktivität ist auch jetzt schon einfach beeindruckend. Die meisten anderen Lösungsansätze erfordern ein separates Team und eigene Investitionen. Früher wurden mobile Apps als separates Projekt ausgelagert. Mit FMX ist das Vergangenheit. FMX ermöglicht es Ihrem Delphi-Team, mobile Apps selbst zu erstellen. Vorhandene Apps müssen nicht neu entwickelt werden. Dennoch sind natürlich einige sinnvolle mobile Erweiterungen ein Muss. Ihre Apps werden sehr erfolgreich sein und die dahinter stehende Delphi-Technologie wird man zu Recht als fortschrittlich anerkennen. Auch können Sie Ihr Team unterstützen. Es gibt eine Menge an Trainingshilfen, um den Einstieg zu erleichtern. Ich persönlich bevorzuge die Delphi Styles, die einige sehr raffinierte Custom Looks liefern (in der Grafik sehen Sie ein paar tolle FMX Style Templates von www.delphistyles.com).
Machen Sie Ihre Anwendung "mehrschichtig"
Architektur ist kein Kinderspiel. Auch sehr gute, erfahrene Entwickler können nicht in allen Bereichen alle erforderlichen Kenntnisse haben, ganz einfach wegen der großen Bandbreite an Themen in der Softwareentwicklung. Manchmal ist es einfach so, dass Änderungen an der Architektur, z. B. die Weiterentwicklung von einer Desktop-App zu einer mehrschichtigen Anwendung, selbst für die erfahrensten Entwickler mit einer neuen Lernerfahrung einhergehen. Es ist immer eine Bereicherung, zu lernen oder Unterstützung von außen zu bekommen. Unser Ziel ist es daher, Änderungen in der Architektur zu vereinfachen, z. B. mit RAD Server, der mit hervorragenden Funktionen für die Unterstützung von mehrschichtigen Architekturen ausgestattet ist. Es ist keine unmögliche Aufgabe, eine alte App in eine mehrschichtige Version zu bringen, dennoch gibt es keine Garantien (der Erfolg ist davon abhängig, wie sie erstellt wurde). Ich habe mit vielen Entwicklern gesprochen, die zunächst recht skeptisch waren. Als sie sich aber mit dem Thema auseinandersetzten, stellte sich heraus, dass die Mühen viel geringer ausfielen als erwartet. Mit Sicherheit ist es sehr viel günstiger als der Umstieg auf eine andere Plattform mit einer anderen Sprache wie Java. Ein einfacher Ansatz besteht darin, klein zu beginnen und so viel wie möglich zu modularisieren. Verwerfen Sie den VCL-Client nicht zu schnell. Die Geschwindigkeit, die er liefern kann, insbesondere in sensiblen Umgebungen, in denen Sekunden wichtig sind, sind einzigartig. Ich weiß von einigen Versuchen, mit Java ein Rebuild zu erstellen und damit eine VCL-App zu ersetzen, die mehrere Millionen Dollar kosteten. Die Benutzer haben sie im Endeffekt einfach nicht angenommenen … eine unglaubliche Verschwendung.
"Webify"
Kein Wort, das Sie in einem Wörterbuch finden werden, aber die Bedeutung liegt auf der Hand. Es gibt mittlerweile zahlreiche Ansätze, mit Delphi Applikationen für das Web zu erstellen. Im Idealfall entwickeln Sie eine mehrstufige App und einen unabhängigen Web-Client dazu.
Natürlich empfehlen wir Ext JS, da es jetzt Teil der Familie ist, aber es gibt noch viele andere gute Client-Web-Technologien.
Ein anderer, vielleicht schnellerer Ansatz ist, ein Tool wie UniGui, das einen VCL-ähnlichen Ansatz verfolgt und Ext JS zum Aufbau eines Web-Clients nutzt. Damit lassen sich nicht alle Vorhaben umsetzen, aber es ist sehr schnell und produktiv. Auf jeden Fall können Sie in kürzester Zeit ein Modul Ihrer App erstellen und damit beweisen, dass Delphi gut und schnell mit dem Web funktioniert. Heutzutage werden viele Web-Interfaces zu Delphi-Anwendungen mit .NET erstellt wegen der übernommenen Windows-Verbindung. Das funktioniert natürlich, aber basierend auf unseren neuesten Erfahrungen und den neuen JS-Technologien sind die Geschwindigkeit und Flexibilität, die Sie mit JS erreichen können, unschlagbar.
Integration
RAD Studio verfügt über einige der besten Frameworks und Komponenten zur Integration. Integration gilt bei anderen Technologien normalerweise als einer der schwierigen Aspekte. Wir lösen das sehr gut und schnell. Unsere aktuelle Produktumfrage zeigt, dass ein großer Prozentsatz unserer Kunden FireDAC für sich angenommen hat und das ist fantastisch. Sie werden sehen, wie Ihre moderne App besser integriert werden kann. Wäre es interessant für Sie, Inventar aus einem ERP-System anzuzeigen oder in das ERP-System einzugeben? Unsere Enterprise Connectors basieren auf dem FireDAC Framework und funktionieren sehr gut. Wir verwenden sie auch intern, um ein ExtJS-Portal für unsere SFDC-Instanz zu erstellen (Abbildung unten). Es ist eine "Wow!" -Entwicklungserfahrung.
Innovation
Delphi unterstützt viele neue Funktionen, darunter Push-Benachrichtigungen, Beacons und den mobilen Woll 2 Woll Editor (www.woll2woll.com/beam). Es überrascht mich, wie wenig Kunden neue Windows 10-Funktionen nutzen. Eine meiner liebsten, leider zu wenig eingesetzten Technologien sind Beacons. Diese ist jetzt kostenlos in der RAD Studio Enterprise Edition enthalten. Der mobile Editor kann die mit dieser Technologie entwickelten mobilen Apps dramatisch beschleunigen. Wenn man bedenkt, wie viele interne Delphi-Apps mit der Erfassung von Standortdaten arbeiten, sollte diese so einfache und nützliche Funktion integriert werden. Und das Beste an Delphi ist, dass Innovation nicht Hunderttausende von Dollars kosten muss.
Überwinden Sie das Legacy-Argument
Dieser Punkt ist natürlich für unsere Arbeit an RAD Studio nicht relevant, aber es ist eine Hürde, die jeder Kunde überwinden muss. Die Auffassung, dass Delphi ein altes System ist, ist immer noch in dem Köpfen von vielen, trotz starker Bemühungen, diese Ansicht aus der Welt zu schaffen. Ich wähle neuerdings einen etwas anderen Erklärungsansatz, den ich recht erfolgreich finde. Anstatt ausschweifend die vielen Verdienste von Delphi aufzuzählen, nenne ich nur ein paar Fakten und höre dann auf. Das klappt! Delphi ist heute eines der größeren kommerziellen Ökosysteme – viele Open-Source-Projekte haben an Dynamik verloren, da sich die Wirtschaftslage verschlechtert hat und ihre Unterstützung rückläufig ist. Ganz zu schweigen von der Tatsache, dass Delphi das schnellste, am einfachsten zu bedienende und funktionsreichste Entwicklungswerkzeug ist (ein bisschen subjektiv, aber wahr). Unser VCL-Framework für die Windows-Entwicklung bietet nach wie vor die beste native Unterstützung für MS Windows und nichts schlägt es. FMX bietet bessere native Cross-Plattform-Unterstützung als Xamarin und seine Popularität, insbesondere in der Android-Entwicklung, wächst schnell. Ich denke, dass Delphi und die VCL für jedes Unternehmen, das mit technologischen Risiken umgehen muss, eine weitaus sicherere Entscheidung ist als selbst die angesagtesten Technologien und Frameworks. Fragen Sie nur jemanden, der die verschiedenen Iterationen von Angular durchlaufen hat oder eine Java-Migration durchführen musste. Die Eigenschaften einer hochproduktiven Sprache, die wiederverwendbar ist und mit flexiblen Front- und Back-Ends arbeiten kann, machen Delphi zu einem starken Mitbewerber auf dem Technologiesektor.
Nun, mein Exkurs wurde etwas länger als beabsichtigt, aber es gibt noch einen Punkt bei der Modernisierung, der wahrscheinlich die größte Hürde darstellt. Es hat auch wieder mehr mit Wahrnehmung als mit der Technologie selbst zu tun. Kunden beschweren sich nach wie vor über die mangelnde Verfügbarkeit von geschulten Delphi-Entwicklern. Leider ist es tatsächlich immer noch so, dass es, im Vergleich zu anderen gängigen Technologien, weniger erfahrene Delphi-Entwickler gibt. Outsourcer sind besonders negativ eingestellt gegenüber unseren Tools, da deren Produktivität tendenziell direkt gegen ihr Geschäftsmodell gerichtet ist. Warum sollte ich Ihnen 5 Delphi-Entwickler verkaufen, wenn ich Ihnen 50 Java-Entwickler verkaufen kann. Aber das ist auch das überzeugende Argument: Sie brauchen nicht so viele Delphi-Entwickler – denn Delphi ist so gut. Und damit Sie Ihre Skills auffrischen oder ein neues Team ausbilden können, werden wir die Embarcadero Academy mit mehr Inhalten und Kursoptionen weiterentwickeln. Unserer Erfahrung nach kann ein Senior-Entwickler Delphi superschnell erlernen. Lassen Sie uns die Skeptiker mit erstaunlich modern aussehenden Apps überzeugen!