Не далее как сегодня утром на хабре появилась статья (переводная) "Будущее мобайла — не приложения, а браузеры". Начал было писать комментарий, но вскоре понял, что «вылетаю за рамки» формата, поэтому решил написать свои аргументы против браузерных приложений более подробно. Сразу хочу сказать, что я — ни капельки не программист (но, скажем так, — сочувствующий), поэтому «не обременён» детальными знаниями технологий, а следовательно — могу и буду рассуждать прежде всего с позиций пользователя.
Для начала — отмечу тот плюс замены браузерными технологиями (приложениями, выполняемыми в браузере) нативных (исполняемых на самом устройстве, в его «экологической среде»), который я вижу" со своей колокольни". Заключается он в том, что унифицированная технология легче в использовании: по ней будет больше разнообразной информации, с ней будет знакомо больше специалистов (проще получить консультацию, легче войти в отрасль новым разработчикам), легче собрать и обобщить известные решения. Если правильно распорядиться усилиями программистов, создающих и поддерживающих эту технологию, то можно получить идеально «вылизанный», практически совершенный код. Но здесь же кроется и подвох — чем легче будет технология, тем больше будет кодеров, не до конца осознающих, что же они делают (то есть приложений действительно будет много — но вот качество их будет невысоким). Зарплаты разработчиков просядут, качество отправится следом.
Невозможно сказать однозначно, что произойдёт со стабильностью системы, основанной на браузерных технологиях. С одной стороны, чем больше софта устанавливаешь в систему — тем нестабильнее она становится, больше ресурсов потребляет и т.п. То есть можно ожидать, что в целом перемещение функций из нативных в браузерные позволит провести унификацию технологий, оптимизировать код (правда — возникает вопрос — как именно? что именно будет оптимизировано и как это повлияет на всё остальное? а главное — грабли будут не убраны, а просто переложены, но куда?). С другой стороны, «проблему невозможно решить на том уровне, на котором она возникла», а следовательно — куда ни переноси выполнение кода, уже имеющиеся проблемы от этого не «рассосутся» сами собой, и их всё же придётся решать.
В нулевые годы была популярна шутка про Windows, все проблемы которой можно было решить двумя способами — перезагрузкой и переустановкой. Для платформы Android (по-видимому, в полном соответствии с этой шуткой) стабильность работы длительное время (скажем, хотя бы пару лет без переустановки или хотя бы месяц без перезагрузки) возможна только при полном отказе от установки каких-либо программ, не идущих со смартфоном «из коробки». Обновления — это то же самое, что и новая установка, поскольку любое изменение хотя бы одного компонента хорошо сбалансированной системы (а «чистый» андроид — это достаточно хорошо сбалансированная, на мой взгляд, система) нарушает этот баланс. Если же провести унификацию всех функций системы и вызов любых приложений через универсальный браузерный интерфейс — боюсь, даже переустановка не поможет, а появляющиеся проблемы примут перманентный характер.
Кстати, интересная тема для исследования (я работаю в совершенно другой области, поэтому могу не знать, проводилось такое исследование или нет) — рост нестабильности ПО, вызванный взаимным недопониманием программистами друг друга (это только в теории предполагается, что разработчик какой-либо библиотеки и тот, кто использует в своём приложении эту библиотеку, абсолютно правильно и одинаково понимают, как она работает — на практике возможны те или иные расхождения в представлениях одного и того же разными людьми, порождающие то баги, то «фичи»).
Унификация технологии пойдёт во вред разнообразию: когда не можешь выбрать среду разработки, наилучшим образом подходящую для решения поставленной задачи, начнёшь приспосабливать задачу под имеющуюся у тебя среду разработки. Пользователи ведь не знают, чего ты хотел изначально увидеть в своей программе (сразу вспоминается Гришковец с его «А что ты хотел? А как ты хотел?»), а потому — не обнаружат, что с ней что-то не так, как планировалось изначально.
Но не технологии представляют главную проблему. Проблема заключается в нас с вами — в обычных пользователях (только пожалуйста, не надо призывать нас — «пользователь, начинай меняться!»). Именно мы, пользователи, не захотим иметь дело с «браузерными технологиями» (зачем что-то новое, когда старое хорошо работает?).
Лично моё мнение: говорить про то, что «Будущее мобайла — не приложения, а браузеры» пока что преждевременно, и вот почему:
Одна из очевидных проблем использования «браузерных» технологий заключается в том, что интернет как таковой доступен не везде (например, я только возле своего дома знаю два магазина, в каждом из которых я гарантированно теряю какую бы то ни было связь (что 2G, что 3G, что 4G), причины тому две — подвальное размещение и наличие большого числа работающей техники — терминалы, камеры видеонаблюдения и многое другое) — пока на картах городов будут такие «белые пятна» (а они будут ещё долго), переход на браузеры неосуществим. Про российскую глубинку, где нет сотовой связи, я вообще умолчу.
Как владелец телефона, я бываю заинтересован в сохранении функциональности аппарата длительное время. Если, условно говоря, запуск калькулятора офлайн окажется невозможен (а нахождение онлайн по определению более энергозатратно!), то я откажусь от такой технологии, даже если она достанется мне даром.
По этим же причинам все, кто так или иначе активно путешествует, будут вынуждены отказаться от «облачного» функционала (плюс дорогой роуминг в одних местах и отсутствие связи в других).
Отсутствие защиты моих, пользовательских, данных. Если честно, я не согласен с какой-либо обработкой даже своих фотографий «в облаке». Во-первых, я не хочу, чтобы фотографии (мои, моих друзей, моей семьи, да и вообще всех, с кем я общаюсь) даже потенциально оказались доступными кому бы то ни было, пока я сам этого не захотел (и, кстати, бесит функция скайпа, что-то вроде «поделиться фотографией» — не успеешь ты по ней ткнуть (когда выбираешь фото, которое нужно отправить), как она уже ушла к твоему собеседнику — ты можешь даже не увидеть, то ли это, что ты хотел отправить, — а фотография уже ушла...). А во-вторых, личные фотографии — это, пожалуй, самый «безобидный» контент (на телефоне может быть конфиденциальная информация — вроде сделанных в рабочем порядке и для рабочего, то есть внутреннего, использования аудиозаписей каких-либо переговоров, фотографий промышленных образцов, фото-видеозаписей происшествий и аварий — всё это нередко снимается на камеру телефона за неимением других средств фиксации, потому как зачем носить с собой фотоаппарат, если у тебя есть камера в телефоне?). Понятно, что рядовому пользователю, у которого ничего серьёзнее мимимишных котиков на телефоне не будет, бояться наверняка нечего, но всё же… Слишком глубоко проникли сегодня мобильные телефоны в жизнь простого человека: фотоаппараты мобильных фиксируют сегодня не только восхитительные закаты в дни отпуска, но и многое другое, в том числе представляющее собой личную или коммерческую тайну. В общем, если функции, работающие с подобной информацией, уплывут в «облако» — такой девайс будет приносить только вред.
К сожалению, не доступен сервер mySQL