Как стать автором
Обновить

Android Go — будущий миллиард устройств и лимит в 50 МБ. Лекция Яндекса

Время на прочтение16 мин
Количество просмотров27K
Всего голосов 28: ↑27 и ↓1+26
Комментарии31

Комментарии 31

Выглядит как серьёзный удар по ненативщине.
Android Go явно не займет большой % рынка в ближайшем будущем и слишком большой когда-либо. Так что переживут :)
Или выпустят какой-нибудь Flutter Go, хотя это будет сильно непросто, если он не будет встроен прямо в фреймворк.
Откуда такая уверенность, если не секрет? Если действительно получится телефон «за 50 баксов», то во многих странах с не богатым, но многочисленным населением вполне может распространиться. прежде всего в Индии, конечно.
Вполне может
У меня например 1Гб оперативы на звонилке (тот самый случай «за <100 баксов», а то падают часто), и еще она умеет игры
А если будет специально подкрученная версия на производительность без лишних свистелок для большинства приложений — они и половину рынка занять смогут (далеко не все могут и хотят потратить 1000+$ на флагман)

Скорее как страх Google проиграть часть рынка Samsung'у с их Tizen'ом.


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


Те же Apple девайсы никогда не поставлялись с таким огромным количеством памяти на борту. Хотя бы просто из-за отсутствия виртуальной машины и специфической сборки мусора.


Надеюсь что Tizen все-таки даст Гуглу пинка под зад, хотя бы в этой рыночной категории. Давно пора бы.

НЛО прилетело и опубликовало эту надпись здесь
Как это Fuchsia эту нишу не заняла? Вполне логичный шаг.
Ещё выглядит как нарастание фрагментации Android, помимо 4 (?) «живых» версий самой ОС еще и версию для Go надо иметь в виду.
Да, гугл не дает расслабиться :)
Но в первую очередь хочется, чтобы это был напоминание разработчикам, что с ростом технологий не все девайсы превращаются во второй пиксель, и всегда надо думать о производительности на слабых устройствах.
Но вообще да, это безусловно новая фрагментация, которая заставляет думать о том, что с ней делать. К счастью, время на эти раздумья еще много.
После недельки осталось где-то 64 мегабайта. Я думаю: «Хорошо, надо сегодня закончить». Прошло 14 часов, время 4 утра, памяти 60 мегабайт. И я уже не знаю, что делать дальше.
Если даже спецы Яндекса не смогли, то чего уж говорить о других разрабочтиках? Выходит, требования Google в 50мбайт нереальные?
Реальные. Если делать новое приложение, как и делает гугл.
Засунуть огромное приложение, которое вообще не задумывалось под такую специфику, — это да, весело :)

Но как я сказал, это веселье все равно дешевле, чем поддержка второго приложения. А пока Android Go не распространится широко, поддержка второго приложения может не оправдаться, так что ждем.
Я не увидел проблемы в таком ограничении. Возможно потому что я не использую 40 мб рекламно-трекинговых библиотек, как делает яндекс.
Нельзя так говорить. Вы вот не используете, а для кого-то — это святое! *смайлик*
Все сильно-сильно зависит, у нас только иконок для карты на 16 МБ. Вообще любой проект >100K LOC, наверняка будет иметь проблемы.
У вас там иконки в разрешении 512х512? Для android go в этом нет никакого смысла, так что я не думаю что это вызовет какие то проблемы.
Нет, просто более 4000 маленьких иконок, xhdpi. Понятно, что можно оставить только код, которого 15-20 МБ, а остальное грузить после установки, но удобно ли это?
Иконки можно в вектор перевести. Или это векторных иконок 16МБ?
Можно, но рендерить вектор еще накладней на таких устройствах. Тут важно «контекст», в Android GO почему-то решили, что 50 МБ хватит всем. Но если у приложения или игры ресурсов на 500 МБ, то хочешь не хочешь их надо загрузить.

В нашем случае, 50 МБ приложения не большая беда по сравнению с 200 МБ карт, без которых приложение почти бесполезно, а тратить время на то, чтобы оптимизировать то, что и так работает — это странно.
Я не увидел проблемы в таком ограничении.

Hello World занимает 50% уже сразу. Добавьте пару картинок и развлечение обеспечено :)

В нашем случае это картинки, это Алиса (+ нативная библиотека спичкита), тонна поискового функционала и еще куча различных сервисов. Суммарное количество только нашего Java-кода (без библиотек) — это порядка 500k строк (и да, не рекламно-трекингового). И вот с такими показателями ограничения уже непростые.

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

Рекламно-трекинговые библиотеки занимают совсем мало, поверьте. Да и в принципе никаких таких особых библиотек нет. AppMetrica да Ads SDK.
Приложение виджет мастер серверов для HL, весит 180 кб. Распаковавшись занимает 1-3 мб. Видимо вы забыли убрать такие «архиважные» для разработки под одну платформу вещи, как android.support* библиотеки. Но они не нужны, если вам не нужно поддерживать древние версии андроида ( а в случае с го — одну версию).
И да — на самом деле эти саппорт либы вообще не нужны — они были созданы для тех кто не может написать пару строк кода с проверками, если вы уже можете то что описали в статье — то для вас они лишний мусор. Но я бы всё же лучше разделил приложение на 2 версии, так как гугл ясно дал понять это.
пока непонятен реальный профит.

«Не экономьте на рекламе, охране и страховании». Это приложение — ваша реклама и будущая лояльность пользователя. Когда он обзаведется другим телефоном, то установит уже привычные ему приложения.
Очень правильные слова. Поэтому мы и тратим определенные силы на то, чтобы пользователь видел наше приложение и на Android Go. Но для полноценного хорошего экспериенса нужно все же отдельное приложение.
Отдельное приложение требует много времени на разработку, тестирование и поддержку. Пока нет гарантии, что Android Go займет хотя бы 5% рынка, бизнес не пойдет на это. Ведь эти же ресурсы можно пустить на проекты, которые могут с большей вероятностью принести лояльных пользователей :)
Уверен, что займет, но это не будут пользователи, которые будут что-то покупать. Телефон для детей, для бабушки, для Индии и т.д. Единственное, чем они полезны — они активно общаются и рекомендуют.

У меня довольно старенький смартфон, LG L90 с 1 Гб ОЗУ и 8 Гб ПЗУ, и когда я вижу приложение, которое весит больше 50 Мб, мне хочется убивать намекнуть разработчикам, что они не правы. Например, ВТБ — 104 Мб. Для сравнения, Blender 2.5 — 44 Мб (актуальная версия — около 300). Да, я понимаю, что одно на Java, другое на C++, но количество функций не идет ни в какое сравнение.

А тут уже другая проблема — это рак под именем — хочу писать везде на своём JS. Да и рыночек порешал, что нанять макак закончивших месяц назад курсы гикбрейнса дешевле, чем нанять нативных разработчиков под конкретную ось. Или хотя бы Xamarin.Forms, который явно быстрее и компактнее ( если конечно его не кодила такая же макака).
В случае с банковскими приложениями причиной может быть встроенный антивирус. Например, в приложении Сбербанка сидит антивирус Касперского и всё это добро не просто весит сотни мегабайт, но и постоянно работает в виде сервиса, будит телефон.
Выход есть: не использовать такие приложения. Есть веб-клиент и ладушки.

Размер это ладно, а вот сколько они RAM жрут. Вспоминаю J2ME — там 500 КБ на полноценную игру хватало. А в Android обычный виджет потребляет больше 100 мб.

Я понимаю, что графика высокого разрешения.
64 бит
Отдельная Java машина на процесс.
Но всё-таки почему разница в сотни раз.
P.S. кнопки редактирования нет в мобильной версии.

В 1999 я верстал плакаты а4 с разрешением 300 dpi на машине с памятью в 16 мегабайт

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

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