App Web contro App desktop relativa alla distribuzione

3

Mi sto cimentando con l'opportunità per un'azienda locale di sviluppare un piccolo e semplice gestore di schede attività (registrano ancora il tempo a mano) e sono attualmente in fase di pianificazione. Comprenderà funzionalità di base come la gestione delle informazioni dei dipendenti, il tempo di registrazione lavorato su base settimanale per il libro paga e la generazione di rapporti per l'amministrazione.

Ho sviluppato applicazioni Windows Form per un po 'e sono abbastanza sicuro che le mie capacità di codifica siano dove devono essere per questo progetto, ma sono abbastanza nuovo sia per ASP.NET sia per il concetto di sviluppo di un sistema desktop completo al contrario delle singole applicazioni, quindi le mie domande probabilmente suoneranno molto elementari. Mi sto principalmente sforzando di capire come scegliere tra ASP.NET e Windows Form per quanto riguarda l'implementazione in futuro. Spero che voi ragazzi possiate offrire qualche intuizione.

Sono ancora un po 'confuso su come funziona l'hosting di applicazioni web / database. Se sviluppo per desktop, il database avrà bisogno di un server fisico se più di una workstation / client vuole l'accesso? Una delle workstation potrebbe funzionare come server (ci sono meno di 20-30 dipendenti in un dato momento, quindi la dimensione dei dati non dovrebbe essere un problema)? Un sistema ASP.NET richiederebbe l'acquisto di un host web? Oppure, i file Web possono essere ospitati su un computer / server locale con IIS come intranet? La virtualizzazione può andare bene da qualche parte in tutto questo?

Suppongo che si riduca a: Posso ottenerli e andare gratis, o il costo di hosting / server è implicito in entrambi i casi?

Grazie in anticipo!

    
posta Tyler Daniels 30.09.2013 - 22:18
fonte

4 risposte

6

Per l'applicazione Web ASP.NET, puoi avere diverse opzioni:

1-Deploy su una stazione di lavoro utente - Questa è una cattiva soluzione per un'applicazione seria. Otterrai prestazioni imprevedibili, problemi di debug e probabilmente problemi di sicurezza, per citare alcuni dei problemi.

2-Distribuire il server Web e il server di database su una macchina dedicata di proprietà dell'azienda. Questo è ciò che vorrei fare. Il costo dell'hardware non va perso poiché il server può essere riutilizzato o condiviso da più applicazioni. È possibile proteggere la scatola dietro un firewall e configurarla facilmente. Non è necessario separare il server del database dal server Web. L'amministrazione può essere condotta dal personale attuale. Non sono sicuro del costo del database in questo scenario. Alcuni database possono essere gratuiti (mySQL?). So che SQLServer Express è gratuito (consente 5 utenti concorrenti). Controlla questo prima di calcolare il costo totale della soluzione. Anche altri costi del software devono essere considerati come firewall, IIS e il sistema operativo.

3-Distribuire utilizzando una società di hosting di terze parti - Molto conveniente e non difficile da fare ma non tutti i fornitori accettano i propri dati per essere al di fuori dell'azienda. La facilità di accesso al database e al server varierà in base al fornitore di hosting. Avrai bisogno di un buon supporto per i fornitori. La cosa buona qui è che non pagherai grandi quantità per il database, ma potresti pagare un po 'per l'archiviazione, ecc. In generale il costo è molto conveniente.

4-Distribuisci sul cloud.

Nel tuo caso, vorrei suggerire che, dal momento che sei nuovo nello sviluppo web in ASP, e se non hai abbastanza tempo, dimentica la soluzione web e crea una soluzione desktop se tutti i dipendenti sono usando Windows e sono connessi alla LAN quando usano il sistema . È anche possibile sviluppare un'applicazione desktop che utilizza un database condiviso utilizzando i servizi Web. Non sottovalutare la curva di apprendimento per lo sviluppo web, specialmente se la qualità dell'interfaccia è importante. Costruire un'interfaccia dell'applicazione usando HTML / CSS non è semplice con gli strumenti oggi disponibili sul mercato a meno che tu non sia molto bravo con questa tecnologia o abbia uno sviluppatore front-end che può aiutarti.

    
risposta data 30.09.2013 - 23:08
fonte
3

If I develop for desktop, will the database need a physical server if more than one workstation/client wants access?

Lo raccomanderebbe in quanto la workstation deve essere online 24 ore su 24, 7 giorni su 7, se gli altri dipendenti dovessero essere in grado di utilizzare l'applicazione.

Could one of the workstations act as a server (there are under 20-30 employees at any given time, so data size shouldn't be an issue)?

Tecnicamente possibile, sì.

Would an ASP.NET system require purchasing a web host?

No. Ma lo consiglierei.

Or, can the web files be hosted on a local computer/server with IIS as an intranet?

Possibile. Continua a far funzionare il computer.

Can virtualization fit somewhere in all this?

Imho che potrebbe complicare eccessivamente le cose se oggi non usano la virtualizzazione.

Come sai Winforms, perché non lo usi semplicemente insieme a ClickOnce? Facile implementazione per piccole applicazioni come la tua.

    
risposta data 30.09.2013 - 23:28
fonte
-2

Dovresti provare una piattaforma RAD per i database desktop, nascondono la complessità della creazione e della distribuzione di soluzioni di database, ad esempio alpha5, brilliantdb, lyterad. Hanno tutti i propri limiti, ma ti aiuteranno a iniziare con un'app di database pronta all'uso in pochi minuti.

Ma non ne hai bisogno se sei già un esperto di db.

    
risposta data 03.12.2013 - 20:24
fonte
-4

Se la tua APP WEB sta per essere eseguita in Explorer, Safari, Chrome, Firefox da un PC, Mac, smartphone Android, Blackberry e Iphone .... fai una APP WEB

In caso contrario, un'app desktop semplice e veloce farà il lavoro ...

A proposito, non confondere l'APP WEB con "Explorer APP".

    
risposta data 03.10.2013 - 17:30
fonte

Leggi altre domande sui tag