Qt QML dinamico rapido rispetto alle regole dell'Apple App Store

4

Immagina di avere un pezzo di hardware audio personalizzato che mi piacerebbe poter controllare in una moltitudine di modi tramite una GUI tablet / touchscreen. In particolare, i miei obiettivi sono far sì che la GUI del tablet sia "carina" (ad esempio, ben animata e dall'aspetto moderno, come ci si aspetterebbe da un iPad), che sia cross-platform (cioè la stessa base di codice può essere eseguita su iOS, Android e / o su un computer desktop e si comportano all'incirca allo stesso modo su ciascuno di essi) e rendono anche il comportamento di runtime dell'app più generico / flessibile possibile.

Poiché l'hardware del server può fare tante cose diverse, penso che sarebbe utile se potessi evitare di dover codificare qualsiasi particolare funzionalità della GUI nell'app del tablet, fatta eccezione per la possibilità di scoprire e connettersi all'hardware del server , quindi scaricare i file QML appropriati e JavaScript ed eseguirli, ed eseguire l'esecuzione QML e JavaScript per configurare una GUI appropriatamente personalizzata per quel tablet su quel server. In questo modo, l'utente non è costantemente costretto ad aggiornare l'app client su ciascuno dei suoi tablet ogni volta che vengono aggiunte nuove funzionalità o comportamenti al server (e non sono obbligato a spingere costantemente gli aggiornamenti per le app store iOS e Android ).

Questo approccio sembra funzionare tecnicamente, tranne per il fatto che sono preoccupato che Apple non consenta un'applicazione del genere nell'app store Mac, a causa del loro regola che vieta il codice interpretato scaricato . Non mi piacerebbe avere molti problemi a progettare e implementare questo approccio, ma alla fine scoprirò che devo ricominciare da quando Apple non lo permetterà.

Quindi le mie domande sono:

  1. Questo approccio è tecnicamente possibile con Qt Quick e QML? (AFAICT lo è, ma non fa mai male ricontrollare)

  2. È probabile che un programma venga rifiutato da Apple per l'App Store? (AFAICT lo farà, ma forse c'è qualche scappatoia che posso sfruttare, o forse ho frainteso la regola in qualche modo)

  3. Se questo approccio verrebbe rifiutato dall'App Store, c'è un design alternativo / consigliato che potrei usare invece che passerebbe il raduno, pur conservando le qualità che mi piacerebbe conservare (es. completare le specifiche lato server del comportamento e dell'aspetto della GUI in fase di esecuzione, senza costringere l'utente ad aggiornare l'app ogni volta)? (Suppongo che un approccio sarebbe quello di implementare la mia app come una pagina web abilitata per JavaScript, e chiedere all'utente di puntare il browser del tablet su un server web sul mio server per "eseguirlo", ma non sono sicuro ciò mi darebbe un controllo sufficiente sull'esperienza utente per essere molto soddisfacente)

posta Jeremy Friesner 27.06.2016 - 16:44
fonte

1 risposta

0

L'unico modo ufficialmente consentito per eseguire il codice scaricato su iOS è per il codice JavaScript che deve essere scaricato ed eseguito in un UIWebView / WKWebView.

Quindi una possibile soluzione sarebbe sostituire QML con HTML / CSS e creare un'app ibrida che esegua l'interfaccia utente in una WebView. Questo approccio è abbastanza comune in AppStore. È utilizzato anche da alcune migliori app.

Esistono framework che ti aiutano a eseguire il bootstrap di un'app multipiattaforma. Un framework gratuito popolare è link Con questo puoi avere un'interfaccia utente scaricabile personalizzata e accedere alla parte del codice nativo (tramite plugin personalizzati). L'ho usato per creare una semplice app "intervista obiettiva c".

    
risposta data 21.08.2016 - 01:35
fonte

Leggi altre domande sui tag