A maioria dos elementos do hardware, ou conjuntos de dados compartilhados entre aplicativos na plataforma Android e iOS, é strongmente controlada e é fornecida apenas para aplicativos explicitamente com base na necessidade de conhecimento. Isso pode permitir que o usuário garanta, por exemplo, que um aplicativo mal-intencionado de lanterna não esteja enviando sua localização e sua lista de contatos.
Na área de trabalho no Ubuntu, há efetivamente dois níveis de permissão de controle: usuário e raiz. No caso do usuário, não é oferecida muita restrição. Ele ainda pode se conectar à Internet, interagir com a maioria dos hardwares que desejar e ler / gravar qualquer arquivo em /home/user/
. Este modelo assume que o usuário é competente o suficiente para garantir que um aplicativo que esteja usando seja legítimo (o que é muito fácil com software de código aberto).
Então, minha pergunta é: que tipo de restrições e controle sobre as habilidades de um aplicativo estarão implementadas na plataforma móvel? E como é tudo o mesmo sistema operacional, como esse sistema vai transbordar para a área de trabalho? Todos os programas precisam ser colocados em sandbox?
Estou muito interessado em conhecer o plano:)
PS. Uma coisa que eu gosto na maneira como o iOS faz sobre o Android é que muitas permissões devem ser explicitamente aprovadas pelo usuário quando ele é executado pela primeira vez. O resultado é que, se você não quer dizer ao aplicativo do Facebook onde você está, você pode simplesmente desaprová-lo, em vez de no Android, onde você só precisa desinstalar o aplicativo e Get Over It ™.
O sistema que gostaria para ver é pedir permissão com a opção "Só desta vez" e "Sempre", quando o aplicativo precisa dessa permissão para executar um comando . Quer se encontrar no mapa? Peça permissão de localização. Assim como a forma como algumas APIs HTML5 são tratadas.