Istnieją zasadniczo 3 sposoby:
Wersja 1:„Stara szkoła”:PHP-Gtk+ i bkompilator
- po pierwsze, jeśli jeszcze tego nie zrobiłeś, musisz oddzielić logikę biznesową od warstwy prezentacji (HTML, silniki szablonów, ...) i warstwy bazy danych
- następnie dostosuj warstwę bazy danych, aby mogła żyć z alternatywną bazą danych (przychodzi mi na myśl lokalny SQlite) i wykonaj synchronizację, gdy ponownie będzie online
- Na koniec użyj PHP-Gtk+, aby utworzyć nowy interfejs użytkownika i spakować to wszystko za pomocą bkompilatora
Wersja 2:„Standardowa”:zabierz swój serwer ze sobą
- Spójrz na Server2Go, WampOnCD i znajomych, aby stworzyć „podwójnie klikalny serwer WWW” (Zacznij od Z-WAMP )
- Nadal musisz dostosować swoją warstwę DB jak w wersji 1
Wersja 3:„Web 2.x”:przenieś aplikację z serwera do przeglądarki
- Przenieś logikę aplikacji ze strony serwera (PHP) na stronę klienta (JS)
- Uczyń swoją część serwerową (PHP) tylko warstwą dostępu do danych lub synchronizacji
- Użyj funkcji offline HTML5, aby zastąpić dostęp do danych danymi lokalnymi, jeśli jesteś offline i ponownie zsynchronizuj, jeśli jesteś online
Który jest najlepszy?
To zależy od tego, co masz i czego chcesz. Jeśli większość logiki biznesowej jest w PHP, przeniesienie jej do przeglądarki może być niezwykle kosztowne - pamiętaj, że generuje to również zupełnie nową klasę koszmarów bezpieczeństwa. Osobiście nie polecam portowania w ten sposób, ale polecam go w przypadku nowych aplikacji, jeśli baza danych nie jest zbyt duża.
Jeśli zdecydujesz się zachować logikę biznesową PHP, decyzja między 1 a 2 często dotyczy tego, ile interfejsu użytkownika ma Twoja aplikacja — jeśli jest to tylko kilka formularzy CRUD, 1. może być dobrym pomysłem — jest to zdecydowanie najbardziej przenośny (w sensie zabrania go ze sobą). Jeśli nie, wybierz 2.