Come gestisci la configurazione di distribuzione dei tuoi browser spessi (html / javascript / css) client?

2

Domanda

Per quelli di voi che lavorano con html / javascript / css "thick client", in particolare quelli che funzionano contro alcune API server indipendenti dal client, come gestite la configurazione dell'ambiente di distribuzione?

Gestisci la configurazione al momento della compilazione con build di release per-environment (ad esempio, QA, STAGE, ecc.) oppure crei una versione generale e fai affidamento su una configurazione lato server? Cosa ha funzionato meglio nella tua esperienza?

Sfondo

La mia azienda ha diversi spessi client browser. Tutti i client condividono alcuni attributi comuni.

  • Operano contro un server API comune che non conosce le preoccupazioni specifiche del client
  • Sono completamente statici alla distribuzione e forniti tramite apache senza elaborazione sul lato server. Ciò significa che ogni ambiente richiede la propria versione di rilascio (QA, STAGE, UAT, PROD).

Stiamo esaminando il refactoring dei nostri clienti per avere build di release generiche e fare affidamento sull'elaborazione lato server per supportare la configurazione specifica del client necessaria. Questa sembra la scelta più ovvia, ma mi piacerebbe vedere come le altre persone nella stessa situazione lo hanno gestito.

    
posta Terence 15.09.2013 - 04:56
fonte

1 risposta

1

Ci sono un numero qualsiasi di opzioni diverse, e la migliore dipende dalle circostanze specifiche (molto più specifiche di quelle che abbiamo finora):

  1. Crea file di configurazione per-environment separati come parte dello script di build. Quindi lo script di distribuzione sostituisce i file predefiniti (solitamente vuoti) con l'ambiente corretto.

  2. Avere solo una configurazione, ma utilizzare token di sostituzione e utilizzare uno strumento di gestione della configurazione come ESCAPE o uno strumento di automazione del rilascio come Nolio per sostituirli durante la distribuzione.

  3. Implementare un'API di configurazione come parte del server delle applicazioni. Il client potrebbe richiedere le impostazioni correnti durante il caricamento iniziale.

  4. Non hanno alcuna dipendenza di configurazione nel client. Lascia che sia il server a gestirlo nel comportamento delle sue API e fai in modo che l'unica "impostazione" per il client sia l'URL di base per le varie API.

Potrebbero esserci più opzioni ma quelle sono ovvie. E, come ho detto, quale è il più appropriato per te dipende dalla tua esatta situazione. Non ci hai ancora detto abbastanza per consigliarne uno specifico.

    
risposta data 19.09.2013 - 02:59
fonte