Existují v podstatě 3 způsoby, jak jít:
Verze 1:"Stará škola":PHP-Gtk+ a bcompiler
- nejprve, pokud jste tak ještě neučinili, musíte oddělit svou obchodní logiku od prezentační vrstvy (HTML, šablony, ...) a databázové vrstvy
- pak přizpůsobte svou databázovou vrstvu tak, aby mohla žít s alternativní DB (napadá mě místní SQlite) a proveďte synchronizaci, až budete znovu online
- Nakonec použijte PHP-Gtk+ k vytvoření nového uživatelského rozhraní a vše zabalte pomocí bcompileru
Verze 2:"Standardní":Vezměte si server s sebou
- Podívejte se na Server2Go, WampOnCD a přátele a vytvořte „webový server s dvojitým kliknutím“ (začněte na Z-WAMP )
- Stále musíte upravit vrstvu DB jako ve verzi 1
Verze 3:„Web 2.x“:Přesunutí aplikace ze serveru do prohlížeče
- Přesuňte logiku své aplikace ze strany serveru (PHP) na stranu klienta (JS)
- Udělejte ze své serverové části (PHP) pouze vrstvu pro přístup k datům nebo synchronizaci
- Použijte offline funkce HTML5 k nahrazení přístupu k datům místními daty, pokud jste offline, a k opětovné synchronizaci, pokud jste online
Který z nich je nejlepší?
To záleží na tom, co máte a co chcete. Pokud je většina vaší obchodní logiky v PHP, pak její přesunutí do prohlížeče může být neúnosně drahé – uvědomte si, že to také vytváří zcela novou třídu bezpečnostních nočních můr. Osobně nedoporučuji portování tímto způsobem, ale doporučuji to pro nové aplikace, pokud záložní databáze není příliš velká.
Pokud jste se rozhodli zachovat svou obchodní logiku PHP, pak je rozhodnutí mezi 1 a 2 často otázkou toho, kolik má vaše aplikace uživatelského rozhraní – pokud je to jen několik forem CRUD, 1. může být dobrý nápad – je to rozhodně nejpřenosnější (ve smyslu vzít si ho s sebou). Pokud ne, přejděte na 2.