Десять лет назад, 23 сентября 2008-го, состоялся релиз Android 1.0 и был представлен самый первый андроидфон HTC Dream. Сейчас Android — ОС с самой большой пользовательской базой в мире, а тогда всё это выглядело проектом, который легко может провалиться.
По случаю юбилея мы решили вспомнить, как система менялась на протяжении всего этого времени. Поскольку мы проводим конференцию Mobius, Android интересен нам не только как пользователям, но и с точки зрения разработки приложений. Так что вспомнили и важные для разработчиков моменты, в этом нам помог Владимир dzigoro Иванов — участник программного комитета Mobius, пишущий под Android аж с 2009-го.
Доисторические времена
Чтобы лучше понимать развитие Android, стоит вспомнить, что предшествовало релизу.
В 2003-м, когда почти все мобильные телефоны были простыми «звонилками», в Калифорнии появился стартап Android Inc. У новой компании едва хватало денег на аренду офиса, зато у сооснователя Энди Рубина был ценный опыт. Его предыдущая компания Danger Inc. сделала устройство Danger Hiptop, которое тогда описывали словами «сочетание телефона, КПК и пейджера»:
Изначально в Android Inc. намеревались делать платформу для цифровых фотоаппаратов, но в 2004-м повернули в сторону телефонов. А в 2005-м компанию купил Google, и Android превратился из малозаметного стартапа в проект интернет-гиганта.
Впрочем, это не гарантировало успех. «Умные телефоны» становились популярнее, но рынок ОС для них казался уже поделённым: там обосновались Windows Mobile, Symbian, BlackBerry OS и Palm OS. Как тягаться с ними новой платформе, даже если она от Google? Расчёт был на то, что производители телефонов недовольны необходимостью платить Microsoft за использование Windows Mobile, так что у бесплатной ОС есть преимущество.
И сами смартфоны, и сценарии их использования тогда очень отличались от наших дней. Когда нет ни фронтальной камеры, ни GPS, а интернет на 2G-скоростях, это явно не для селфи, навигации и онлайн-видео — это для электронной почты. Но главное отличие в том, что экран либо был рассчитан на ввод стилусом, либо вообще не был сенсорным, а основным способом ввода оставались физические кнопки. И в Google изначально исходили из того же. Когда в 2006-м компания показывала наработки мобильным операторам, они выглядели аналогом BlackBerry: много кнопок, небольшой горизонтальный экран, слово «сенсорный» нигде не фигурирует.
А в 2007-м был представлен iPhone. И это было не просто появлением ещё одного конкурента, а новым подходом, основанном на прикосновениях к экрану без всяких стилусов. Посмотрев на новинку, в Google частично пересмотрели свои взгляды. Было решено, что сенсорные экраны нужны, но и отказываться от физических кнопок при этом не спешили. И в следующем году представили миру результат.
2008
Итак, десять лет назад был представлен первый андроидфон под управлением первой релизной версии Android. У устройства было целых три названия (T-Mobile G1 в США, Era G1 в Польше, HTC Dream в остальном мире). А вот у Android 1.0 названия не было: традиция «десерты по алфавиту» возникла позже. Были ещё названия версий по роботам, но только у пререлизных версий.
Как и у Danger Hiptop шестью годами ранее, экран HTC Dream сдвигался, давая доступ к физической клавиатуре. И на тот момент она была единственным способом вводить текст: экранной клавиатуры в Android 1.0 попросту не было.
Не было на экране и привычного ряда из трёх кнопок. Во-первых, они тоже были физическими, во-вторых, их набор несколько отличался: кнопки начала и завершения звонка, «Домой», «Назад», «Меню» — и кликабельный трекбол. В общем, при желании этим устройством можно было пользоваться, вообще не прикасаясь к экрану. Тем более, что мультитач не поддерживался, и никакого «приближения двумя пальцами» было не сделать. К слову, сам экран был с диагональю 3.2'': сейчас это считалось бы крошечным, а тогда было большим, до современного размера экраны доросли очень постепенно.
А с точки зрения мобильной разработки интересно вот что. Как известно, перед выходом первого iPhone Стив Джобс считал, что сторонние приложения ему вообще не нужны — мол, достаточно того, что в браузере можно любой сайт открыть. И в итоге App Store, без которого сейчас сложно представить айфоны, появился лишь год спустя. Так вот, Google поступил иначе: Android Market (предшественник Google Play) был анонсирован ещё до выхода Android 1.0, а доступен пользователям стал 22 октября 2008-го. В первое время он не мог похвастаться широким ассортиментом, но, в общем, тут тоже на носу юбилей!
2009
Первый релиз был по принципу «выпустим что есть»: всем было очевидно, что необходимо добавить ещё многое, но для такого масштабного проекта это ожидаемо. Неудивительно, что весь следующий год систему дополняли возможностями, которые мы сейчас ощущаем само собой разумеющимися. Среди фич версии 1.5 (апрель 2009-го) — автоповорот экрана, съёмка видео, виджеты. И, наконец, экранная клавиатура. А заодно те самые десертные названия: 1.5, ставшая третьей релизной версией, получила название Cupcake.
Осенью с выходом версии 2.0 это дополнилось, например, поддержкой вспышки при фотосъёмке. И той же осенью произошло другое заметное событие: выход смартфона Motorola Droid. В первые месяцы после релиза Android было неочевидно, окажется ли он вообще массово востребованным, а продажи Droid в США за первую неделю оценивают в 250 000 штук, что тогда было очень впечатляющим результатом. И это было важным достижением не только для конкретного устройства, но и для всей платформы, доказывая её состоятельность.
Вероятно, отчасти мы можем поблагодарить за это оператора Verizon. Поскольку в тот момент iPhone в США был эксклюзивом для AT&T, другим операторам хотелось чем-то ответить — и в Verizon сопроводили запуск Droid агрессивной рекламной кампанией, подчёркивающей его преимущества перед айфоном (любопытно, что первым из них по-прежнему называли физическую клавиатуру):
Владимир Иванов: В эти смутные времена для сборки проекта использовался Ant или непосредственно IDEA (хотя аскеты пользовали DDMS-плагин для Eclipse). Из инструментов асинхронной работы были AsyncTasks и голые треды в сервисах.
2010
В январе появился Nexus One — первый из телефонов Nexus, над которыми работала непосредственно компания Google совместно с различными производителями. У него уже не было никакой физической клавиатуры, так что в Google отреклись от этой идеи. А в июне поступил в продажу первый Samsung Galaxy S — и так возникла самая популярная серия Android-флагманов, где у каждого поколения счёт идёт на десятки миллионов экземпляров.
Тем временем в Android продолжали активно добавлять то, чего жаждали пользователи. В 2.2 Froyo (май 2010-го) появилась поддержка Adobe Flash! Многие бурно радовались! Правда, через полтора года Adobe свернули эту поддержку, интернет постепенно перешёл к HTML5, а слово «флэш» стало ругательным, но это уже другая история.
Кроме этого, пользователи смогли переносить установленные приложения на microSD-карту. Сейчас значимость этого может быть неочевидна, поэтому поясним: в самом телефоне storage тогда мог составлять, например, жалкие 256 мегабайт. Зато карточку в него можно было воткнуть от души, гигабайт на 16. И когда приложения можно было устанавливать только на само устройство, без переноса на карточку, постоянно происходил сложный выбор «если хочу что-то установить, то что удалить, чтобы освободить место».
Но на фоне этих улучшений впервые заявили о себе вечные проклятия Android: фрагментация и обновление версий на уже вышедших устройствах. Например, у того же Motorola Droid производитель обещал быстрое обновление до 2.2, и своё слово сдержал — но в США. А в Европе страшно затянули, вызвав бурю проклятий «Почему американцы могут переносить приложения на карту, а мы на таких же устройствах нет?». Но веселее всего оказалось в России: осенью 2010-го Motorola объявила об уходе из страны, и обещанное обновление не появилось вообще.
Не торопясь обновлять Android, производители при этом наперебой писали поверх ОС фирменные обёртки, чтобы отличаться друг от друга. Гики плевались («телефон из-за этого только тормозит»), но единственной заметной альтернативой со стоковым Android стала серия Nexus.
Кроме того, в 2010-м начался бесконечный судебный процесс «Oracle против Google». Пока Java была продуктом Sun Microsystems, к использованию Java в Android никаких претензий не было, но в 2009-м Sun была поглощена Oracle — и новый владелец увидел в приобретённом возможность отсудить миллиарды.
2011
Годом ранее появился iPad, и планшеты казались дивным новым миром, сопоставимым по масштабам со смартфонами. Samsung ещё в 2010-м ответил на это первым Galaxy Tab, но вынужденно использовал «телефонный» Android, не оптимизированный для 7-дюймового экрана. Было очевидно, что тут нужна поддержка со стороны Google, и она последовала в виде Android 3.0 Honeycomb.
Для больших экранов явно нужны были другие интерфейсы — например, одновременно показывающие открытое письмо и список писем, а не что-то одно из этого. И в Android-разработке появились «фрагменты» (fragments), предназначенные для этого: чтобы отдельные элементы можно было в зависимости от ситуации демонстрировать хоть вместе, хоть поодиночке.
Выпустить первое громкое устройство и тут хотела Motorola с планшетом Xoom. Снова был сделан ролик с подколками в адрес Apple, в этот раз высокобюджетный, намекающий на классическую рекламу «1984» самой Apple:
Правда, в этот раз не сработало: Xoom провалился в продаже, а версии Android 3.x оказались самыми невостребованными. Позже с планшетами дела пошли получше, но до уровня смартфонов они так и не дошли. Среди Android-разработчиков фрагменты стали считаться одной из самых спорных вещей. А не слишком успешную компанию Motorola в Google купили ради патентов, позже перепродав всё остальное Lenovo.
Ну, зато на смартфонах всё было отлично: там Android в 2011-м стал самой популярной ОС. Больше он не был догоняющим, и больше не надо было доказывать превосходство физическими кнопками. Собственно, и самих кнопок не стало: в том же году в Android появились экранные.
Владимир Иванов: С фрагментами пришли loaders и support library. Теперь улучшения в платформе можно было тащить внутрь своего приложения. Сборку все делали руками — кто через Maven, кто shell-скриптами, кто, прости господи, через CMake.
2012
Наконец, больше не было необходимости «срочно выпускать фичи, которые нужны вчера», и теперь спокойнее копали вглубь, улучшая уже сделанное. В Android 4.1 Jelly Bean главным стал Project Butter: «масло» в названии означает, что все анимации в интерфейсах должны происходить как по маслу на 60 fps, а не дёргаться.
Со смартфонами дела обстояли примерно так же: там больше не происходило принципиальных изменений, зато производительность продолжала расти, и в 2012-м у Nexus 4 было уже 2 гигабайта оперативной памяти и 4-ядерный процессор. Теперь можно было делать всё то же, что раньше, но быстрее и удобнее.
Кстати, о «делать всё то же». Если в первые годы существования Android ещё не было многих приложений, к которым мы привыкли сейчас (от Uber до Viber), то как раз к 2012-му более-менее сформировался нынешний список лидеров. Пожалуй, последним гигантским бастионом был Instagram: на iOS он был известен с 2010-го, но выпускать Android-версию не спешили, хотя с возросшей популярностью платформы это уже выглядело странновато. Напомним, что тогда сам Instagram отличался от сегодняшнего: не было ни директа, ни сториз, ни веб-версии, ни видео. Только фотографии, и только квадратные.
3 апреля 2012-го бастион наконец рухнул, и Instagram появился в Google Play. Кстати, как раз перед этим появилось само название «Google Play». Изначально магазин приложений назывался Android Market, но к 2012-му появились также Google Music и Google eBookstore, и в компании решили объединить всё это под новым брендом.
Ещё в том же году Google впервые показал свою разработку Google Glass, и, строго говоря, там внутри тоже был Android. Но, конечно, от привычного нам Android он очень отличался — а большие надежды, которые возлагали на Glass, не оправдались.
2013
Вторую пятилетку Android из 2018-го проще окинуть глазами, чем первую. Хотя бы из-за того, что это время толком не ушло: версия 4.4 KitKat, появившаяся в 2013-м, всё ещё нередко используется, и многие Android-разработчики продолжают поддерживать её даже в совсем новых приложениях.
Вообще говоря, если версия ОС остаётся в использовании спустя пять лет и пять мажорных релизов, это выглядит проблемой. В Google эту проблему осознают, и как раз в 2013-м представили инициативу «Google Play Edition»: у некоторых флагманов появлялись специальные версии со стоковым Android без «довесков» и с обещанием своевременных апдейтов. К сожалению, хотя официально о завершении программы никогда не объявлялось, де-факто с 2015-го такие телефоны перестали появляться.
Зато в 2013-м произошли два важных для Android-разработчиков события, которые не потеряли свою значимость спустя пару лет, а, наоборот, со временем стали ещё важнее. Одно из них — анонс Android Studio. На тот момент эта IDE была в совсем сырой стадии early access preview. Да и в декабре 2014-го, когда вышла версия 1.0, люди продолжали жаловаться на недоделки. Однако теперь глупо спорить с тем, что тот анонс 2013-го поделил всю Android-разработку на «до» и «после», оставив Eclipse в прошлом.
Второе событие. В 2013-м дошли до версии 1.0 сразу две известнейших разработки от Square: OkHttp и Retrofit. Сейчас, когда многие добавляют их в проект уже на автомате, может казаться, что они существовали всегда. Но нет: GitHub неумолимо показывает даты релизов, выпущенных (кем же ещё) Джейком Уортоном.
А ещё в 2013-м проект Android покинул Энди Рубин. Сначала он занялся в Google другими вещами, а позже покинул саму компанию, «чтобы делать что-то своё», и основал Essential Products.
2014
В этом году Android пошёл «вширь», обзаведясь целым рядом вариантов для разных устройств:
- Android Wear (недавно переименованная в Wear OS) для часов. Тут уже было не следование новой продуктовой категории от Apple, а игра на опережение: первые часы под новой ОС появились в 2014-м, а Apple Watch в 2015-м.
- Android TV. Китайские компании и до того выпускали телеприставки с обычным Android, а сам Google уже залезал в телевизоры с Chromecast и Google TV. Но только с Android TV появилась полноценная оптимизированная версия Android для телевизоров, которая теперь предустановлена на многие модели Sony и Philips.
- Android Auto. Тут как с предыдущим пунктом: купить в машину китайское устройство под Android можно было и раньше, но теперь появился нормальный официальный подход. Позже, в 2016-м, появилась возможность запускать Auto попросту как специальное приложение на смартфоне, вообще не затрагивая автомобильный head unit.
В привычном смартфонном Android тоже происходило немало. Самым заметным «снаружи» было появление Material Design. А «внутри» тем временем виртуальную машину Dalvik заменяли на ART.
Кроме того, появилась новая инициатива по выпуску смартфонов с «чистой» ОС — Android One. В отличие от Google Play Edition, здесь речь шла не о флагманах, а наоборот: возглавивший проект Сундар Пичай думал о родной Индии и недорогих устройствах. И это начинание оказалось успешнее Google Play Edition, спустя четыре года Android One-смартфоны продолжают регулярно появляться.
Владимир Иванов: Йохохо, где-то тут набрал популярность Gradle! Ура!
2015
Расширение на новые территории продолжилось: на Google I/O 2015 представили Android Things (она же Brillo). Сейчас, спустя три года, этот проект всё ещё не вызвал какого-то большого резонанса. Но стоит помнить, что только спустя те же самые три года он наконец дошёл до релиза: версия Android Things 1.0 появилась в этом мае. Посмотрим, что будет теперь, когда его можно смелее использовать.
Пользователям в 2015-м были куда заметнее вещи вроде Android Pay и сканирования отпечатков пальцев. И хотя отдельные производители уже использовали сканеры раньше, вот теперь в самом Android появилась поддержка fingerprint authentication.
А разработчикам было заметнее появление режима Doze, когда лежащее без дела устройство «глубоко засыпает» и снижает активность. Это было начало «закручивания гаек»: Google принялся ограничивать приложения в фоновом режиме, чтобы увеличить время автономной работы устройств. Цель, конечно, благая, но за последние три года действия в этом направлении заставили многих Android-разработчиков понервничать.
Ещё в 2015-м со сцены I/O звучали слова «машинное обучение», и в последующие годы в презентациях Google всё чаще и чаще встречалась аббревиатура AI. Это стало генеральной линией партии: телефон должен не просто запускать приложения, а понимать, как вы им пользуетесь, что вы говорите, что снято на ваших фотографиях, и что вам вообще нужно.
В том же году вышли два последних устройства серии Nexus: Nexus 5X и Nexus 6P. Впрочем, тогда ещё не было известно о том, что они станут последними.
Владимир Иванов: RxJava захватила мир андроид-разработки. Будь проклят тот день…
2016
А понятно про уход от Nexus стало годом позже, когда Google представил смартфон Pixel. Если в случае с Nexus каждая модель появлялась в партнёрстве с каким-то производителем телефонов, и на задней стороне был логотип этого производителя, то теперь Google заявлял о себе как о хардварной компании, а о Pixel как о полностью «своём» телефоне. Справедливости ради, некоторое участие другой компании всё-таки было, хоть и не афишировалось: HTC и физически изготавливали устройство, и поучаствовали в его создании.
Дня, когда Google так поступит, многие ждали с опаской: компания де-факто становилась конкурентом остальным производителям андроидфонов, то есть своим собственным партнёрам. Причём ещё и использовала своё положение создателя платформы, обещая покупателям Pixel эксклюзивные ништяки (вроде бесплатного хранения снимков с высоким разрешением в Google Photos).
Но небо не рухнуло, другие производители не отвернулись от Android (было бы куда отворачиваться), и их продажи как-то значимо не пострадали. Тут стоит учесть, что Pixel и не пытается быть самым продаваемым смартфоном в мире (в Россию он даже официально не поставляется). Вместо этого он пытается быть «the андроидфоном» — устройством, на которое можно посмотреть как на референс «как Google видит правильный андроид-телефон». Неудивительно, что он, не будучи рекордсменом по продажам, стал при этом любимчиком Android-разработчиков: с ним можно быть уверенным, что увидишь новую версию Android в числе первых.
Помимо Pixel, в 2016-м компания попробовала запустить ещё и Project Tango. Идея состояла в выпуске андроидфонов с дополнительными камерами, помогающими телефону понимать своё положение в пространстве и объекты вокруг. Это должно было вывести мобильную дополненную реальность на невиданный уровень. В ноябре Lenovo с большой помпой начали продавать Phab 2 Pro — «первый в мире телефон с поддержкой Tango».
Однако первый оказался по совместительству предпоследним. Выяснилось, что люди не горят желанием переплачивать за дополнительное железо в своих смартфонах. В итоге Google свернул программу и сделал упор на своей разработке ARCore для работы с AR на обычных смартфонах.
А для разработчиков в 2016-м было заметнее другое событие. К тому моменту RxJava уже занимала в Android-разработке важнейшее место, поэтому осенью многие обратили внимание на выход RxJava 2. Прямо в один день с её релизом был выпущен и RxAndroid 2 (читатель ждёт уж слов «Джейк Уортон» — на вот, возьми же их скорей).
2017
Среди того, что произнесли на Google I/O 2017, больше всего шороху навели не рассчитанные на пользователей анонсы, а информация для разработчиков Android-приложений: теперь Google официально поддерживал язык Kotlin. Многие уже и так использовали его, но официальное одобрение резко ускорило темпы перехода к Kotlin. Сейчас, спустя год с лишним, этот язык в Android-разработке уже не просто «новая модная штука», а общепризнанный стандарт.
Стоит отметить, что Google не просто символически сказал «мы не возражаем против Kotlin», а делает многое со своей стороны: от добавления Kotlin-примеров в документацию до проекта Android KTX. Серьёзность намерений хорошо показало то, что в Google ради их воплощения перешёл Джейк Уортон: он был одним из первых активных сторонников Kotlin ещё до того, как это стало модным.
Владимир Иванов: Котлин! Корутины! Коин! Ура!
Главное нововведение Android 8.0 Oreo, как и поддержка Kotlin, тоже не бросается в глаза обычным пользователям, но потенциально способно им помочь. Project Treble — модульная архитектура, с которой производителям телефонов должно стать проще обновлять на них Android. Может, хоть теперь с апдейтами станет получше? Пока что прошло недостаточно времени, чтобы сказать уверенно — у 85% пользователей ещё нет и самой версии 8.0, вносящей изменения.
А вслед за Android One появилась инициатива, рассчитанная на ещё более бюджетные телефоны: Android Go. Вместе с «обычным» Android 8.0 выпустили его специальную версию, рассчитанную на телефоны, у которых не больше одного гигабайта оперативной памяти. Google хочет заполучить «следующий миллиард» пользователей — а тем, кто в 2017-м всё ещё не перешёл к смартфонам, обычно нужны дешёвые устройства.
Серия Pixel продолжилась вторым флагманом (они убили мини-джек!), но интереснее в случае с Pixel другое: Google решил при выпуске своих телефонов совсем уж никак не зависеть от сторонней компании, поэтому взял и купил пол-HTC (оставшаяся половина сосредоточилась на HTC Vive и интернете вещей). Так замкнулся круг: в 2008-м эта компания выпустила самый первый андроидфон, когда перспективы Android были ещё неясны, а в итоге он оказался настолько успешен, что поглотил её.
Замкнулся и другой большой круг. В 2010-м СЕО Nokia Анси Вайоки высмеивал производителей андроидфонов, сравнивая их с «людьми, которые писают себе в штаны, чтобы согреться». В последующие годы компания, сделав ставку на Windows Phone, медленно тонула вместе с ним, растеряв свою гигантскую значимость в качестве производителя телефонов. В 2017-м это кончилось тем, что Windows Phone был официально закрыт, а под брендом Nokia начала выпускать смартфоны новая финская компания HMD Global — и на них установлен Android. В общем, хорошо смеётся тот, кто смеётся последним.
И третье завершение большой истории. В 2017-м новая компания Энди Рубина выпустила свой первый продукт, Essential Phone. Он стал первым в мире телефоном с «вырезом» вверху экрана, опередив iPhone X, и там был ряд других особенностей вроде специальной камеры для чёрно-белой фотосъёмки. Но, в отличие от iPhone X, этот телефон не пользовался спросом. В итоге, по данным Bloomberg, компания попросту отказалась от разработки следующего смартфона, и амбициозное начинание завершилось поражением.
Если сравнивать эти три истории, получается, что к своему 10-летию Android сожрал всех подряд, включая своего создателя.
Наше время
Что дальше? Вряд ли Android будет меняться так бурно, как в начале пути, и это ожидаемо. Но это не значит, что теперь все новости будут сводиться к обновлению процессоров. На следующее десятилетие у Google ещё остаются масштабные нерешённые задачи.
Одна из них — вопрос с апдейтами. Формально Android 9.0 Pie больше месяца как вышел, но спустя месяц с лишним доля обновлённых устройств настолько крохотная, что на официальном дэшборде она вообще не отображается.
Другая — тот самый «следующий миллиард». Конечно, более двух миллиардов активных пользователей — это очень много. Но это всё ещё гораздо меньше, чем людей на планете. И в Google явно задумываются о том, как можно это изменить.
Третья — Android за пределами смартфонов. Затеи с часами, телевизорами и автомобилями не провалились, но и большим успехом их пока не назвать. Производители смартфонов когда-то отказались от попыток сделать собственную ОС в пользу чужого решения — можно ли добиться того же с телевизорами? А возможность запускать Android-приложения на хромбуках к чему-нибудь приведёт?
Есть и общая амбициозная задача: «поумнение» телефона. Google хочет помогать пользователю ещё до того, как он сам сформулирует, что ему нужно. Насколько текущий виток развития машинного обучения позволит к этому приблизиться? Вряд ли кто-либо, включая Google, знает ответ, но в этом направлении явно продолжат прикладывать усилия.
При всём этом Google параллельно разрабатывает новую ОС Fuchsia, которая гипотетически может вообще заменить Android. А также Flutter, позволяющий писать приложения сразу и для Fuchsia, и для Android, и для iOS. Но о перспективах всего этого говорить пока рано.
Поэтому закончим куда более скромным и краткосрочным прогнозом: судя по имеющейся информации, 9 октября будет презентован Pixel 3. И это первый телефон, в случае с которым Google вообще не обращался за помощью к стороннему производителю, а потому особенно интересно узнать, что получилось. По утечкам уже известен внешний вид, но в случае с Pixel это никогда не было главным: Google в первую очередь всё-таки софтовая компания.
Наверняка в посте мы упустили что-то значимое, да и просто интересно узнать о вашем опыте — так что в комментариях приветствуется парад ностальгии. Каким был ваш первый андроидфон? Чего вам тогда сильнее всего не хватало в Android? А есть ли что-то, что раньше было, а теперь не хватает?
Минутка рекламы. Если вы не только пользуетесь мобильными приложениями, но и сами их разрабатываете, обратите внимание: Mobius пройдёт в Москве 8-9 декабря, и там будет немало интересного. А если вы сами готовы поделиться чем-то полезным — приём заявок на доклады открыт до 1 октября.
Only registered users can participate in poll. Log in, please.
Напоследок нам любопытно узнать, какая у этого поста аудитория:
18.39% Я Android-разработчик233
3.71% Я iOS-разработчик47
64.01% Я не мобильный разработчик, пользуюсь Android811
11.44% Я не мобильный разработчик и не пользуюсь Android145
2.45% Всё сложно, напишу в комментариях31
1267 users voted. 78 users abstained.