Quali sono le principali sfide nell’uso di D3.js su iOS?

Non ho mai provato ad usare D3.js (libreria JavaScript) in iOS, ma l'ho usato ampiamente nel web, quindi cercherò di rispondere a questa domanda.

Quando dici iOS, presumo che tu intenda usarlo in un'applicazione nativa, piuttosto che in un browser mobile. Le applicazioni native sono scritte in Objective-C (o Swift?) piuttosto che in JavaScript, quindi non sareste in grado di usare D3.js direttamente. Potreste, tuttavia, usare una UIWebView che punta ad una pagina web che avete creato con il contenuto che volete rendere con D3.js (libreria JavaScript). Questo incontra gli stessi problemi del web mobile, che dalle mie precedenti esperienze si riducono a:

  1. Schermo più piccolo. Molte visualizzazioni sono abbastanza complesse e grandi e si prestano a schermi più grandi. Questo è particolarmente esacerbato quando più visualizzazioni interagiscono e si influenzano a vicenda.
  2. Meno potenza di calcolo. Non ho tenuto il passo con le recenti specifiche di iPhone/iPad, ma di solito sono meno performanti del desktop. Questo significa che alcune cose che sembrano fluide su un computer portatile o desktop sono laggose su un telefono. Specialmente se la visualizzazione ha transizioni, o reagisce allo scorrimento.

L'unico potenziale salvatore è React Native. L'ultima volta che abbiamo parlato, Miles McCrocklin stava facendo cose molto interessanti usando D3 con React Native, che è in JavaScript e compila un'app nativa per iOS.