pixel a parte, come attraversare la valle misteriosa delle app ibride? (prestazione)

-2

Vedo i principali svantaggi delle app ibride (webview / dom), rispetto a native, come segue, nell'ordine

  • tempo di avvio / avvio
  • frequenze fotogrammi uniformi (senza jank)
  • reattività all'input, istantanea

    1. ce ne sono
      • ha stabilito metodi e pratiche di sviluppo del software da seguire?
      • requisiti software definiti?
    2. hai qualche architettura e progettazione software raccomandata?
posta Wis 19.05.2018 - 01:39
fonte

1 risposta

-1

con moderne pratiche e tecnologie web, è assolutamente possibile ottenere praticamente / percepibilmente come una buona prestazione come nativo, ma richiede uno sforzo, diversamente dallo sviluppo di app native (non webview / DOM UI) in cui le ricevi gratis senza preoccupazioni / sforzi.

  1. are there any established software development methods and practices to follow? defined software requirements?

Sì, consulta e utilizza gli RAIL e PRPL modelli / modelli di sviluppo web.

  1. do you have any recommended software architecture and design?
  • usa una moderna libreria UI del componente dichiarativo (ad es. React)
    • pre-rendering del DOM per stringhe / file HTML statici in background
      • libreria UI bootstrap da file HTML / HTML statico pre-rendering
    • ha un flusso di dati unidirezionale, non un collegamento dati bidirezionale
      • utilizzare un singolo archivio dati normalizzato (ad es. Redux)
        • salva e idrata il negozio
          • includilo con il file HTML pre-renderizzato (dichiari lo stato con json nel tag script)
        • usa una struttura dati immutabile lungo con il confronto / controllo di riferimento della libreria UI (ad esempio immutable.js)
    • non caricare l'intera app all'avvio
      • utilizza la strategia di suddivisione del codice integrata con il router della libreria UI
    • non fare richiesta di rete all'avvio, prelettura in background e cache per l'avvio.
      • se si usa redux / any caching significa update store
        • e pre-rendering se pre-rendering
      • se i dati sono obsoleti, avere una buona UX da recuperare dopo l'avvio, quindi toccare per aggiornare l'interfaccia utente
    • usa il componente lista di scorrimento infinita / virtuale
  • usa l'osservabile per modellare l'asincronicità. (ad esempio rxjs)
    • ad es. richieste Ajax cancellabili (risposte droppabili).
      • ad esempio quando l'utente cambia idea e annulla / torna all'interfaccia utente
    • se stai usando l'opzione Redux su Redux-observeable
risposta data 19.05.2018 - 01:42
fonte

Leggi altre domande sui tag