Connect with us

Разработка

Кто украдет Android у Google?

Бывший сотрудник Google рассуждает о самых больших проблемах платформы Android.

Анна Гуляева

Опубликовано

/

     
     

Дисклеймер: Это мои персональные мнения. Многие из них, вероятно, неверны. Я не говорю от имени своего работодателя Grab. Читайте это с долей скептицизма.

Я до сих пор не уверен, почему моя статья “Почему я ушел из Google” привлекла столько внимания. Каким-то образом её перевели на 80 языков, и в тот день популярнее неё стала только колонка о сексе от Натали Портман, что было намного интереснее.

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

Многие люди не поняли ключевого посыла и спрашивали: “Это же просто сервис для поездок?” Я пытался нарисовать более широкую картину, но это прошло мимо людей, поэтому не думаю, что я справился. Когда-нибудь я вернусь к этой точке и посмотрю, могу ли я что-то исправить. Но не сегодня. Сегодня я хочу немного поговорить об Android: это только мое персональное мнение в качестве любителя-разработчика приложений для Android и iOS.

Я думаю об Android с тех пор, как мы пытались нанять мобильных разработчиков, что должно было быть простым заданием. Но оказалось, что сейчас они нужны на рынке больше всего. Они нужны Grab и всем вокруг, но людей недостаточно.

Почему же всем нужны мобильные разработчики? Потому что веб медленно умирает. Мои знакомые почти в каждом отделе Google показывали мне мрачные графики, которые показывают, что использование веб постепенно падает, так как весь мир переходит на мобайл. Вероятно, вы помните, как Facebook перешел с web-first на mobile-first? Facebook тогда почти умер. Я не имею в виду, что компания погибла бы за одну ночь, но они прошли через экзистенциальный кризис, когда поняли, что должны стать мобильной компанией или уйти в забвение.

Им удалось, но это было непросто, так как стек разработки на Android — это большая проблема.

Кухня Android

В Google многие инженеры слишком высокомерны, чтобы заниматься мобильным или веб-программированием. “Я не занимаюсь фронтендом”, — говорят они с максимальным снобизмом. Это явление я называю “DAG презрения”, где DAG означает направленный ациклический граф, который похож на блок-схему. На вершине горы высокомерия находятся инженеры поиска, которые пишут на C++, который считается круче Java, которая круче Python, который круче JavaScript. А поиск считается круче рекламы, которая круче приложений, которые круче инструментов, которые круче фронтенда. Программисты любят презирать друг друга. И если вам не повезло работать мобильным инженером в Google, вы застряли у подножия нескольких тотемных столбов, с которых на вас все смотрят сверху вниз.

Я занимался несколькими вещами, от системного программирования систем до масштабной инженерии данных, дизайна компилятора, сервисных фреймворков, разработки игр, веб-программирования и мобильной разработки, и могу сказать вам, что фронтенд-разработка ничуть не проще, если не сложнее. В бэкенде всё чисто, организованно, лежит по полочкам и параллельно, это рай по сравнению с беспорядком, в который превратилось веб-программирование за последние 25 лет. А веб-программирование — это поездка на Бали по сравнению с мобильной разработкой, в том числе и iOS.

А Android хуже всего. Android-разработчики — это герои. Программирование на Android — это ждать двадцать минут, чтобы увидеть, что случится, если вы измените одну строку кода. И любое изменение с вероятностью в 80% не будет работать с первого раза, так как матрица совместимости функции невероятно непонятна. Конечно, вы можете использовать X, и вы можете использовать Y, но вы не можете использовать X вместе с Y.

А совместимость с устройствами? Для моей игры Wyvern есть несколько сердитых отзывов в Google Play, так как она почему-то не работала на устройствах LG. Я купил на eBay телефон LG, чтобы протестировать баг, и обнаружил, что существует два API для получения кликов в списке прокрутки, но один из этих API не работает на LG.

Вот что произошло: несколько конкурентов придумали свои фреймворки для Android. Я говорю не просто о библиотеках для недостающих функций, а о замене для целого стека разработки Android. У Microsoft есть Xamarin, у Adobe — Cordova, у Facebook — React Native. Посмотрите: Framework7, Appcelerator Titanium, Onsen, Sencha, Kendo, XDK, Ionic, Mobile Angular, Unity. Что происходит? Как будто все, кто пытался заниматься Android-разработкой, сдались и решили создать свой стартап, чтобы сделать все лучше.

А Google ответил: “Вот так? Вы не можете соревноваться с нами, потому что мы собираемся соревноваться сами с собой!” – и компания запустила Flutter, серьезный стек для Android-разработки, который конкурирует с нативным Android, и существование которого команда Android отказывается признавать.

Нападение на Android

Эти фреймворки делают Google уязвимым. Многие из них кросс-платформенные, что означает, что вы можете написать одно приложение и запустить его на iOS и Android. Как в большой компании, так и в маленькой, никто не хочет платить за две команды разработчиков, чтобы написать одно и то же приложение для разных платформ. Поэтому существует экономическое давление, чтобы перейти на кросс-платформенный фреймворк. От полного перехода на кросс-платформенные фрейморки всех останавливает только то, что они пока не так хороши, как нативные.

Некоторые из них (особенно React Native) очень близки к этому. Если одному из них удастся занять достаточно большую долю на рынке, то Android станет частью экосистемы, которая уже не будет под контролем Google.

Это, кажется, не слишком большая проблема, так как у Google есть контроль над Google Play, производителями оборудования, лицензиями и так далее. Но если все мобильные разработчики начнут использовать фреймворк X, тогда любой другой производитель оборудования или ОС может создать свою платформу (например, Windows), которая будет поддерживать фреймворк X напрямую, и это полностью устранит Google из процесса. И многие, если не все, компании хотели бы это сделать.

В Google решили ничего не менять. Они удваивают ставку на нативное Android-программирование с официальной поддержкой языка Kotlin, что было большим шагом для нативных Android-программистов. Мне нравится Kotlin — это будущее Java. Но давайте признаем: мобильный рынок движется не туда. Люди пишут кросс-платформенные приложения по двум причинам. Во-первых, они хотят, чтобы приложение компании работало на двух платформах и им не пришлось делать двойную работу. Во-вторых, программирование на Android все ещё имеет много проблем, даже с Kotlin, поэтому многие компании начинают все с нуля с чем-то более простым.

Если вы разрабатываете на Android или iOS, вам стоит попробовать React Native, чтобы в течение 30 секунд понять, насколько это удобнее, только если вы не создаете игру, потому что тогда вам все равно придется использовать Unity.

Для приложений на тему бизнеса и продуктивности React Native предлагает хорошую производительность, кросс-платформенную совместимость, невероятные инструменты и улучшенную скорость разработки. Помните, что я сказал, что увидеть изменение одной строки в обычном Android-стеке занимает 20 минут? В React Native все мгновенно.

Это значит, что вы можете запускать функции в 10 раз быстрее, что означает более быстрое время выхода на рынок и другие преимущества. Отказ от нативного программирования в пользу быстрых кросс-платформенных фреймворков — это выигрышная стратегия. Я подозреваю, что отдел Android в Google не знает, хорошим или плохим решением для них являются кросс-платформенные фреймворки, но, видимо, они считают, что плохим, иначе они вкладывали бы больше сил во Flutter.

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

Чтобы это исправить, Google работает над “официальной” системой сборки приложений Android, которая основана на сложной системе Gradle, но Google добавляет несколько специфических для Android вещей. Она становится все сложнее и сложнее, и иногда даже сами инженеры не понимают различия между её частями. В чем разница между build type, product flavor и flavor dimension? Они добавляют сложности, потому что считают, что эти функции важны для больших приложений и компаний. Ирония здесь в том, что большие компании отказываются от неё в пользу Buck — системы сборки для Android от Facebook.

Хотя Google понимает, что существует проблема, они ставят на решения, которые никому не нравятся: нативный стек с безумно усложненной системой сборки Gradle. И они теряют разработчиков, а рынок занимают сторонние платформы.

Фланговые атаки

На Android нападают не только со стороны стека разработки. Существуют и другие способы, которыми кто-то может “украсть” Android у Google. Один из подходов — создать более успешный магазин. Google Play вызывает множество споров на уровне компаний и государств, потому что Android является открытой системой, но Google Play на 100% контролируется Google. Cyanogen был первой попыткой, которую поддерживали Microsoft и Twitter. Хотя она провалилась из-за внутренних споров внутри компании, это была первая серьезная попытка атаковать уязвимое место – Play Store.

Кто ещё пытается сделать конкурирующий магазин? Вы угадали — Джефф Безос, потому что нельзя стать первым триллионером в мире, не украв Android у Google. Магазин приложений Amazon уже впечатляет, и в гонке Amazon и Google Amazon со временем становится все лучше.

Существует и третья атака на Android, прямо в больное место — в рекламу. Android-приложение Facebook стало таким большим, что стало настоящей платформой, и теперь вы можете предлагать свою рекламу в приложении напрямую. Например, The New York Times может купить там размещение рекламы, и все деньги уйдут Facebook.

В Китае то же самое сейчас делает WeChat. Приложение WeChat стало процветающей платформой для создания и развертывания других приложений и рекламы. Это целый маркетплейс внутри самого приложения. Facebook и WeChat сами по себе стали рекламными каналами.

Будем честны: единственная причина, по которой Google создала Android, — это потому, что он является каналом рекламы. Google — это крупнейшая рекламная компания в мире, и они всегда находятся под угрозой от других компаний, которые хотят привлечь ваше внимание в свои каналы вместо каналов Google. В этом заключается и атака на сетевую нейтральность, так как провайдеры хотят показывать вам рекламу сами.

Когда вы видите как компания вроде Facebook, Google, Amazon или Microsoft пытаются попасть в новый бизнес, это борьба за каналы. Google Chrome — это канал для контроля над доступом в веб. XBox — это канал против PlayStation, который был угрозой для PC в качестве канала для выхода онлайн из дома. Youtube, Instagram и WhatsApp — это каналы воспроизведения. Контентная война HBO, Amazon и Netflix тоже идет за канал воспроизведения. Amazon Echo — это канал воспроизведения, а ваш дом — это одна из крупнейших битв за канал. Даже Google-карты — это канал воспроизведения локальной рекламы. Компании хотят, чтобы вы смотрели свой любимый контент через их канал, чтобы они получали доход от рекламы или подписок.

Android — это, вероятно, самый важный канал Google, если не сейчас, то через десять лет. Они не могут потерять над ним контроль. Google подвергается атакам с трех разных сторон, и ни на одну из этих угроз компания не реагирует должным образом.

Тем временем…

Это может казаться бесполезной спекуляцией, но на нас в Grab это влияет, так как мы принимаем важные решения об использовании стека технологий для мобильных приложений, которые являются каналами для наших пассажиров, водителей, агентов и так далее.

Если существует какой-либо риск того, что Google потеряет контроль над Android, лучше всего будет использовать кросс-платформенный фреймворк. И если вы находитесь в условиях жестокой конкуренции и вам нужен быстрый запуск, вам нужно что-то другое, а не нативный Android. Android все ещё гонится за Gradle, и он никогда не будет быстрым, потому что существующие проблемы сложно скрыть.

Среди кросс-платформенных вариантов React Native кажется победителем. Он нравится веб-разработчикам, которые составляют самую большую аудиторию разработчиков в мире. С этим сложно состязаться. Grab начал вкладывать силы в React Native, чтобы увидеть, смогут ли он выполнить свои обещания.

Это хорошее время быть мобильным разработчиком. Если вы разработчик, который не занимается мобайлом, стоит рассмотреть смену деятельности. Опыт в бэкенде и мобильной разработке превратит вас в full stack-разработчика, ещё более редкого единорога.

 

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Медиа

Podlodka #89: Перфоманс

Забота о производительности своего продукта – отличительная черта хорошего инженера или менеджера. К этому вопросу мы решили подойти фундаментально и позвали сразу четырёх экспертов, каждый из которых помог раскрыть один из аспектов перфоманса.

AppTractor

Опубликовано

/

Автор:

Podlodka

Денис Мишунов объяснил, почему производительность важна, как ее воспринимает мозг человека и показал варианты решения проблем этого восприятия. Александр Тоболь провел краткий экскурс в то, как работают различные сетевые протоколы и их клиентские реализации и открыл целую область для оптимизаций. Артур Василов и Николай Лихогруд копнули в оптимизацию перфоманса клиентского кода Android и iOS приложений соответственно. Короче говоря, если вы не знаете, как и зачем сделать свой продукт быстрым – этот выпуск однозначно для вас!

Комментарии
Продолжить чтение

Новости

Интересные материалы: 13.12

У нас в конце недели история приложения учета времени, проводимого в соц.сетях, митапы Туту.ру и тренды дизайна на следующий год.

AppTractor

Опубликовано

/

Автор:

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Комментарии
Продолжить чтение

SDK

Epic выпустит SDK для кроссплатформенных игр

Epic Games в следующем году выпустит SDK для организации кроссплатформенных игр.

AppTractor

Опубликовано

/

Автор:

Новый Online Services SDK позволит регистрироваться в играх через разные социальные сети и платформы, заводить списки друзей, показывать свое присутствие, вести профиль и т.п. вещи, будет также облачное хранилище для сохранения игр, достижения и награды, голосовые коммуникации, подбор игроков для мультиплеера.

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

Предполагается, что все это будет бесшовно работать на PC, Mac, iOS, Android, PlayStation, Xbox и Switch. Предполагается, что сначала SDK выйдет для Windows – примерно во втором или третьем квартале. Остальные платформы будут подключаться по мере готовности.

SDK будет открытым, первоначально поддерживать Unreal Engine и Unity, инфраструктура – Amazon Web Services. Epic обещает полную поддержку GDPR.

 

Комментарии
Продолжить чтение

Разработка

Главные тренды мобильной разработки в 2019

В 2019 мобильные приложения станут еще более персонализированными и ориентированными на пользователя, в них будет простой дизайн и много искусственного интеллекта. Об этих и других трендах мобильной разработки – в статье Epom.

Epom Apps

Опубликовано

/

Автор:

Количество пользователей смартфонов в 2019 году достигнет 2,5 миллиардов, а постоянно растущее число приложений в Google Play и Apple App Store делает мобильную разработку одним из самых динамичных и конкурентных секторов.

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

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

Мы оставили за скобками блокчейн, крипту и виртуальную реальность и выделили универсальные мобильные технологии, которые стоит  внедрять в приложение, чтобы получить прибыль в 2019 году.

Эволюция машинного обучения и искусственного интеллекта

Доход приложений от внедрения искусственного интеллекта (Artificial Intelligence, AI) на мировом рынке постоянно растет и превысит 100 млн. долларов к 2025 году. Согласно исследованиям Gartner, 200 самых крупных компаний в мире активно внедряют и полагаются на данные машинного обучения.

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

Отличный пример мобильного приложения на основе AI – фитнес-приложение Lark. Это умное приложение с чат-ботом, которое трекает физическую активность и с помощью введенных пользователем данных о своем распорядке дня и пищевых привычках дает рекомендации на основе данных, полученных от ведущих мировых экспертов в области здравоохранения и питания.

Машинное обучение очень пригодится в здравоохранении, логистике, IT, образовании — везде, где есть много неупорядоченных данных. А разработка приложений на базе AI помогает освободить саппорткоманду приложения от рутины — ведь на все типичные запросы может отвечать чат-бот.

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

Мгновенные приложения для Android

Идея мгновенных приложений (Instant Apps), которые Android выкатил еще в 2016, наконец набирает обороты. Благодаря этой технологии пользователи могут получить доступ к функционалу приложения, не загружая его. Для пользователей выгода очевидна: концепция “попробуй, прежде чем купить” позволит им сэкономить время на чтение отзывов, и самим попробовать фичи приложения.

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

Тяжеловесным играм с большим функционалом может быть сложно экспериментировать с мгновенными приложениями.

Еще один предмет горячих споров разработчиков – как внедрение мгновенных приложений повлияет на рекламную монетизацию. Они могут увеличивать уровень вовлеченности на определенных уровнях приложения, но негативно влияют на retention: если нет необходимости устанавливать приложение, пользователь реже возвращается.

Низкий порог доступа к приложению и подход “попробуй, прежде чем установить” в идеале уменьшает случайные скачивания и количество пользователей, которые забросили приложение. Поэтому если у вас приложение с простой логикой, которое весит немного, стоит потестировать Instant Apps.

Персонализация vs GDPR

Исследование IAB показало, что в разных приложениях разное время пикового вовлечения пользователей, а значит шаблонная реклама на них не сработает. Рекламодателю важно привлечь внимание пользователя во время его максимальной вовлеченности, предоставляя ему возможность контролировать уровень персонализации.

Персонализация в 2019 не менее важна, чем приватность. Исследование Salesforce показывает, что 65% пользователей считают, что персонализация повышает их лояльность к компании. В то же время пользователи ценят конфиденциальность данных.

Это вызвало противоречия в онлайн-экосистеме: большие компании типа Google или Facebook запрашивали личную информацию, чтобы «обеспечить более качественный пользовательский опыт». Но правила GDPR теперь обязывают объяснять пользователям, какие данные и зачем собирает компания и дать им выбор – отказаться от сбора cookie, или разрешить системе узнать себя лучше.

Разработчики уверены, что GDPR не повредит персонализации, и она останется актуальным трендом 2019 года.

Появление новых способов монетизации

Объем рынка мобильной рекламы оценивается в 250 миллиардов долларов, поэтому все больше разработчиков стремятся к тому, чтобы монетизировать приложения рекламой. Но даже применяя все известные стратегии монетизации, попасть в 5% самых высокодоходных приложений нереально. Поэтому разработчики используют нетрадиционные способы монетизации приложений.

Монетизация пользовательских данных начала развиваться пару лет назад и сегодня является одним из быстрорастущих трендов. Монетизация данных — это процесс сбора и передачи неперсональных данных пользователей посреднику. Для приложений с DAU от 60 000 пользователей этот вариант – идеальный пассивный заработок.
Монетизация данных полностью соответствует правилам GDPR и Google Play Policy, но требует явного согласия пользователей перед началом процесса сбора данных.

Пока в России только начинают думать о правовом режиме для монетизации пользовательских данных, можно успеть собрать все сливки до массового хайпа.

UX: От сложного к простому

Упрощенный UX помогает пользователям быстро ориентироваться в приложении и находить то, что они искали. Дизайн мобильных приложений должен предсказывать поведение пользователей, быть минималистичным, и учитывать Swiping-жесты, чтобы обеспечивать целостный опыт для пользователей приложений. А с развитием Google Pay и Apple Pay,  желательно добавить возможность оплаты виртуальной картой.

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

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

Усиленная защита мобильных приложений

В 2017 году около 75% мобильных приложений не смогли пройти даже базовые тесты безопасности. Это означает, что в процессе создания приложения разработчик обычно не тестирует приложение на потенциальные уязвимости. Ошибки, допущенные в процессе разработки приложений, могут напрямую влиять на репутацию и погубить приложение после запуска. Наиболее распространенными уязвимостями мобильной безопасности являются слабый контроль на стороне сервера и уязвимости в протоколах и аппаратуре.

В 2019 ожидается усиление безопасности Android и iOS-приложений, но увы, низкокачественных приложений в обоих магазинах приложений все еще много.

Не надейтесь, что пронесет —проверьте приложение на предмет пробелов в безопасности. Список удобных инструментов проверки приложений включает ZAP, Micro Focus, Kiuwan и многие другие.

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

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

Комментарии
Продолжить чтение

Реклама

Наша рассылка

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X
X

Спасибо!

Теперь редакторы в курсе.