Come consentire agli utenti di condividere il contenuto del codice personalizzato in base alle restrizioni dell'archivio app mobile?

2

Situazione

È noto che i proprietari di negozi di applicazioni mobili vietano esplicitamente alcuni scenari di estensibilità dell'applicazione.

di Apple:

2.7 Apps that download code in any way or form will be rejected

2.8 Apps that install or launch other executable code will be rejected

https://developer.apple.com/app-store/review/guidelines/#functionality

Microsoft

3.9 All app logic must originate from, and reside in, your app package Your app must not attempt to change or extend the packaged content through any form of dynamic inclusion of code that changes how the application behaves with regard to Store certification requirements. Your app should not, for example, download a remote script and subsequently execute that script in the local context of the app package.

http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx

Google (non sono sicuro se sia così restrittivo):

An app downloaded from Google Play may not modify, replace or update its own APK binary code using any method other than Google Play's update mechanism.

link

problema

Alcune applicazioni come Minecraft e Codea sono pensate per consentire agli utenti di produrre contenuti (non solo consumarli). I progetti Codea sono ovviamente un codice eseguibile e Minecraft è noto per essere completo da Turing .

Ora non dispongono di funzionalità di galleria di comunità online integrate, ma sarebbe facile immaginarle aggiunte in futuro. Questo è qualcosa che gli utenti apprezzerebbero sicuramente:

link

link

Microsoft ha già fatto questo con Project Spark (PC / Xbox) e Media Molecule / Sony hanno questo nel loro Little Big Planet (PS, anche Turing-complete ).

Domande

1) Ovviamente i proprietari di negozi specifici prendono le proprie decisioni, spesso casuali e ingiuste, ma generalmente dove si trova la linea tra "codice" e contenuto creato dall'utente?

2) È una decisione consapevole favorire la sicurezza rispetto all'esperienza o un semplice caso di miopia?

3) Cosa si può fare per aggirare oggi? Sono a conoscenza della tecnologia del browser, ma sono interessato solo allo sviluppo di applicazioni.

    
posta Den 07.01.2015 - 14:44
fonte

2 risposte

2

Per le app iOS, nel loro accordo per gli sviluppatori, Apple afferma un'eccezione alla regola 2.7 per l'interpretazione del codice scaricato, se tale codice è Javascript, eseguito utilizzando le API pubbliche di UIWebView o WebKit (che può essere un sottocomponente di un'app iOS nativa ), e che non modifica la funzionalità di base dell'app secondo la descrizione dell'app o come inviata per la revisione.

La vecchia maniera (da Apple II in poi) per distribuire il codice era quella di pubblicare quel codice in stampa, e gli utenti (ri) digitare il codice sorgente nel proprio computer (o in un terminale). Apple sembra consentire agli interpreti del linguaggio di programmazione nell'App store (molti: BASIC, Lisp, Python, ecc.) Che consentono il codice in esecuzione che gli utenti hanno digitato autonomamente. Quindi questo modo vecchio di condividere il codice funzionerà ancora.

Basta visualizzare il codice sorgente, o permetterne la stampa, e lasciare che l'utente lo inserisca manualmente nella sua app mobile.

    
risposta data 09.11.2015 - 08:55
fonte
1

Per una risposta davvero definitiva, dovrai chiedere a Apple, Microsoft e Google ciò che considerano codice e perché tali restrizioni sono in vigore.

Generalmente, "codice" indica istruzioni che possono essere eseguite sul dispositivo in questione, direttamente o tramite un interprete. Comprende quindi anche gli script.

Probabilmente esistono queste restrizioni per dare ai proprietari dei negozi una possibilità di combattere contro il malware. Va notato che, a causa del modo in cui le app su queste piattaforme mobili sono isolate l'una dall'altra, ai virus-scanner è anche vietato svolgere gran parte del lavoro per proteggerti che potresti dare per scontato su un PC.

Se vuoi veramente creare un'app in grado di eseguire il codice di terze parti scaricati, la tua unica opzione legale sembra essere quella di metterlo fuori dai negozi ufficiali. Risolvi un grosso rischio che l'app venga considerata con sospetto in ogni caso.

    
risposta data 07.01.2015 - 16:57
fonte

Leggi altre domande sui tag