Registri di sistema sull'applicazione client

5

Attualmente stiamo costruendo un framework (libreria statica a sorgente chiusa) che comunicherà con alcuni dispositivi domestici Smart tramite Wi-Fi. Questo framework verrà utilizzato da sviluppatori di terze parti per creare le proprie applicazioni (principalmente applicazioni mobili) al fine di comunicare con tali dispositivi.

Attualmente abbiamo opinioni divergenti su se il framework dovrebbe generare qualsiasi log visibile (ad esempio un file di log o un logger di eventi) su una versione di rilascio (forniremo una versione di debug e di rilascio a sviluppatori di terze parti).

Motivi per i log:

  • I log sono sempre utili se abbiamo bisogno di scoprire la causa principale di un errore imprevisto.
  • Qualsiasi forma di log è sempre buona
  • Ottenere le informazioni dei registri dal telefono cellulare dovrebbe essere facile. (Da un utente dell'app o un tecnico di supporto)
  • Possiamo dimostrare che è colpa degli sviluppatori di applicazioni se ci danno la colpa a noi.
  • Alcuni problemi possono verificarsi solo nella produzione che non può essere riprodotta sull'ambiente di prova.
  • I file di registro non sono comunque grandi. Un piccolo file di registro che utilizza parte della memoria del dispositivo non dovrebbe essere un problema.
  • Tutte le applicazioni / API server hanno sempre i log.
  • Il reverse engineer è sempre possibile tramite decompilare, quindi non dovrebbe davvero importare.

Motivi per non avere registri:

  • Framework non possiede l'applicazione.
  • La maggior parte degli utenti non ha idea di come estrarre i file di registro dalla memoria dell'applicazione (quindi è meno probabile che sia in grado di ottenerli), quindi non aggiungere qualcosa che non verrà utilizzato
  • Lo sviluppatore di applicazioni dovrebbe essere in grado di individuare il problema con il proprio metodo di log / debug prima di contattarci
  • Rischio di esporre troppe informazioni agli utenti finali.
  • Nessun altro framework sembra farlo (ad esempio, Facebook SDK / Google SDK)
  • Acquisizione della memoria del dispositivo. Conteggio di ogni byte.
  • È il responsabile dell'utente quadro (sviluppatore) di avere i propri registri / rapporti sugli arresti anomali se lo desiderano.
  • La versione di debug con registri console / debugger dovrebbe essere sufficiente per gli sviluppatori.

Quindi sostanzialmente non siamo in grado di entrare in un accordo. Chiediti cosa ne pensa la più ampia comunità se tu sei lo sviluppatore che usa una libreria statica closed source su un'applicazione client.

    
posta CHey 19.01.2017 - 07:15
fonte

1 risposta

4

Non puoi renderlo configurabile? Quasi tutte le librerie Android che eseguono richieste di rete che conosco eseguono una delle seguenti operazioni:

  1. Avere un file di configurazione e / o setter su una classe in cui è possibile attivare la registrazione e impostare il livello di registro
  2. Leggi se l'app è compilata come debugabile e registra di conseguenza

Come sviluppatore sarei piuttosto seccato se una libreria arrivasse in due versioni (debug e release) o decidesse solo per me. Anche l'accesso alla produzione su dispositivi mobili è un no-go in quanto può essere letto da chiunque abbia accesso al dispositivo.

    
risposta data 24.01.2017 - 21:23
fonte

Leggi altre domande sui tag