​​Runtime Permissons — это зло?

#разработка #думы #дизайн



В выходные прочитал мнение, что анонсированные в Android Marshmallow разрешения налету — это плохо.



Во-первых, подобные сообщения блокируют работу приложения. Представьте, что у вас есть стороннее приложение, которое снимает фото. Вы заметили отличный кадр и хотите оперативно заснять увиденное. Но вместо того, чтобы использовать функцию приложения, нужно дать ему разрешение. Пока делаете это, момент может быть упущен.



Во-вторых, разработчикам необходимо добавлять проверки в код. Стандартные проверки сделаны не достаточно удобно, и многие в качестве альтернативы используют сторонние библиотеки. Это решает часть проблем, но все равно появляется лишние строки кода.



В-третьих, подобные уведомления портят дизайн приложения. Они системные, их нельзя кастомизировать.



Какие же альтернативные варианты?

Например, давать пользователю при установке приложения выбор: или разрешить делать какой-то набор разрешений, как было до Android Marshmallow, или же разрешать всё налету, как сейчас.



Думаю, что в этих мыслях есть доля правды. Идея давать доступ к системным компонентам налету отличная. Сам часто запрещаю доступ к локации, фото и контактам, когда не понимаю, зачем этого хочет приложение. А насчет правильности реализации — действительно есть вопросы, но достойной альтернативы, кроме описанной выше, я не вижу.