Android будет жить?

1124 / 1

Предыстория: я и Андроид.

Давно собирался излить свою “доморощенную” аналитику и просто размышления по поводу прошлого, настоящего и будущего платформы Android. На данный шаг меня неумолимо толкают многочисленные статьи из разряда «100500 причин, почему Андроид умрет в XXXX году» или «Я ставлю XXX $ на скорую кончину Андроид» или «Почему популярность Андроид будет падать» и прочее, зачастую хорошо аргументированное чтиво. Наверняка, вы сталкивались с подобными авторитетными опусами, которые порождают бурные холиварные разборки на просторах Интернет. Я долго сдерживался от комментариев, но «вдохновение» по этому поводу не проходит, постоянно подпитывается новыми произведениями, соответственно, у меня в мозгу накопилась критическая масса мыслительной энергии, которая требует немедленного выхода, так что не обессудьте.
Я несомненно обладаю достаточным (на мой взгляд) опытом практического общения с системой, начиная свое знакомство с Android с легендарного аппарата, фактически давшего многим пользователям билет для массового доступа к платформе – это Samsung Spica i5700 на Android 1.6. С этим телефоном я прошел путь нелегких, но интересных обновлений сначала официально до 2.1, потом неофициально до 2.2. Огромное спасибо форуму samdroid.net за этот интереснейший квест, в процессе которого были получены базовые знания о файловой системе, кастомных прошивках, рековери, твиках, модах, хаках и прочих атрибутах необходимых для начинающего Андроид-гика. После, я приобрел на тот момент флагманский аппарат Samsung Galaxy S с Android 2.2 на борту. Детство прошло, я открыл для себя замечательный ресурс xda-developers, который и сейчас является для меня основным в получении необходимой информации по прошивке и настройке моего Андроида. Далее, был революционный Galaxy S II, поднявший планку в комфортности использования системы на новый уровень и наконец, текущий аппарат – Galaxy Note, который окончательно сформировал мое мнение об идеальном мобильном устройстве и необходимом мне размере смартфона.

Сам я никогда не стремился прослыть аналитиком. Тем более, что данное звание сильно посрамлено в последнее время и превратилось по сути в нелицеприятный ярлык. Я несомненно понимаю, что все кто следит за моим “творчеством”, привыкли видеть во мне исключительно практического эксперта (коим я по сути и являюсь). Но пришло время немного поменять (может быть даже подмочить) свое амплуа. Я понял, что без данной статьи мне не обойтись, особенно в преддверии подготовки к выходу серии статей «Конструктор Android» (вот и небольшой анонсик получился). Могу гарантировать только одно: несмотря на некий «оналитизм» стиля, при написании этой вводной и будущей серии статей я не буду изменять одному принципу: исключительно практическому подходу к рассматриваемым вопросам с точки зрения продвинутого пользователя платформы. Естественно, мои размышления будут в основном основаны на личном опыте, впечатлениях об использовании системы в течение нескольких лет, а также тех практических знаниях, которые были получены мной в этом процессе. Возможно, что это несколько ограниченный подход, но мне все-таки кажется, что он имеет право на голос.

Сразу оговорюсь, я не буду рассматривать “геополитические” причины возможной смерти системы, я не очень силен в данных вопросах. Я не могу предвидеть многих моментов в закулисной игре гигантов рынка со всеми их патентными битвами и поглощениями одних компаний другими. Мой подход исключительно технический и практический. И даже в этом разрезе я не буду делать долгосрочных прогнозов. Уж очень быстро меняется все, одни технологии приходят на смену другим, мы видим как рождаются и умирают платформы, экосистемы, магазины приложений. Мне же, в данной статье, хотелось бы немногопроанализировать недавнее прошлое системы с начала ее рождения и сделать предположения, хотя бы на столько же лет вперед. Короче на многое не рассчитывайте, моя аналитическая машина только недавно завелась и сейчас идет прогрев двигателя.

Итак, рассмотрим «претензии», которые предъявляют оппоненты системе Android.

Виртуальная Java-машина Dalvik и ненативный код приложений делают Android неполноценной операционной системой.

Для тех, кто не в курсе: вкратце постараюсь объяснить ситуацию доступным языком. В отличие от основных конкурирующих платформ (iOS, WP7/8, Symbian), где приложения исполняются в среде операционной системы (т.н. нативные приложения), приложения для Android пишутся на кроссплатформенном языке Java и для их запуска в системе используется т.н. прослойка – виртуальная Java машина Dalvik (далее ВМ). То есть, сначала запускается ВМ как среда выполнения Java кода, а потом в ней уже запускается само приложение. В свою очередь вся эта кухня работает как процесс под управлением ядра ОС – иллюстрация слева наглядно отображает всю картину. Естественно, что при работе системы, часть ресурсов тратится на работу самой ВМ. Соответственно теоретически, производительность ненативных программ ниже чем нативных при одинаковых ресурсах системы. Кроме того, производительность приложений ограничена производительностью ВМ. Почему создатели Андроид прибегли к такому казалось бы нерациональному решению? Ответ прост: для ускорения темпов разработки программ для молодой (тогда еще) платформы. Ведь надо было срочно ликвидировать отрыв от яблочной системы по количеству приложений и отвоевывать долю рынка у таких монстров как Symbian и Windows Mobile. Как вы понимаете, Java один из самых простых языков программирования. Как раз легкость разработки под Android, в свое время и стала одним из решающих факторов стремительного роста количества программ, а значит и роста платформы. С другой стороны, именно повышенные требования к ресурсам, являются основой мифа о “тормознутости” Андроид. И надо признать, небезосновательно, ведь несколько лет назад это действительно был не миф а реальность.

Однако, что мы имеем сейчас? Как мне кажется, текущее “железо” для смартфонов уже давно переросло критические требования OS Android. Мощности, которые требует ВМ Dalvik просто смехотворны. Ведь темпы развития железной составляющей намного превышают темпы роста системных требований новых версий системы. Кроме того, вроде как ничего революционного, что вдруг повысит эти требования не предвидится. Я могу примерно предположить следующие критические параметры смартфона, при которых обеспечивается вполне комфортная (для среднего пользователя) работа Андроид и базовых приложений (не игр – для них нужен мощный видеоускоритель). Это аппарат с одноядерным процессором от 800 мгц и оперативной памятью от 512 мб. Как видите, характеристики совершенно невыдающиеся. Этому критическому порогу вполне соответствует “старичок” Galaxy S (Nexus S). Хотя нехватка оперативной памяти, немного и сказывается негативным образом, но мы можем наблюдать, как сегодня эти аппараты спокойно “тянут” текущую версию Android 4.1.х. Все же устройства, имеющие характеристики выше этого порога – а мы видим, что в текущих новых устройствах эти параметры превышаются, причем намного, просто обязаны работать без нареканий. Кроме того, нельзя не отметить тот факт, что производительность программ на Андроид растет с выходом каждой новой версии ОС – я уверен, разработчики системы проделывают огромную, никому не видимую работу по оптимизации ВМ как основной среды выполнения приложений.

Кроме того, необходимо отметить общую тенденцию: технологии виртуализации получают все большее распространение и развитие. Примером может служить внедрение ВМ в ОС QNX (планшет Blackberry Playbook), что позволяет запускать на нем Андроид приложения. Вообще, мне кажется, что подобная кроссплатформенность со временем придет на все системы. Это нивелирует разницу между ними и позволит писать программы одновременно для всех ОС. Возможно, что в будущем в каждой ОС будет даже по нескольку ВМ для запуска любых типов приложений и такое понятие как “нативный код” просто отомрет. Поэтому, при рассмотрении данного вопроса, я считаю, что подход Google является своеобразным взглядом в будущее (предвидением, если хотите) и на развитие вышеописанной тенденции в мобильных (и не только) ОС может повлиять только явное нежелание производителей пускать чужие приложения на свои системы (или отдавать свои приложения на чужие платформы). Поэтому я бы ставил текущее применение данной политики в ОС Андроид в плюсы платформы, а никак не в минусы. Но… Поживем – увидим! Что можно с уверенностью сказать – ВМ точно не является узким местом в системе Андроид уже сегодня, а все возможные преимущества ее применения еще не до конца раскрыты, так что потенциал есть, что не может не радовать.

В ОС Андроид заложены фундаментальные ошибки в реализации работы пользовательского интерфейса, что приводит к тормозам при пролистывании столов, прокрутке списков и выполнении анимации. Эти ошибки невозможно устранить.

От данного факта трудно было откреститься до недавнего времени. Тем более в свете прямого сравнения скорости и плавности пользовательского интерфейса Android версий до 4.0 с конкурентами – iOS и WP7. Тут Андроид всегда был в роли аутсайдера до недавнего времени. Основной причиной данного отставания, по мнению многих экспертов является низкий приоритет выполнения операций по обработке графических операций пользовательского интерфейса, в отличие от той же iOS (тоже самое можно сказать и о WP7), где этот момент поставлен во главу угла. Т.е. в основных альтернативных системах, как только пользователь начинает производить манипуляции с оболочкой (листание столов, навигация в меню, переход между окнами с выполнением анимации, скроллинг, открывание папок, перетаскивания элементов) этим действиям отдается наивысший приоритет и все задачи, которые не находятся в фокусе данных манипуляций как бы ставятся на паузу. В Андроиде все построено немного по другому. Во многом это обусловлено реализацией многозадачности в системе. Оболочка рабочего стола это обычное приложение для данной ОС. Тоже самое можно сказать об основном меню настроек телефона. Когда вы оперируете графической оболочкой, в это же время, параллельно выполняется много других фоновых задач, например синхронизируется почта, идет обмен данными с серверами различных служб по каналам связи, производится запись данных программами в кэш. И это могут быть достаточно ресурсоемкие задачи, отнимающие значительную мощность процессора. Именно реальная многозадачность отрицательным образом сказывается на отзывчивости интерфейса, приводя к подтормаживанию в определенные моменты времени при пиковой нагрузке на процессор. Немаловажным фактором приводящим к задержкам, также служит отсутствие аппаратного ускорения 2D в версиях ОС до 4.0, ведь отрисовка интерфейса полностью ложится на центральный процессор, который как мы понимаем в это же время занят выполнением большого количества операций в фоне.

Однако многое изменилось с выходом Андроид 4.0 Ice Cream Sandwich. И главное улучшение, конечно же то, что Андроид наконец-то получил поддержку аппаратного ускорения 2D для выполнения операций интерфейса рабочего стола и приложений. Теперь основная нагрузка по отрисовке интерфейса ложится на видеоускоритель, таким образом снижая нагрузку на центральный процессор, который в данной ситуации может отдавать больше ресурсов под фоновые задачи. Именно это нововведение, обуславливает тот факт, что интерфейс стал заметно быстрее во всех проявлениях. Лаги интерфейса стали редким явлением. Тут нужно отметить, что для полной реализации функции аппаратного ускорения, сторонние программы также должны поддерживать данную функцию, поэтому должно пройти некоторое время, для того, чтобы разработчики приложений обеспечили реализацию этой возможности в своих программах. Тем не менее, сейчас можно включить принудительное аппаратное ускорение для всех программ в меню настроек. И если сразу после старта новой версии системы, некоторые программы конфликтовали с данной опцией (могли вылетать с ошибкой, показывать интерфейс с артефактами или просто не запускаться), то теперь ситуация нормализовалась и я давно не встречал подобных конфликтных инцидентов с используемыми мной приложениями.

Следующий шаг по оптимизации скорости и плавности работы интерфейса Андроид ОС мы можем наблюдать в недавно вышедшей версии 4.1 Jelly Bean. Проект Butter в рамках разработки новой версии ОС, был призван значительно улучшить ситуацию за счет применения тройной буферизации и увеличения частоты кадров анимаций и как мы видим он действительно выполнил свое предназначение по уничтожению “тормозов” системы. По мнению многих пользователей и экспертов (даже противников платформы), в данный момент Андроид почти догнал своих конкурентов в плавности интерфейса. Именно данное нововведение можно считать основным и бесспорным улучшением, которое сразу на порядок увеличивает комфортность общения с системой. Что самое удивительное, после публикации исходников 4.1 начали появляться кастомные прошивки на этой версии ОС для старых аппаратов, таких как Galaxy S, Nexus S и даже HTC HD2 и они не только работают на данных аппаратах, но и показывают значительное увеличение производительности по всем параметрам, в т.ч. и по скорости и плавности UI. Это поистине уникальное явление для сегодняшней ситуации на рынке мобильных ОС, когда улучшения приходят программным путем. Такого мы не видим на конкурирующих платформах. Даже пресловутые регулярные и одновременные обновления iOS поступают на старые устройства с большими ограничениями в функциональности. Здесь же ограничений нет никаких, что говорит об огромном потенциале системы и полностью опровергает все высказывания о невозможности исправить ситуацию с плавностью пользовательского интерфейса Android и фундаментальности данной проблемы.

Фрагментация погубит Андроид.

Несомненно, фрагментация это плохо. Вы согласны с данным утверждением? Я частично согласен и только. А если я скажу, что фрагментация это хорошо? Давайте попробуем разобраться для кого это хорошо, а для кого плохо. Для начала, мы определимся, что же такое фрагментация платформы Android:

 

Аппаратная: В данном случае под фрагментацией понимают наличие на рынке одновременно великого множества различных конфигураций устройств.


Программная: На устройствах могут быть установлены сборки ОС различных версий, причем как официальные прошивки (те, которыми комплектует аппарат производитель), так и сторонние (самодельные или кастомные, которые может сделать кто угодно из открытых исходников или путем доработки официального ПО).

Наглядная иллюстрация фрагментации по моделям устройств представлена слева.

Смотреть подробный отчет о фрагментации ОС Android по состоянию на 2012 г.

 

Так вот, по поводу аппаратной фрагментации. Еще раз вчитайтесь в определение и подумайте с точки зрения потребителя, где тут плохо для вас? Все люди разные и в этом наша основная сущность. Кто-то любит большие экраны – на них удобно потреблять контент, кому-то это неудобно и он хочет маленькую диагональ экрана для управления аппаратом одной рукой. Кому-то нужно, чтобы телефон вмещался в карман узких брюк. Кто-то хочет носить планшет в сумке. Кто-то готов платить огромные деньги за топовые устройства с самым мощным железом и иметь возможность запускать на нем самые современные игры, кому-то нужен смартфон для ограниченного круга задач и за небольшие деньги. Гаджеты для развлечений, для музыки, для видео, телефоны для бизнеса и учебы. Диагонали смартфонов и планшетов колеблются от 2.5 до 15″. И все они находят своего потребителя. С этой точки зрения, можно сказать, что фрагментация полностью соответствует человеческой природе и позволяет найти для себя наиболее подходящее устройство на рынке исходя из размера корпуса, типа экрана и его разрешения, объема памяти и т.д. Также, немаловажным фактором является разнообразная стоимость устройств, ведь всегда можно найти гаджет по приемлемой для себя цене. Благодаря фрагментации, мы можем мысленно сконструировать необходимую нам функциональность и определить наилучшее сочетание характеристик своего будущего устройства. Поэтому, я берусь утверждать, что фрагментация это хорошо для потребителя, т.к. обеспечивает широкий выбор оборудования. На самом деле, фрагментация присутствует во всех отраслях современного общества. Нас не заставляют носить одежду одинакового покроя и размера или обувь одного цвета. Если мы рассмотрим рынок бытовой техники, ПК и комплектующих к ним, или автомобилей, да собственно любой другой, то фрагментация в данных сегментах не кажется нам пугающей. Так почему же она должна привести к гибели платформы Андроид?

Конечно, как всегда существует и другая сторона медали. Фрагментация действительно является определенного рода проблемой. В основном, это сложности в разработке программ, особенно игр под разные размеры и разрешение экранов. Далее следует необходимость поддержки версий приложения для совместимости с разными версиями ОС. Однако это все проблемы, не более. Они вполне решаемы. И эти проблемы ложатся на производителей программных продуктов. Но кто говорит, что производить и продавать что либо легко? Если ты хочешь соответствовать ожиданиям потребителя, ты должен выпускать актуальный качественный продукт. В конце концов, это цель любого бизнеса и это приносит доход. Если ты не можешь обеспечить поддержку и развитие продукта, ты просто ограничиваешь его применение, соответственно уменьшая объемы продаж, например выпуская только телефонную версию программы или версию под конкретные старые версии ОС. Таков естественный экономический отбор и эти правила действуют на всех остальных рынках. Или ты действуешь правильно, или ограничиваешь сегмент распространения своей продукции и соответственно общий доход, или вообще уходишь с рынка. Что мы собственно и видим на практике. Такой отбор, позволяет оставаться на рынке только действительно сильным игрокам, тем которые способны обеспечить спрос на свой товар за счет его развития и поддержки. На самом деле я специально сгустил краски, ведь в реальности мы видим много мелких производителей и разработчиков, которые производят прекрасные продукты, мы наблюдаем их успех, становление и развитие. Кто хочет, тот делает, кто не хочет, тот ищет причины. По-моему, в данной ситуации недовольные должны пенять на себя.

И еще, на самом деле, проблема фрагментации сильно раздута. Я давно не сталкивался с ситуацией, когда какое-либо приложение не запускалось из-за конфликта с версией ОС. Да, это было, но для программ разработанных до выхода Android 2.3 Gingerbread. Все таки обратная совместимость существует, это факт – основная масса качественных приложений разработанных для GB работает на любой версии ОС начиная с 2.3 и выше без всяких проблем, даже если оно не обновляется. Конечно, такие приложения не могут использовать все преимущества новых версий ОС, но работоспособность и совместимость с этими новыми версиями гарантируется на уровне платформы Android, что и было задекларировано Google.

Андроид жрет батарею сильнее чем конкурирующие ОС.

К сожалению, данный факт сложно оспорить. Однако, давайте попробуем углубиться в тему и понять, виновата ли операционная система в данной проблеме и если да, то насколько.

Несомненно, основной проблемой при эксплуатации современных мобильных устройств можно назвать нехватку автономности. Всем нам хотелось бы, чтобы смартфон или планшет работал дольше без подключения к зарядному устройству. Однако мы видим, что эта проблема неохотно решается производителями, прогресса в технологиях аккумуляторов практически не наблюдается. Можно сказать, что проблема глобальная. “Тормозной” Андроид, “супероптимизированная” iOS, “быстрая” WP7, “экзотическая” MeeGo – вне зависимости от используемой платформы мы слышим недовольство пользователей временем работы девайсов при активном использовании.

Вы будете удивлены, но я в очередной раз берусь утверждать, что уровень энергопотребления всех современных мобильных ОС примерно одинаковый в идентичных условиях и при одинаковых задачах. Данное мнение сформировано мной исключительно исходя из практических наблюдений за эксплуатируемыми телефонами и на отзывах реальных людей за которыми я следую в Твиттере и которых читаю на форумах.

Представим несколько телефонов на разных ОС, но построенных на одинаковой аппаратной основе с одинаковыми экранами и аккумуляторами, помещенных в сферический вакуум и выполняющих одинаковые задачи, находящиеся в одинаковых сетях и передающих данные по одинаковым каналам связи. Так вот, при одинаковых милиамперчасах в батарее, при одинаковых задачах, схожей интенсивности использования сетевых интерфейсов, при совпадающем количестве фоновых сервисов и главное при одинаковом времени работы с включенной подсветкой экрана, время автономной работы устройств на разных платформах примерно одинаковое. По крайней мере, в смартфонах точно так и есть. Время от времени всплывающие в Интернете скриншоты “рекордных” показателей времени автономной работы, когда устройства (вне зависимости от платформы), эксплуатируют в основном в щадящем и спящем режимах только подтверждают мою правоту. Любой современный смартфон, на любой платформе, можно спокойно разрядить за 4-6 часов. В тоже время, он сможет проработать/пролежать около 5-6 дней в спящем режиме с синхронизацией и редкими включениями экрана. Реальные же показатели очень сильно зависят от субъективных факторов, таких как качество сети и скорость передачи данных, количество и интенсивность фоновых процессов, количество аккаунтов для синхронизации и ее периодичность.

Другое дело, что в альтернативных системах действительно есть небольшой прирост в показателях живучести батарейки. Данный факт обуславливается определенными ограничениями, которых просто нет в системе Android. Это и ограничения в многозадачности: на количество одновременно выполняемых фоновых процессов, и невозможность вообще выполнять некоторые процессы параллельно в фоне, а также, иной подход к синхронизации данных и уведомлениям о событиях, ограниченное количество аккаунтов для синхронизации, отсутствие поддержки того или иного оборудования или некоторых его функций, размеры экрана в конце концов. Многие из этих ограничений просто отсутствует в ОС Андроид. Т.е. вернемся к одинаковости задач, которая является для нас условием объективности сравнения энергосбережения. Мы просто не сможем добиться этой одинаковости на практике, так как Андроид, в отличие от конкурирующих ОС, будет выполнять любые задачи, которые возлагает на него система и пользователь. С другой точки зрения, может это и есть вина ОС, в том что она разрешает все. Может быть надо что-то и запрещать. Определенно, в данном предположении есть доля правды. Но тут я хочу отметить, что Google выдает своим партнерам как-бы основу системы, через передачу исходников, при этом предоставляет им огромную свободу в вопросах оптимизации конечной прошивки под свои устройства и наполнении ее определенной функциональностью путем внедрения собственных программ, сервисов и оболочек пользовательского интерфейса. Не всегда данная задача выполняется на отлично. Даже наоборот, зачастую мы видим сырые продукты.

Вендоры привносят много проблем в систему, выдавая конечные прошивки, качество оптимизации которых очень сильно хромает. На практике мы это наблюдаем повсеместно. Кто-то делает оптимизацию лучше, а кто-то хуже. При этом тень ложится на всю систему и слухи о негативном опыте энергопотребления распространяется в Интернете моментально, несмотря на то, что это частный случай. Взять хотя бы известный баг WiFi Sharing Service от Samsung, который очень распространен среди смартфонов этой компании, тянется годами от прошивки к прошивке и вроде только недавно был устранен. Смысл его в том, что без каких либо действий пользователя, этот сервис внезапно запускается и висит в памяти, разряжая батарею катастрофически быстро. При этом внешне никак себя не проявляет, т.к. точка доступа не запускается на самом деле в явном виде. И даже спящий режим на графике отображается корректно. А батарея утекает… Такой себе аналог вируса от производителя, который может выстрелить в любой момент. Или из последнего – баг Alarm Manager в аппаратах от Sony. Один единственный кривой процесс, который запускается в фоне, приводит к тому, что телефон не может заснуть и батарея разряжается в 2-3 раза быстрее обычного. Кроме того, без наличия рут-доступа и специального ПО, описанные мною ошибки сложно отследить. Кроме того, наблюдается периодичность проявления подобных багов – они то есть, то их нет, что также затрудняет их выявление. Обычно, такие “глючные” сервисы не имеют прямого пользовательского интерфейса и маскируются под один общий системный процесс. Пользователь просто видит ненормально огромное потребление Андроид ОС в списке под графиком энергопотребления и начинает кричать об Андроиде, который жрет его батарею. Вернемся к иллюстрации фрагментации выше. Там мы видим огромную долю аппаратов SAMSUNG, и просто доминирование SGS2 в котором как раз присутствует баг пожирающий батарею. Стоит ли удивляться массовости негативного мнения в таком случае? А сколько рядовых пользователей получили обновление до 4.0 с исправленной ошибкой? И давно ли это произошло, даже если получили? Конечно, в подобной ситуации реабилитироваться системе будет очень сложно.

Заканчивая разговор о батарее, я бы все-таки хотел отметить, что хотя и медленно, но ситуация выправляется. От версии к версии Андроид проходит оптимизацию в плане энергопотребления, избавляясь от ошибок роста. Особенно это было заметно при переходе с 2.2 на 2.3, да и при установке 4.0 я наблюдал определенные улучшения. Жаль, но эти улучшения зачастую нивелируются вендорами, которые навешивают дополнительную нагрузку на систему, развивая свои тяжелые оболочки и дополняя их все новыми и новыми “фишками”. Вместо того, чтобы предоставить пользователям легкую базовую прошивку и удобную возможность наращивать функциональность по желанию, они пихают в телефон все подряд. Такой подход и приводит к внезапно всплывающим проблемам с батареей. Я не раз отмечал эту особенность управления оперативной памятью в Андроид и сейчас еще раз повторюсь. Если приложение существует в системе, оно может запускать скрытые фоновые процессы размещая их в памяти устройства, а также задействовать ресурсы процессора. И если эти программы расположены в системной папке, а тем белее помечены разработчиками как системные сервисы и у вас нет рут-доступа, вы не можете их выгрузить из памяти или прекратить их работу. Даже если вы это сделаете, то при перезагрузке они снова запустятся. Это происходит даже тогда, когда вы не запускаете программы вручную. То есть, на практике получается совершенно неуправляемая ситуация, в которой ресурсы батареи тратятся на задачи, которые вы “не заказывали”. Благо, что начиная с версии Android 4.0 появилась возможность отключения ненужных системных приложений, но это решает проблему только частично, т.к. такого отключения не предусмотрено для приложений работающих на уровне сервисов.

Магазин приложений Google Play это плохо структурированная помойка с кучей поделок, свистелок и перделок, среди которых сложно найти то, что надо. Приложения на платформе Андроид плохого качества.

Я считаю, что это вообще кондовое заблуждение, хотя оно и имеет под собой основы, уходящие корнями в период становления системы и неразбериху, возникающую при валообразном увеличении количества программ. В это время действительно можно было столкнуться с ситуацией, когда например на запрос “twitter” мы получали мягко говоря нерелевантную выдачу. Конечно, Маркет, вернее Google Play не идеален и сейчас. Но… Вам приходилось когда нибудь поддерживать живую базу данных, размеры которой стремительно растут? Это очень непростая задача, скажу я вам. Тем более такая база данных как огромный магазин приложений, где существует много параметров и зависимостей, присутствует рейтинг и отзывы пользователей. Наблюдая за развитием сервиса, можно отметить его совершенствование от версии к версии. Если провести прямое объективное сравнение с ближайшими конкурентами – AppStore от Apple и Marketplace от Microsoft, нельзя сказать, что Google Play явно проигрывает и даже наоборот, во многом лучше. А вообще, положительные и отрицательные моменты есть у всех аналогичных сервисов без исключения.

Вообще, лично я не брожу ежедневно по закоулкам Google Play и не ставлю все подряд, чтобы понять нужно ли мне это приложение или нет. Обычно я ориентируюсь на рекомендации знакомых (twitter) и/или обзоры на специализированных сайтах. Т.е. цепочка моих действий следующая:

Я осознаю какую-либо новую потребность в функции своего аппарата или меня начинает не устраивать текущее приложение.
Описываю проблему в twitter и получаю советы от фолловеров, параллельно ищу обзоры рекомендуемых приложений и читаю их.
Если на одно приложение я получаю более трех советов из своей ленты, его шансы на установку значительно повышаются.
Иду в Google Play и нахожу поиском конкретные приложения, устанавливаю их на свой телефон.
Если вариантов несколько, то после недолгого тестирования выбираю лучший для себя.
Начинаю использовать приложение, профит!
В случае неудачи, возвращаемся к первому пункту.
Возможно, мой подход покажется вам хипстерским, но я описываю как есть. Конечно, ОБЫЧНЫЕ пользователи, где-то там в параллельной вселенной делают все по другому. Они заходят в супермаркет и гребут все подряд, не задумываясь о том нужно им это или нет и потом удивляются, почему их телефоны тормозят, глючат и бешено пожирают батарею. Но я думаю, что они все равно не попадут сюда и не прочитают весь этот бред :) Если серьезно, я рассматриваю магазин приложений именно как базу данных. Реально эффективные инструменты для выбора и рекомендации находятся в других местах. Невозможно (пока) научить базу данных рекомендовать вам действительно нужные приложения на 100% правильно. Хотя основные инструменты в этой базе есть, это главная страница с рекомендациями, популярные приложения и ярлычок выбор редакции, описание приложения со скриншотами и видео, раздел “похожие приложения” в карточке каждой программы, рейтинги и отзывы других пользователей. Но естественно, всегда главным инструментом был и остается дружеский совет живого человека, зачастую отдаленного от вас на сотни и тысячи километров. У вас есть возможность получить этот совет благодаря Интернету и размещенным в нем ресурсам, у вас есть масса способов пообщаться с другими людьми благодаря соцсетям, IM и форумам, так воспользуйтесь этой возможностью. Такое мое мнение, поэтому тему маркета приложений считаю закрытой.

Поговорим о качестве приложений. Ну это уже вообще, просто тупой наброс. Конечно, есть куча шлака (собственно как и на других платформах). Но есть и достойные приложения и даже просто отличные, их много и становится все больше. Лично я, пользуюсь только такими (обещаю показать и сделать обзоры). Если говорить о приложениях, то можно разбить их на следующие группы:

Приложения от Google – на сегодняшний момент они настолько хороши, что я даже удивляюсь, как у разработчиков получается их еще совершенствовать.
Приложения от популярных сервисов. Обычно такие программы мультиплатформенные и на данном этапе, в основном они не хуже своих аналогов на эталонной iOS (часто портированы оттуда), а возможно даже и лучше из-за более широких возможностей, предоставляемых платформой Андроид.
Просто проверенные хорошие приложения с “историей”.
Перспективные стартапы, которые постепенно или умирают или переходят на следующую ступень вверх по моей классификации.
Приложения средней паршивости.
Шлак, спам и вирусы (adware и вредоносы).
Естественно, что процентное соотношение количества приложений в группах увеличивается сверху списка вниз. О точных цифрах судить не берусь. Я стараюсь отгородиться вообще от приложений последних двух групп и у меня это с успехом получается. Причем я не скажу, что это очень сложно, разве что если только вы совершенно не в теме (купили андроид пару дней назад) или просто блондинка, которой все по барабану, а телефон на Андроид вам подарили, сказав что это айфон. Как раз отсюда вытекает наша следующая тема.

Андроид – небезопасная система с кучей вирусов.

Да, на Андроид есть вирусы. Да, вы можете их скачать и установить на свой телефон. И даже иногда, злоумышленники умудряются разместить их в официальном магазине Google Play. Часто, вредоносы маскируются под известные безопасные приложения. Можно долго рассуждать о том почему вирусов нет на других платформах, или их там очень мало. Естественно, наличие вирусов для Android связано с особенностями платформы, а именно ее открытостью и возможностью устанавливать приложения из файлов скачав их откуда-то из Интернета. Для борьбы с вирусами существуют антивирусы. Их тоже можно скачать и установить на свой телефон. Желательно это сделать до того, как вы начали экспериментировать с установкой приложений, тем более из сторонних, непроверенных источников. Проверяйте скачанные файлы на наличие вредоносного кода перед их установкой. Кроме того, можно прочитать, какие разрешения будут предоставлены приложению в системе. Данная информация всегда отображается в окне инсталлятора перед установкой любого андроид-приложения из файла apk. Система предупреждает вас о всех опасностях связанных с установкой скачанных программ. Например, если калькулятор требует разрешение отправлять смс и осуществлять доступ к личным данным, то скорее всего это вирус и устанавливать его не стоит. Я извиняюсь за банальное описание проблемы, но мне кажется, что она яйца выеденного не стоит. Нам предоставлен выбор, необходимо его ценить и быть разумными и осторожными, ведь тот кто предупрежден уже вооружен. Если вы зная о проблеме, все же умудрились установить вредоносное приложение на свой аппарат, то это очень печально, но не для платформы, а для вас.

Выводы.

Я никоим образом не хочу выступать адвокатом системы и защищать Android. В защите нуждаются слабые. А этого не скажешь о платформе. Она преодолела основные проблемы роста, возмужала, крепко встала на ноги и показывает уверенный подъем по всем фронтам. Конечно, проблем пока хватает, но видно, что они решаются, чему я, как пользователь очень рад. Говорить о скорой смерти системы по моему просто смешно. Напротив, наблюдаются все более широкие перспективы для этой платформы, еще слабо освоен рынок планшетов, но я уверен, что наступит час славы Андроид и в этом сегменте. Кроме того, скорее всего границы системы будут расширены и она охватит смежные отрасли, такие как бытовая техника и автомобили. Конечно я не буду говорить, что смерть системы невозможна вообще и в принципе. Но по крайней мере не вижу таких тенденций в ближайшие 5 лет. А кто знает что будет позже? Возможно (и даже скорее всего), те устройства, которые мы сегодня считаем актуальными и желанными вымрут вообще, на смену им придут кардинально измененные формфакторы. Близится эра wearable computing. В этом разрезе, возможно Андроид умрет в текущей ипостаси и возродится в совершенно новом качестве. Поживем – увидим! Думаю будет интересно… оставайтесь с нами!


  • TheStigger1

    коммент с disqus

  • О, вот эта очень хорошая статья. Я ее ранее уже читал и бы такого же мнения. Мне была полезна информация, содержащяяся в ней.
    У Андроида есть будущее!)

  • aleksma

    Вопрос, типа все прекрасно в “Датском королевстве?!”. Андроид подрос и перестал ходить по себя ;) всю статью автор убеждает нас в этом и вдруг в “Выводах: проблем хватает!” о_О

    • По-моему, через всю статью идет путеводной нитью описание всевозможных проблем Андроид, правда в разрезе их решения. А в выводах… Конечно проблемы есть и будут, пока Андроид жив. Проблем нет только у трупов :)

      • aleksma

        Veniénti occúrrite mórbo – Предупреждайте болезнь, когда она только наступает или спешите навстречу болезни ;)

  • Всегда с огромным удовольствием читал статьи Влада. Ему бы книги писать…

    • Может когда нибудь и напишу, когда нибудь. На самом деле есть о чем. Но эту возможность для пенсии приберегу :)

  • megafukz

    Что-то статья звучит больше как оправдание, но читать приятно.

    • Показалось. Никаких оправданий не планировалось ;)

  • rimmer

    Вообще если не рутовать телефон, или хотя бы не давать всем подряд приложениям рут, то даже приложение с вирусом не способно во первых нанести вред системе (и после удаления приложения от него не останется и следа), во вторых украсть ваши персональные данные, кроме, разве что смс и вашего местоположения.

    Кроме того для блондинок во всех прошивках, включая CM по умолчанию стоит галочка “устанавливать только с Маркета”, а в Маркете мне лично приложения с вирусами не попадались ни разу.

  • lamewarden

    Забавно, что именно со статьи владислава на тогда еще совсем молодом проекте keddr началось мое знакомство с андроид в виде sgs. Тогда я сделал невероятную вещь, через месяц после покупки новенького дорогущего смарта я рискнул лишением гарантии и перепрошился. И вот на абсолютно другом сайте я натыкаюсь на очень хорошую статью, которую даже дважды прочел и с удивлением узнаю автора. Спасибо за статью и за ваше мнение, очень интересно было почитать.

    • Добро пожаловать! заходите еще. У нас тут много интересного постоянно :)

  • Виктор

    теперь можно про ios написать

  • георгий

    Я прочитал первую половину и мне показалась что писатель ругае и унижает андроид. В выводах он восхволяет. Я не понимаю андроид это плохо?

  • PRW

    Автор очень хорошо описал все недостатки андроида, описал, и тут же защитил:)Тем не менее статья понравилась, понравилась довольно точным описанием всех проблем и причин их появления, как видно из статьи все недостатки являются производственной необходимостью, и в чем то даже “преимуществом”. Спасибо за статью, было интересно.