Modo semplice per distribuire l'applicazione Winform sul sito web

1

Prima di tutto, so che non c'è una risposta perfetta alla mia domanda. È un po 'personale, ma sono sicuro che molti programmatori affrontano lo stesso dilemma quando ottengono dalle normali applicazioni desktop alle applicazioni web client / server: qual è il linguaggio / framework "migliore" da utilizzare? Ci sono molte ottime soluzioni là fuori, tutte con più o meno gli stessi vantaggi e caratteristiche. Quindi, vorrei un consiglio basato sui miei bisogni e sullo sfondo.

Sono abbastanza esperto con VB e PHP, e ho alcune conoscenze di Javascript e C #. Al momento ho un'applicazione C # Winform perfettamente funzionante che vorrei distribuire sul mio sito web. L'applicazione utilizza la webcam dell'utente per riconoscere una scheda di gioco attraverso un algoritmo di hashing percettivo e visualizza i dettagli della migliore scheda abbinata da un database MySQL. Ecco come vorrei che la versione web fosse eseguita:

  • il server invia un recordset delle ID di tutte le schede di date / hash delle corrispondenze al client
  • il client "scansiona" la sua scheda con la sua webcam e crea un hash
  • il client cerca una corrispondenza tra questo hash e quelli nel recordset
  • il client restituisce la migliore corrispondenza al server
  • il server visualizza le informazioni della carta dal database

I miei obiettivi:

  • limite (se possibile) la necessità per l'utente di installare software di terze parti (flash, java, activex o altri plugin)
  • crea una soluzione che si integri bene in un ambiente Windows / Apache / PHP
  • creare una soluzione che sia, idealmente, multipiattaforma
  • utilizzando una combinazione linguaggio / quadro su cui è semplice scrivere, eseguire il debug e mantenere il codice

Finora, sto guardando Python su Eclipse o Javascript su Visual Studio. Leggo cose interessanti su Ruby su rotaie, ma la curva di apprendimento potrebbe essere un po 'ripida per me. Non mi dispiace imparare una nuova lingua e codificare l'app da zero, ma mi piacerebbe il più possibile usare le competenze e il codice che ho già.

Qualche idea? Grazie!

    
posta zak_mckraken 26.05.2013 - 02:11
fonte

1 risposta

1

Ho una preoccupazione immediata con la webcam. Purtroppo non sono sicuro che ciò sia possibile senza l'utilizzo di app di terze parti come Flash o Java. Per non dire quelle sono idee cattive. Potresti considerare l'uso di JAVA per questo.

Con questo in mente parliamo di convertire la tua app c # winforms corrente in un'app web. Uno dei concetti chiave della programmazione è la separazione delle preoccupazioni.

Questo significa che la tua applicazione è suddivisa in tre livelli concettuali. Sono il livello di accesso ai dati, il livello della logica aziendale e il livello di presentazione. Il livello di accesso ai dati è per l'accesso ai dati, l'accesso al database e l'acquisizione generale dei dati. Il livello aziendale serve per accedere al livello dati, afferrare i dati (senza preoccuparsi di come hanno ottenuto i dati) e manipolare i dati per poi passarli sul livello di presenation. Quale è la responsabilità per l'interazione con l'utente finale.

Fingiamo che tu abbia fatto questo o qualcosa del genere durante lo sviluppo della tua applicazione. Ciò significa che tutto ciò che deve ancora fare è ridisegnare il livello di presentazione in modo che sia esposto al web anziché a forma di winform esposto. Il front end è sempre (secondo me) la parte difficile. Quindi questo non sarà divertente, ma potrebbe essere utile.

il problema che probabilmente affronterai sono le differenze di input / output tra winform e siti web. Quando si esegue questa operazione, si perde molto facilmente la possibilità di dirigere le cose con Winforms. Molto altro può essere fatto in diversi modi usando una combinazione di html5, css e javascript.

Puoi anche colmare il divario con un front-end basato su Java che chiama il tuo backend .net. Quindi ci sono molte opzioni per te.

Buona fortuna

    
risposta data 26.05.2013 - 21:03
fonte

Leggi altre domande sui tag