C'è un modo per sviluppare software desktop usando PHP?

3

Devo sviluppare un software CRM di marketing immobiliare per il mio cliente, in cui l'applicazione è installata sul desktop ma è accessibile anche dal web.

2 motivi per cui vogliono che l'applicazione venga eseguita dal desktop:

  1. In modo che possa funzionare con / senza connessione internet
  2. Non vogliono che i loro dati completi siano online

Vogliono accedere ad alcuni dei dati come l'elenco delle proprietà & richieste (gestite da un'applicazione desktop) dal loro sito Web tramite login e amp; sicuro parola d'ordine.

I dati inseriti nell'applicazione desktop devono essere sincronizzati automaticamente con l'applicazione del sito web. Mi stavo chiedendo se c'è un modo per sviluppare questo tipo di software usando PHP & MySQL. Se sì, sarà bello se qualcuno mi può fornire il link di riferimento. Per favore, suggerisci, quale lingua dovrei usare.

    
posta user1492018 23.11.2012 - 21:48
fonte

9 risposte

20

C'è un modo, sì, usando un'associazione a una libreria della GUI come PHP / Gtk. Ma non lo consiglio.

Utilizza invece un linguaggio come C #, VB.Net, Delphi, Lazarus o Python per creare l'app desktop. Il loro supporto per le applicazioni desktop è molto più maturo. I risultati saranno molto migliori e avrete meno mal di testa dall'esperienza. Non cercare di forzare il quadrato PHP peg nel foro del desktop rotondo.

Se quello che stai veramente chiedendo è se puoi creare un software desktop con tecnologie web, allora sì che è possibile. Guarda strumenti come nwjs (was node-webkit), con cui puoi creare app desktop usando HTML & JavaScript. In tale applicazione, non è richiesto alcun server Web, sebbene possa certamente parlare con un server Web su cui è in esecuzione un'applicazione PHP, se necessario.

    
risposta data 23.11.2012 - 22:29
fonte
12

Una possibilità potrebbe essere quella di sviluppare l'applicazione come applicazione web ed eseguire il server web sul desktop. In questo modo non hai bisogno di una tecnologia diversa.

EDIT: esistono soluzioni server Web portatili (ad esempio, link o link ), che rendono questo approccio molto più semplice.

    
risposta data 23.11.2012 - 23:30
fonte
8

È possibile, ma raramente è fatto. PHP è stato progettato come linguaggio per generare HTML e le sue funzioni non sono utili nelle applicazioni desktop.

Le cose saranno più facili se impari un'altra lingua.

PHP-GTK, PHP-QT e PHP-Wx esistono ma non hanno alcuna comunità significativa. Provare a realizzare un'applicazione distribuibile sarà difficile.

    
risposta data 22.07.2013 - 17:04
fonte
5

PHP-GTK è un'estensione per il linguaggio di programmazione PHP che implementa i binding di lingua per GTK +. Fornisce un'interfaccia orientata agli oggetti alle classi e alle funzioni GTK + e semplifica enormemente la scrittura di applicazioni GUI multipiattaforma lato client.

link

GTK + è un toolkit multipiattaforma per la creazione di interfacce utente grafiche. Offrendo un set completo di widget, GTK + è adatto a progetti che vanno dai piccoli strumenti unici per completare le suite di applicazioni.

link

    
risposta data 20.06.2011 - 11:51
fonte
5

Quando tutto ciò che hai è un martello ...

In teoria, sì. In pratica non lo farei.

C'è un'estensione PHP-GTK che ti permette di creare applicazioni GUI su PHP (anche se non l'ho mai usato).

Tuttavia, PHP non è progettato per la creazione di app GUI e la sua architettura non è favorevole a tali progetti. PHP è progettato per gestire modelli di richiesta / risposta di breve durata e questo è ciò che fa meglio.

Dovresti scegliere gli strumenti adatti al lavoro che stai facendo piuttosto che provare a forzare un determinato strumento con cui hai familiarità in un ruolo per il quale non è stato creato. Il risultato non sarà mai vicino a quello ottimale se lo fai.

Esistono molti altri linguaggi che forniscono le funzionalità necessarie per creare un'applicazione CRM, java, C #, C ++ e un gran numero di altri strumenti. Sono anche più adatti per creare applicazioni GUI di quanto lo sia PHP. Avrei seriamente in considerazione di guardare uno di quelli invece.

    
risposta data 28.11.2012 - 11:33
fonte
2

Ecco due possibili approcci che vorrei prendere:

  1. Potresti provare Appcelerator Titanium per lo sviluppo del desktop con PHP .

  2. In alternativa, è possibile installare un server Web locale, sviluppare la logica dell'applicazione, creare un servizio Web e sviluppare la logica di visualizzazione in qualcosa come Java per interfacciarsi con il servizio web.

Se segui il secondo approccio, ti consigliamo di utilizzare REST as il tipo di servizio web.

    
risposta data 24.11.2012 - 02:43
fonte
0

Sì, il suo possibile progetto php gtk non è più attivo, con la potenza di php 5.4 c'è una piattaforma migliore chiamata wxphp qualcosa basata su popolari wxWidget, provalo Credo che non rimarrai deluso

Ecco perché:

  • È basato sul più popolare wxWidget
  • Compatibile con piattaforme GUI Windows, Mac, Linux / Ubuntu
  • wxWidget Utilizza sempre la GUI nativa
  • wxWidget ancora in sviluppo attivo

Per ulteriori informazioni sulla visita di wxWidget qui wxWidget

    
risposta data 27.10.2013 - 16:59
fonte
0

Nightrain - PHP Desktop Packager potrebbe essere quello che stai cercando. Nightrain non include MySQL ma puoi installarlo sul computer dell'utente o puoi semplicemente aggiornare la tua applicazione per utilizzare Database SQLite. Per i tuoi particolari requisiti, il passaggio al database SQLite potrebbe essere migliore.

Ecco cosa devi fare:

  1. Scarica Nightrain da: link
  2. Copia la tua applicazione nella cartella / www
  3. Esegui l'eseguibile nightrain per lanciare la tua applicazione, provarla o fare qualsiasi modifica tu abbia
risposta data 06.11.2013 - 06:15
fonte
0

Sembra una specie di grezzo, ma esporti semplicemente i tuoi dati come un foglio di calcolo. E lasciali giocare con il foglio di calcolo sul loro desktop. Potresti impazzire e fare in modo che il server Web carichi un foglio di calcolo modificato e applichi eventuali aggiornamenti al DB centrale.

Ovviamente questo è molto soggetto a errori e clunky, MA, così come qualsiasi altra soluzione di replica offline. Almeno gli utenti saranno consapevoli dei problemi evidenti. Qualsiasi altra soluzione avrà gli stessi problemi di base, ma un'interfaccia slicker darà un falso senso di sicurezza.

    
risposta data 06.11.2013 - 09:45
fonte

Leggi altre domande sui tag