Warum Sie Ihre Anwendung modernisieren sollten
Erfahrene Entwickler wissen, dass die Bindung von Benutzern an ihr Produkt eine Herausforderung sein kann. Deshalb investieren sie kontinuierlich in ihre Anwendungen, um sie schneller, funktionaler und benutzerfreundlicher zu machen. Vom dafür erforderlichen Aufwand profitiert nicht nur der Benutzer. Die Bereinigung von nicht benutztem und ineffizientem Programmcode vereinfacht auch die Weiterentwicklung von Anwendungen für jeden Entwickler.
- Sicherstellung der Windows-Kompatibilität – Da ältere Windows-Versionen vom Markt genommen werden, ist jetzt der perfekte Zeitpunkt zur Nutzung der neuesten Windows 10-Funktionen und zur Sicherstellung der künftigen Unterstützung der verwendeten Windows-Plattform.
- Bedarf an plattformübergreifenden Anwendungen – Da 73 % der Internetbenutzer primär über ihr mobiles Gerät ins Web gehen, reduziert ein auf den Desktop beschränktes Anwendungsmodell den Nutzen und die Reichweite Ihrer Anwendung.
- Begeisterung der Benutzer durch schlanke UIs – Benutzer interessieren sich nicht für Anwendungen mit überholtem Erscheinungsbild und mangelnder Optimierung für ihr Gerät. Nutzen Sie die Gelegenheit und beeindrucken Sie Ihre Benutzer mit einem Design-Update, das sich auf einfache Weise mit VCL und visuellen FMX-Frameworks durchführen lässt.
- Refactoring und Optimierung von Programmcode – Zeit hat ihren Preis: Je älter der Programmcode, desto schwerfälliger und unbrauchbarer wird er. Nehmen Sie sich die Zeit zur Optimierung Ihres Programmcodes und profitieren Sie von schnelleren Updates, einer vereinfachten Wartung und einer verbesserten Anwendungsleistung.
Ausgangspunkt
Moderne Anwendungen zeichnen sich durch schlanke und intuitive UIs aus, einer schnellen Ausführung und einem Programmcode, der eine kontinuierliche Integration und dauerhafte Bereitstellung erleichtert.
Watch the webinar on Planning and Completing Your Delphi Migration (1 hour)
Watch the webinar on Migrating and Modernizing C++ Apps (1 hour)
Entdecken Sie neue Möglichkeiten mit den Werkzeugen der neuen Generation
Glückwunsch! Sie haben sich mit der Modernisierung Ihre Alt-Anwendungen richtig entschieden. Zur Sicherstellung Ihres Erfolgs führen Sie ein Upgrade auf die besten Entwicklertools von heute durch: RAD Studio 11 Alexandria.
- Durch Unterstützung mobiler Apps in allen Professional-, Enterprise- und Architect-Editionen können Entwickler mühelos native iOS- und Android-Apps auf der Basis eines einzigen Quellcodes entwickeln sowie auf einfache Weise UI-Designs für mobile Apps mit FMX erstellen.
- Aktualisiertes VCL-Framework. Gestalten Sie moderne Windows-Benutzeroberflächen und -Bedienerführungen mit Unterstützung hoher DPI-Werte, modernen Stilen und konkurrenzloser Reaktionsfähigkeit.
- Implementieren Sie die besten Windows-nativen Supportfunktionen. Sie stellen sogar Microsoft in den Schatten!
- Verwenden Sie Ihren Programmcode mehrmals, um hochleistungsfähige Microservices zu erstellen und/oder die Vorteile der Verpackung in Container zu nutzen.
- Stellen Sie mit bewährten Frameworks eine hohe Anwendungsleistung sicher.
- Erweitern Sie die Datenintegration mit neuen Verbindungsoptionen.
- Erstellen Sie Webclients mit unserer REST API-Technologie auf dem neuesten Stand.
- Nutzen Sie das vorhandene Entwickler-Know-how und sparen Sie Aufwand und Zeit für die Migration von Programmcode durch Vermeidung einer aufwändigen Neuprogrammierung für andere Sprachen.
Erfahren Sie im Folgenden mehr zu einzelnen Migrationsstrategien und -technologien für Anwendungen oder holen Sie sich RAD Studio Rio noch heute.
Unicode
RAD Studio, Delphi und C++Builder verfügen seit der Version 2009 über eine Unicode-Unterstützung. Damals wurden viele unterstützende Materialien für die Migration entwickelt. Sie sind auch heute noch hilfreich, wenn Sie ein Upgrade von einer Vor-Unicode-Version (2007 oder früher) durchführen möchten.
Mit Delphi konnte die Migration jahrzehntelang immer relativ problemlos durchgeführt werden. Allerdings sind dafür manchmal spezielle Maßnahmen notwendig und Unicode ist ein Bereich, für den besondere Aufmerksamkeit erforderlich ist!
Die gute Nachricht ist zunächst, dass in vielen Fällen die Konvertierung älterer Delphi-Versionen in die aktuelle Version mit wenigen oder so gut wie keinen Änderungen möglich ist. Wenn Sie in erster Linie mit VCL-Komponenten (deren Unterstützung für Unicode in den meisten Fällen sorgfältig abgestimmt wurde) arbeiten oder mit Komponenten von Drittanbietern, die ausreichend Zeit hatten, die Anforderungen der Unicode-Unterstützung zu berücksichtigen, dann sind Sie im Vorteil.
Keine Angst! Auch wenn Ihre Anwendung „Millionen von Strings“ umfasst, heißt das NICHT zwangsläufig, dass Sie etwas im Programmcode ändern müssen.
Technischer Überblick über Unicode
Eventuelle Unicode-Anpassungen sind davon abhängig, wie und für welche Zwecke Sie Strings verwenden. Wenn Sie keine umfangreiche Textverarbeitung oder Textbearbeitung und nur Standard-String-Operationen durchführen, ist Ihr Programmcode mit hoher Wahrscheinlichkeit sofort funktionsfähig. Auch wenn Sie viele String-Elemente in Ihrem Programmcode verwenden, heißt das noch nicht automatisch, dass Änderungen notwendig sind. Die häufigsten Dinge, auf die Sie achten müssen, sind Datei-E/A-Vorgänge und das Zusammenspiel mit nicht aus Delphi stammenden Bibliotheken und/oder DLLs.
Materialien zu Unicode
Als Erstes sollten Sie einen Blick auf diese außerordentlich hilfreichen Whitepaper, technischen Artikel, Videos und Migrationstools werfen, die Ihnen bei der Nutzung von Delphi und der Migration auf Unicode eine Hilfe bieten:
Delphi and Unicode - Dieses Whitepaper ist für Entwickler gedacht, die mit Delphi- und RAD Studio-Versionen arbeiten, die vor der Veröffentlichung von Delphi 2009 veröffentlicht wurden. Das Whitepaper enthält eine Vielzahl von Informationen darüber, warum und wie Sie eine Quellcodebasis Unicode-fähig machen, die mit einer Version vor der Unicode-Unterstützung entwickelt wurde.
Stories und Empfehlungen aus der Praxis
Ob Sie sich nun in der Planungsfrühphase für die Migration einer bestehenden Anwendung auf eine Unicode-fähige RAD Studio-Version befinden oder ob Sie bereits mitten in diesem Prozess stecken: „Delphi Unicode Migration for Mere Mortals“ (Delphi-Unicode-Migration für einfache Sterbliche) kann Ihnen sicher helfen. Mit einer Vielzahl von Informationen führender Anwender der RAD Studio-Community bietet Ihnen dieses Whitepaper wertvolle Techniken und Empfehlungen, die Ihnen den Weg ebnen.
Webinar: Migrating Legacy Applications to Unicode-enabled Delphi with Cary Jensen
Cary Jensen hat weltweit mit Delphi-Entwicklern zusammengearbeitet – dazu gehören bekannte Autoren, führende Drittanbieter und Entwickler vor Ort –, deren Ansatz für Unicode-Umwandlungen, die damit verbundenen Herausforderungen und die implementierten Lösungen vorgestellt werden. Lernen Sie in diesem informativen Webinar die bewährtesten Vorgehensweisen für die Migration auf Unicode kennen.
Migrating your legacy C++Builder applications to unicode
(Migration Ihrer C++Builder-Altanwendungen auf Unicode)
Blog
Dr. Bob's Unicode page and 8 Unicode Tips (Dr. Bobs Unicode-Seite und acht Unicode-Tipps) – Behandelt das Unicode-Format und unterschiedliche String-Typen
DocWiki
Populäre Unicode-Artikel in der Online-Dokumentation von DocWiki diskutieren das Thema „Unicode in RAD Studio"
Unicode-Statistik-Tool
Mit dem Unicode-Statistik-Tool können Sie prüfen, ob Unicode-Änderungen in Ihrer Delphi-Anwendung erforderlich sind.
Dieses Unicode-Statistik-Tool hilft Ihnen bei der Zusammenstellung nützlicher Statistiken zur Bewältigung des Aufwands, der für die Migration Ihrer Delphi-Anwendungen auf Unicode verbunden ist.
Mit dem Tool wird Ihr Programmcode überprüft und ermittelt, wo Sie vermutlich etwas ändern müssen und in welcher Weise. Das hilft Ihnen einzuschätzen, wie viele Zeilen des Programmcodes letztendlich überprüft werden müssen.
HINWEIS: Das Unicode-Statistik-Tool kann nicht feststellen, ob Zeilen Ihres Programmcodes wirklich geändert oder komplett ersetzt werden müssen. Es weist nur darauf hin, dass Sie auf einige Zeilen einen genaueren Blick werfen müssen. Es kann auch vorkommen, dass keine Änderungen erforderlich sind. Im Endeffekt hängt es davon ab, wie Sie Strings und Zeichen in Ihrer Anwendung verwenden.
Als Ergebnis erhalten Sie Delphi mit 100% Unicode. Die Migration geht sehr einfach vonstatten, die Visuelle Komponentenbibliothek (VCL) und der Compiler regeln viele Dinge.
Das Tool listet alle verwendeten Units inklusive Delphi-Units auf (und wie oft jede Unit verwendet wurde) sowie die Anzahl der Dateien, die Anzahl der Zeilen und die Anzahl der Instanzen von String, Read, Write, SizeOf, etc.
Blog
Migrating your project from older versions of Delphi. The Pitfalls
(Migration Ihres Projektes von älteren Delphi-Versionen. Mögliche Fallstricke)
Craig Chapman behandelt eine Reihe von Migrationsproblemen wie
- Plattformübergreifende Migration
- Windows 64bit
- Unicode-Migration
Migration auf 64 Bit
Seit Delphi XE2 besteht die Möglichkeit, Delphi-64-Bit-Anwendungen aus der gleichen Quellcodebasis wie Ihr traditioneller Windows-32-Bit-Delphi-Code zu erstellen. Informationen zur Nutzung von 64-Bit-Anwendungen in Unternehmen finden Sie im technischen Papier The Impact of 64-bit Applications to your Company’s Bottom Line (Die Auswirkungen von 64-Bit-Anwendungen auf den Ertrag Ihres Unternehmens).
Insgesamt ist der Wechsel zu 64-Bit-Anwendungen (auf Windows, aber auch auf iOS) ausgesprochen leicht zu bewerkstelligen! Er ist nicht komplizierter als das Hinzufügen der 64-Bit-Zielplattform im Projektmanager und das erneute Erstellen des Projekts. Sie verfügen damit über einen enormen Vorteil gegenüber anderen Sprachen, bei denen unterschiedliche Typen deklariert werden müssen, um den Unterschied zwischen den beiden Plattformen aufzulösen.
Materialien zu 64-Bit
Building 64bit Applications with Delphi (Erstellen von 64-Bit-Anwendungen mit Delphi)
Kurzes Tutorial mit einem Überblick über das Erstellen von 64-Bit-Delphi-Anwendungen.
[7m16sec]
Blog
„Delphi 64bit Code“ von Stephen Ball erläutert, was sich unterscheidet und was nicht, sowie die Definition der Optionen für die bedingte Kompilierung und die Verwendung von Assemblercode.
Delphi-64-Bit-Programmcode
Migration von Datenbanken und Middleware
Migration von Borland Database Engine (BDE) oder DBExpress
Die Borland Database Engine (BDE) wird nicht mehr unterstützt, ab der Version XE8 ist die BDE nicht mehr in der Delphi-Installation enthalten. Sie ist aber weiterhin als separater Download im Code Central verfügbar. Für alle Anwendungen, die die BDE verwenden, wird die Migration auf FireDAC empfohlen. Wenn Sie mit den FireDAC-Komponenten für den Datenzugriff noch nicht vertraut sind, finden Sie hier Informationen zur Einführung unter den Links für die ersten Schritte..
Für dbExpress ist auch nur noch der Wartungsmodus verfügbar. Benutzern wird die Migration auf FireDAC empfohlen. Sie erhalten damit zusätzliche Datenbanken, eine höhere Geschwindigkeit und zusätzliche Funktionen.
Datenbankmaterialien
FireDAC Skill Sprints - Migrating BDE applications to FireDAC and InterBase (Kurzeinführung in FireDAC – Migration von BDE-Anwendungen auf FireDAC und InterBase) – David I
Unterstütztes RAD Studio-Tool reFind
DocWiki „Migrating dbExpress to FireDAC“ (Migration von dbExpress auf FireDAC)
Dieser Artikel bietet ein Tutorial zur Migration einer einfachen Client-Server-Anwendung mit dbExpress-Datenzugriffskomponenten wie TSQLConnection, TSQLQuery, TSQLTable auf FireDAC.
DocWiki
Delphi Parser
Eine Alternative zu reFind, einer kostenfreien Evaluierungsedition des Assistenten zur Skripterstellung für die automatische Migration zur Konvertierung von älterem Delphi-BDE-Code auf FireDAC, ist das Tool Delphi Parser zur Migration von BDE auf FireDAC
„FireDAC Skill Sprints“ (Kurzeinführung in FireDAC) besteht aus einer Serie von zwölf 20-minütigen Videos mit einer Schulung der fortgeschrittenen Funktionen von FireDAC
Migration von Drittanbieterkomponenten und -bibliotheken
Welche Drittanbieterbibliotheken (bzw. -komponenten) verwenden Sie in Ihrer älteren Delphi-Version?
Die Drittanbieter-Plug-Ins (Bibliotheken) müssen in der aktuellen Delphi-Version neu erstellt werden. Die Verfügbarkeit des Quellcodes vereinfacht diesen Vorgang. Sie müssen Drittanbieterkomponenten und -bibliotheken von älteren Delphi-Versionen mit der aktuellen Version Delphi 10.1 erneut kompilieren, damit diese Komponenten und Bibliotheken in Delphi-Projekten verwendet werden können.
Für alle Drittanbieterkomponenten und -bibliotheken ohne Quellcode wird eventuell eine aktualisierte Version für die aktuelle Version Delphi 10.1 benötigt.
Die aktuelle Delphi-Version enthält den neuen Getit Package Manager, mit dem Sie GetIt-Pakete in der aktuellen Delphi-Version suchen, herunterladen, erwerben und installieren können. GetIt verfügt aktuell über 31 populäre kostenfreie Pakete mit Bibliotheken, Komponenten, IDE-Erweiterungen und SDKs wie Open Source-„TurboPack“-Komponenten, die JEDI Visual Component Library, etc., die für die Anwendung mit der aktuellen Delphi-Version zertifiziert sind!
10 Tipps für den Erfolg Ihrer mobilen Anwendung
Generieren Sie Umsatz mit Ihrer App mithilfe einer In-App-Zahlungsfunktion und Werbung
Werbeanzeigen sind eine ausgezeichnete Möglichkeit, um Ihre Apps zu einem Umsatzträger zu machen. Verwenden Sie dazu zwischengeschaltete bildschirmfüllende Anzeigen beim Start Ihrer App und an geeigneten Haltepunkten. Integrieren Sie Anzeigen in Bestenlisten (320x50), entweder in der Kopf- oder Fußzeile, je nachdem, wo es in Ihrer Benutzeroberfläche am geeignetsten ist. Über AppBrain Stats erhalten Sie eine Liste der populärsten Werbenetzwerke wie Admob, Millennial Media, InMobi, Chartboost, Tapjoy und viele mehr. Fügen Sie die Funktion der In-App-Zahlung für einmalige Käufe wie für abonnementbasierte wiederholte Käufe hinzu. Bieten Sie sowohl eine bezahlte Version ohne Werbung als auch eine kostenfreie Version mit Werbung an. Geben Sie dem Benutzer die Möglichkeit, Werbung in der kostenfreien Version über einen In-App-Kauf zu deaktivieren.
Sichern Sie die Datenverbindungen Ihrer App mit SSL
Benutzer von Mobilgeräten sind heutzutage mobiler als je zuvor. Sie wechseln mehrmals am Tag von gesicherten drahtlosen Zugriffspunkten zu 4G und zu nicht gesicherten drahtlosen Hotspots. Wenn Sie die Daten Ihrer Benutzer vor den neugierigen Blicken anderer über einen Netzwerk-Paket-„Sniffer“ schützen möchten, können Sie eine Standardverschlüsselung im Branchenstandard wie TLS/SSL (Transport Layer Security/Secure Sockets Layer) implementieren. Die Verwendung einer bewährten und echten Drittanbieter-Bibliothek ist der beste Weg dazu.
Ermutigen Sie Benutzer zur Bewertung Ihrer App
Eine gute Bewertung in den verschiedenen App Stores ist wichtiger denn je. In der Regel landen auf den Bewertungsseiten des App Store nur Personen, die Ihrer App eine schlechte Bewertung geben möchten und sie so herunterstufen. Sie können aber Benutzer, denen Ihre App gefällt, zur Bewertung animieren, indem Sie explizit darauf hinweisen. So ist es z. B. ein gute Gelegenheit, einen Benutzer Ihrer App um den Besuch der Bewertungsseite für Ihre App im App Store Ihrer Wahl zu bitten, wenn er Ihre App zum dritten Mal verwendet.
Erstellen und platzieren Sie Icons für Ihre App
Ein visuell ansprechendes Symbol ist für den Erfolg Ihrer App in den App Stores unabdingbar. Für Android- und iOS-Apps müssen Sie dazu mehr als 30 unterschiedliche Symbolgrößen erstellen und platzieren. Das kann einen erheblichen Aufwand für alle benötigten Symbole nach sich ziehen. Es gibt dazu aber hilfreiche Dienstprogramme wie Mobile Gfx Setup, Paint.net. Adobe Flash CC ist ein fortgeschrittenes kommerzielles Windows-Programm mit einer kostenfreien Testversion, mit dem Sie Ihre Symbole sowohl erstellen wie auch exportieren können.
Sorgen Sie dafür, dass Ihre App aktiv ist und deaktivieren Sie Lebenszyklusereignisse
Mit der Bereitstellung der Funktionen in Ihrer App ist es noch nicht getan. Ein Grund, warum manche Apps erfolgreicher sind als andere, ist der Grad der entsprechenden Feinabstimmung. Sowohl unter Android wie unter iOS gibt es Ereignisse, die regeln, ob Ihre App aktiv ist oder in den Hintergrund versetzt wird. Sie müssen diese Ereignisse ermitteln und entsprechend steuern, damit Ihre App eine ansprechende Benutzererfahrung bietet. Testen und steuern Sie die verschiedenen Aktionen in Ihrer App wie die Aktivierung des Energiesparmodus und dessen Aufhebung oder das Drücken der Zurück-Schaltfläche.
-
Vermeiden Sie Blindflug. Fügen Sie Ihrer App Analysen hinzu
Integrieren Sie Analysen mithilfe verschiedener Analysebibliotheken von Drittanbietern wie Google Analytics, Flurry Analytics, GameAnalytics und Parse Analytics, um nur einige zu nennen. Analyseanbieter verfügen über eigene Android-, iOS- und REST-SDKs, die such integrieren lassen. Sie können damit wichtige Nutzungsvorgänge nachverfolgen, etwa wie lange ein Benutzer Ihre App verwendet, welche Bildschirme er hauptsächlich benutzt und wo er nicht weiterkommt oder Ihre App verlässt. Dies macht aber nur Sinn, wenn Sie die Informationen solcher Analysen praktisch umsetzen. Führen Sie iterativ Anpassungen und Tests durch. Führen Sie iterativ Anpassungen und Tests durch.
-
Richten Sie Push-Benachrichtigungen ein
Push-Benachrichtigungen sind eine hilfreiche Methode, um Ihre Benutzer kontinuierlich für Ihre App zu begeistern. Versuchen Sie die richtige Balance zwischen zu vielen und zu wenigen Push-Benachrichtigungen zu finden, um Ihre Benutzer dauerhaft für Ihre App zu interessieren. Android-Push-Benachrichtigungen sind über Google Cloud Messaging verfügbar, iOS-Push-Benachrichtigungen erhalten Sie über den Apple Push Notification Service. Die Integration von Push-Benachrichtigungen kann aufwändig sein. Drittanbieter wie Parse, PushWoosh und Upsight (vormals Playhaven) bieten hierfür eine gute Unterstützung.
-
Verwenden Sie Threads, damit Ihre App reaktionsfähig bleibt
Mit Threads können Sie länger andauernde Vorgänge in einem separaten Prozess ausführen. Verwenden Sie Threads überall dort, wo Benutzereingaben nicht möglich sind, wie beim Hoch- und Herunterladen von Dateien, bei der Verarbeitung von Informationen oder beim Laden von Daten. Wenn Ihre App „einfriert“, wird Sie von den Benutzern eventuell beendet und diese wechseln zur nächsten App. Für Situationen, in denen ein Benutzer auf die nächste Eingabemöglichkeit oder auf das nächste Ereignis warten muss, sollten Sie nach neuen Lösungen für Ihre App suchen, um den Vorgang, der die Wartezeit verursacht, stattdessen im Hintergrund ausführen zu lassen.
-
Überprüfen Sie die Netzwerkkonnektivtät vor der Herstellung einer Verbindung
Die Konnektivität für mobile Geräte ist nicht immer sichergestellt. Wenn Ihre App eine Internetverbindung benötigt, diese aber aktuell nicht verfügbar ist, müssen dafür entsprechende Vorkehrungen vorhanden sein. Verwenden Sie Warteschlangensysteme für das Hoch- und Herunterladen von Daten. Implementieren Sie die Wiederaufnahme abgebrochener Downloads von Dateien, wo immer möglich. Eine gute Idee kann auch die Einrichtung eines Offline-Modus sein, der in Kraft tritt, wenn keine Online-Verbindung verfügbar ist.
-
Optimieren Sie den Namen und die Beschreibung Ihrer App sowie den Vertrieb
Wählen Sie einen funktionalen, beschreibenden oder eindeutigen Namen (oder eine Kombination davon), der den Erfolg Ihrer App fördert. Vermeiden Sie Begriffe, die geschützt sind. Mit einer guten Beschreibung, was mit Ihrer App gemacht werden kann, wer Ihre Wettbewerber sind und welche Technologien Sie dafür verwendet haben, lässt sich Ihre App leichter finden. Das Erstellen einer App ist nur der Anfang. Ebenso wichtig für ihren Erfolg ist der Vertrieb. Stellen Sie sicher, dass Ihre Android- wie iOS-fähige App in den großen App Stores wie Google Play, Apple App Store, Amazon Appstore und Samsung Apps angeboten wird. Jeder App Store verfügt über einen eigenen Bereitstellungsprozess und über eigene Richtlinien. Das damit gewonnene Benutzerpotenzial ist den damit verbundenen Aufwand aber wert. Versuchen Sie Ihre spezielle Nische bei Amazon Appstore oder Samsung Apps zu finden.