PHP als plattformübergreifende Desktop-App-Entwicklungssprache? Blasphemie! Trotzdem ist es möglich.
Vor ein paar Jahren hatte alles, die daran interessiert waren, PHP auf den Desktop zu bringen, der inzwischen lange verlassene GTK -PHP. Seitdem sind neue Spieler erschienen, obwohl wir zunächst das „Warum“ beantworten.
Warum sollte jemand Cross -Plattform -PHP -Apps für den Desktop entwickeln? Warum sich nicht für etwas entscheiden, das tatsächlich in die niedrigen APIs des Betriebssystems einbinden kann, wie Adobe Air? Warum nicht mit etwas veraltet und aufgebläht, aber zuverlässig wie Java? Machen Sie es nicht zu einer Chrome -App und wenn Sie einen nativen Support benötigen, verwenden Sie den nativen Client? Hölle, wenn du eine Skriptsprache willst, warum nicht einfach mit Python gehen? Alles läuft, solange wir vermeiden, einen Server mit dem gesamten Shebang zu bündeln, oder?
Abgesehen von meinem Kopf kann ich mir mehrere weit hergestellte Szenarien vorstellen:
1. Nightrain
Ein weiterer Big Con ist, dass zuerst eine Eingabeaufforderung gestartet wird und dann die "App". Der Befehlsfenster muss offen bleiben, wenn Sie die App verwenden möchten, und dies ist möglicherweise mehr als ein wenig verwirrend für die technischen Analphabeten in Szenario 2) oben.
nightrain ist mit den meisten PHP -Apps/Frameworks kompatibel, solange Sie die Datenbank in SQLite ändern, was verwendet wird, und die gebündelte Php.ini für einige fehlende Erweiterungen optimieren. MySQL ist nicht gebündelt und es ist keine einfache Sache, es neben dem regulären Stapel zu installieren. Es ist sehr einfach, die App die SQLite -Daten stromaufwärts zu einem Server zu senden, den Sie für eine zentrale Datenbank verwenden.
Der bei weitem größte Nachteil der App ist, dass sie mit WX -Widgets den kopflosen Browser mit Strom versorgen, und unter Windows scheint dies auf IE7 zurückzuführen zu sein. Das Ändern scheint durch WXPython möglich, wie in dem oben verlinkten Thema erwähnt, wurde aber noch nicht versucht. Man kann nur hoffen, dass das Browser -Objekt bald auf etwas verwendbareres aktualisiert wird - bis dahin und bis alle anderen kritischen Nachteile repariert sind, kann ich mir nicht einmal eine Verwendung für Nightrain vorstellen.2. WXPHP
WXPHP steht für „WXWIDGETS for PHP“ und ist eine PHP-Erweiterung, die die WXWIDGES-Bibliothek umhüllt, mit der Multi-Plattform-Desktop-Anwendungen schreiben können, mit denen die nativen grafischen Komponenten für die verschiedenen Plattformen verfügbar sind. -Sie installieren WXPHP als separates Programm, mit dem Sie dann die Ausführung von .WXPHP -Dateien unterstützen können, indem Sie einfach verdoppelt.wikipedia
Die Installation enthält mehrere Beispiele, darunter eine, die WebView initialisiert und die WXPHP -Website in einem WX -Frame lädt. Eine Sache zu beachten ist, dass Sie mit WXPHP keine Websites entwickeln, wie Sie es im Web tun würden. Mit anderen Worten, Sie entwickeln keine Offline -Websites, sondern streiten Sie verschiedene WX -Widgets zusammen. Daher hat die Bibliothek eine gewisse Lernkurve, und Ihnen fehlen die HTML5 -Funktionen, die Sie möglicherweise gewohnt sind, oder die Einfachheit der Webentwicklung. Es gibt einen Beweis für das Konzept des internen PHP -Servers, der Anforderungen ausführt und bedient
WXPHP verfügt außerdem über ein entzückendes Formular für das Formulargebäude, mit dem Sie den PHP -Code automatisch generieren können, den Sie für Ihre WXPHP -Apps benötigen, mittels eines WYSIWYG -Editors.
Wenn Sie es mit der Entwicklung von PHP -Desktop ernst nehmen, ist WXPHP im Vergleich zu Nightrain bei weitem die bessere Option, obwohl Sie mit Nightrain gute alte HTML für GUI schreiben können.
Einer der größten Vorteile von WX hier ist die Tatsache, dass alle .WXPHP -Dateien nach dem Klicken der Maus ausgeführt werden können. Keine zusätzlichen Installationen, keine unangenehmen Konsolenfenster. Für technische Analphabeten ist das ein Glücksfall - Sie können die App in Ihrem Unternehmen problemlos über eine einfache E -Mail verteilen, und das Update -Verfahren ist so einfach wie eine Datei zu überschreiben.
tidesdk hat einen etwas anderen Ansatz als die oben genannten zwei. Sie installieren ein SDK, um Anwendungen zu entwickeln, und jede Plattform hat bestimmte Voraussetzungen. TidesDK ist eigentlich das umbenannte Titanium -Desktop -Projekt. Titanium konzentrierte
Einmal installiert gemäß dem Anleitung für Erste Schritte und sobald wir die TidesDK -Entwickler -App haben (eine Helferanwendung, die uns bei der Bündelung unserer Anwendung in ein verteilbares Paket leitet) können wir uns mit der Entwicklung beginnen. Apps, die Sie mit Tide erstellen (über die Helfer -App oder über die Befehlszeile) sind sowohl als rein ausführbar als auch als installierbare Pakete verteilt, die die gesamte "App" -Behandlung erhalten, einschließlich eines eingebetteten Installationsverfahrens Über Hinzufügen/Entfernen von Programmen unter Windows oder Ihren Paketmanagern auf anderen Betriebssystemen.
Anwendungsressourcen werden in Verbindung mit einem Webkit -Client und einer vertrauten und umfangreichen API verwendet. Die API ist privilegiert und bietet Dateisystemzugriff, mit dem Sie Dateien lesen und verwalten können. APIs werden auch bereitgestellt, um eine lokale Datenbank zu erstellen und zu interagieren. Mit der Netzwerk -API können Clients und Server erstellt werden oder mit HTTP auf einer viel niedrigeren Ebene interpretiert werden. Es ist auch möglich, Socket -Verbindungen zu anderen Diensten zu öffnen.Im Allgemeinen verwendet TidesDK HTML, CSS und JS, um Anwendungen zu rendern, aber es unterstützt auch Skriptsprachen wie Python, Ruby und PHP. Die Engine hinter dem Rendering ist Webkit, was bedeutet, dass sie etwas langsam startet, aber die neuesten Web -Technologien unterstützt.
Das Herz von TidesDK ist eine in der Webkit -Komponente zusammengestellte Objektbrücke. Mit der Brücke können andere Skriptsprachen - Python, PHP oder Ruby - auf der HTML -Seite mit Skript -Tags im DOM ausgeführt werden, genau wie JavaScript. Sie können auch direkt .py, .rb oder .php -Dateien in Ihrer Anwendung direkt aufrufen.PHP wird aktiviert, indem der Manifestdatei wie folgt eine Modulanweisung hinzugefügt wird:
<span>#appname:HelloWorld </span><span>#appid:com.tidesdk.helloworld </span><span>#publisher:Software in the Public Interest (SPI) Inc </span><span>#image:default_app_logo.png </span><span>#url:http//tidesdk.org </span><span>#guid:845e9c3c-c9ff-4ad4-afdf-9638092f044f </span><span>#desc:Sample Hello World application </span><span>#type:desktop </span><span>runtime:1.3.1-beta </span><span>app:1.3.1-beta </span><span>codec:1.3.1-beta </span><span>database:1.3.1-beta </span><span>filesystem:1.3.1-beta </span><span>media:1.3.1-beta </span><span>monkey:1.3.1-beta </span><span>network:1.3.1-beta </span><span>platform:1.3.1-beta </span><span>process:1.3.1-beta </span><span>ui:1.3.1-beta </span><span>worker:1.3.1-beta </span><span>php:1.3.1-beta</span>
Interessanterweise verfügt TidesDK über eine Objektbrücke, mit der Sie bei der Verwendung von PHP in Ihren Apps Daten nahtlos von JS in PHP und Rücken konvertieren können. Sie können hier mehr lesen, aber ein detailliertes TidesDK -Tutorial findet in Kürze statt.
Es gibt mehrere wichtige Nachteile bei der Verwendung von TidesDK für die Entwicklung von PHP -Desktop -Apps:
tidesdk ist eine nette Option, aber alles andere als nutzbar. Es eignet sich hervorragend für die Lieferung von HTML/CSS/JS, aber wenn es um PHP geht, glaube ich, dass WXPHP immer noch die beste Wahl ist.
Es gibt auch andere Optionen, aber sie sind, gelinde gesagt, überwältigend.
phpDesktop ähnelt Nightrain, aber nur Windows. Andererseits wird es mit dem Mongoose -Server gebündelt und kann somit parallele Anfragen ausführen. Es läuft auch Chrome, was bedeutet, dass es langsam rendert/offen ist, unterstützt jedoch die neuesten Web -Technologien. Die Windows-Exclusivität disqualifiziert es jedoch aus dieser Liste von Multi-Plattform-Lösungen.
Webinder und PHP GTK sind beide stark veraltet und sollten wahrscheinlich nicht verwendet werden. Darüber hinaus ist Webinder nur Windows.
Während die Gründe für das Erstellen von PHP -Apps für den Desktop von Anwendungsfall zu Anwendungsfall variieren und oft nicht einfach zu rechtfertigen sind, glaube ich, dass es gut ist, zu wissen, dass die Option vorhanden ist, falls Sie es jemals brauchen.
Haben Sie Desktop -Apps in PHP entwickelt? Wenn ja, bitte lassen Sie mich bitte wissen, warum und welche Technologie Sie verwendet haben - ich würde es absolut gern, dass Sie über Ihre Erfahrungen schreiben. Andere Optionen kennen? Lass es mich in den Kommentaren wissen!
Kann ich PHP für die Entwicklung komplexer Desktop -Anwendungen verwenden? Zur Entwicklung komplexer Desktop -Anwendungen. Während PHP traditionell für die Webentwicklung verwendet wird, hat es sich im Laufe der Jahre weiterentwickelt und enthält jetzt Funktionen, die die Entwicklung komplexer Desktop -Anwendungen ermöglichen. Dazu gehören objektorientierte Programmierung, Ausnahmebehandlung und Namespaces. Darüber hinaus gibt es mehrere PHP-Frameworks und Tools wie PHP-Desktop und PHP-GTK, die dazu beitragen können, komplexe Desktop-Anwendungen zu erstellen. Sie entwickeln plattformübergreifende Desktop-Anwendungen mithilfe von PHP. Es bettet einen Webserver, einen PHP -Interpreter, einen Browser und eine JavaScript -Engine in ein einzelnes Paket ein. Dies bedeutet, dass Sie Ihre Anwendung mit PHP schreiben können und sie als eigenständige Desktop -Anwendung ausgeführt wird. PHP-Desktop behandelt alle Backend-Prozesse, sodass Sie sich keine Sorgen machen müssen, einen Server einzurichten oder eine PHP-Umgebung zu konfigurieren. 🎜>
PHP-GTK ist eine Erweiterung für PHP, die einen Satz von PHP-Bindungen für das GTK-Toolkit liefert. GTK ist eine Bibliothek, die zum Erstellen grafischer Benutzeroberflächen verwendet wird. Mit PHP-GTK können Sie Desktop-Anwendungen mit einer grafischen Benutzeroberfläche erstellen, genau wie jede andere Desktop-Anwendung. PHP-GTK bietet eine Möglichkeit, solche Anwendungen mit PHP zu schreiben. Dies kann ein großer Vorteil sein, wenn Sie bereits mit PHP vertraut sind.Ja, PHP -Desktop -Anwendungen können auf Systemressourcen zugreifen. PHP verfügt über mehrere integrierte Funktionen, mit denen Sie mit dem Dateisystem, dem Netzwerk und anderen Systemressourcen interagieren können. Beachten Sie jedoch, dass der Zugriff auf Systemressourcen Sicherheitsrisiken darstellen kann. Daher ist es wichtig, Best Practices für Sicherheit bei der Entwicklung Ihrer Anwendung zu befolgen. 🎜> Während PHP für die Entwicklung von Desktop -Anwendungen verwendet werden kann, hat es einige Einschränkungen. PHP ist nicht so schnell wie kompilierte Sprachen wie C oder Java, daher ist es möglicherweise nicht für Anwendungen geeignet, die eine hohe Leistung erfordern. Darüber hinaus ist PHP nicht für die Entwicklung von Desktop -Anwendungen ausgelegt. Daher fehlen einige Funktionen, die in anderen Sprachen der Desktop -Anwendungsentwicklung häufig vorkommen. Tools wie PHP-Desktop und PHP-GTK können jedoch dazu beitragen, einige dieser Einschränkungen zu überwinden. Desktop -Anwendungsentwicklung. Wenn Sie eine PHP -Webanwendung haben, können Sie sie mit einem Tool wie PHP -Desktop in eine Desktop -Anwendung umwandeln. Dies kann Ihnen viel Zeit und Mühe sparen, da Sie Ihre Anwendung nicht von Grund auf neu schreiben müssen.
Kann ich Datenbanken mit PHP -Desktop -Anwendungen verwenden? PHP unterstützt eine Vielzahl von Datenbanken, einschließlich MySQL, PostgreSQL und SQLite. Sie können die integrierten Datenbankfunktionen von PHP oder eine Datenbankabstraktionsschicht wie PDO verwenden, um mit Ihrer Datenbank zu interagieren. Auf diese Weise können Sie Daten speichern und abrufen, genau wie in einer PHP -Webanwendung.
Das obige ist der detaillierte Inhalt von3 Möglichkeiten zur Entwicklung von Cross -Plattform -Desktop -Apps mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!