Un progetto dovrebbe iniziare con il client o il server? [chiuso]

1

Domanda abbastanza semplice con una risposta complessa.

Un progetto dovrebbe iniziare con il client o il server e perché?

Dove dovrebbe un singolo programmatore avviare un progetto client / server?

Quali sono le migliori pratiche e quali sono le ragioni dietro di esse? Se non riesci a pensare a nessuno, quali ragioni usi per giustificare il motivo per cui sceglieresti di avviarne uno prima dell'altro?

Personalmente, sto facendo questa domanda perché sto finendo le specifiche per un progetto che mi farò divertire da solo. Ma ora che sto finendo questa fase, mi chiedo "ok, ora da dove comincio?" Dal momento che non ho mai fatto un progetto come questo da solo, non sono sicuro di dove dovrei iniziare.

In questo progetto, il mio server farà tutto il lavoro pesante e il client invierà solo aggiornamenti, recupererà informazioni dal server e lo visualizzerà. Ma, non voglio che ciò oscilli la risposta poiché sto cercando una risposta più approfondita e meno specifica che si applicherebbe a qualsiasi progetto che comincerò in futuro.

    
posta developer1234 01.09.2012 - 18:36
fonte

2 risposte

8

Con qualsiasi sistema client-server, è necessario iniziare a definire come dovrebbero comunicare i due:

  • Quale infrastruttura usare? Collegato? Scollegato? Stateless? Stateful?
  • Che tipo di metodo di comunicazione? Spingere? Tirare? Un po 'di entrambi?
  • Quali chiamate dovrebbero essere disponibili per ciascuna parte?
  • Quali sono i requisiti di latenza?
  • Quali sono i requisiti di scalabilità?

(ci sono probabilmente molte altre domande a cui devi rispondere prima di poter iniziare a implementare)

Una volta eliminati i requisiti non funzionali e funzionali, puoi iniziare a definire la tecnologia da utilizzare. A questo punto puoi iniziare codificando alcuni semplici scambi di informazioni tra client e server: ti evolvi entrambi allo stesso tempo.

    
risposta data 01.09.2012 - 19:25
fonte
0

Non esiste una pratica migliore. La creazione di un client o di un server dipende innanzitutto dal contesto di ciò che stai creando. Tuttavia, se stai partendo da zero, devi creare entrambi .

Se stai costruendo un progetto client-server per divertimento, perché ti interessa cosa costruire prima? Avrete bisogno di entrambi, costruirete solo abbastanza di ciascuno per dimostrare che possono connettersi e dimostrare che funzionano. La creazione di un client che si connette a un server di base non dovrebbe richiedere più di un'ora. Ci sono molti esempi di base sul web.

@Oded ha risposto correttamente con diverse domande. Tuttavia, è probabile che a meno che tu non stia costruendo qualcosa con requisiti di latenza in tempo reale, allora un progetto web sarà sufficiente. Avrai quindi già un browser per agire come tuo cliente. Le tecnologie Web offrono soluzioni ai problemi comuni risolti dagli sviluppatori di sistemi distribuiti.

Ci sono client o server legacy per la cosa che stai costruendo. In tal caso, prendere in considerazione la possibilità di creare client e utilizzare il server esistente o viceversa.

    
risposta data 01.09.2012 - 21:41
fonte

Leggi altre domande sui tag