[Перевод] Android: 12 лет истории дизайна ОС
ОС Android имеет довольно долгую историю: о выпуске самого первого Android-телефона HTC Dream объявили в сентябре 2008 года. Найти этот телефон может оказаться сложно, но это нам и не нужно — компания Google создала для разработчиков эмулятор каждой из версий Android. SDK для версии 1.0 можно скачать со страницы https://developer.android.com/sdk/older_releases.html, и это единственная версия, не требующая установки. Достаточно просто запустить файл tools\emulator.exe. При первом запуске мы получаем ошибку:
Создание отсутствующей папки AppData\Local\Android\SDK-1.0 позволило решить проблему, после чего мы смогли запустить эмулятор:
Эмулятор Android 1.0
На главном экране мы видим все основные компоненты, которые существуют и сегодня — значки, список приложений внизу и список уведомлений наверху:
Непривычны два аспекта. Во-первых, на телефоне есть около десяти аппаратных кнопок (в том числе курсорных клавиш). Например, кнопка «Menu» обеспечивает доступ к некоторым функциям:
В целом, все операции можно выполнить, не касаясь экрана, при помощи только аппаратных кнопок.
Во-вторых, всё выглядит большим и контрастным, но не стоит забывать, что размер экрана был маленьким, что-то около 3,2 дюйма. Может показаться удивительным, но устройство не имело экранной клавиатуры — у первого Android-телефона была физическая клавиатура:
Телефон HTC Dream
Android 1.0 работал на телефоне с 192 МБ ОЗУ, процессором на 528 МГц, аккумулятором на 1150 мАч и экраном с разрешением 320×480.
Давайте проверим компоненты системы.
Вызовы и SMS
Очевидно, что я не мог совершить телефонный звонок или отправить SMS через эмулятор, но, по крайней мере, мы видим UI:
Всё выглядит контрастным, думаю, сегодня подобный UI используется в «телефонах для пожилых».
Контакты
Карты
Google Maps работают на удивление хорошо. Поиск выполняется, режим отображения карты можно менять, и так далее.
Удивительно, что Google Maps API не изменился за более чем 12 лет.
Интернет
Google Maps работают хорошо, но ситуация сильно ухудшается, если протестировать Интернет-браузер. Поиск Google работает:
Но все остальные сервисы недоступны — например www.youtube.com показывает, что требуется версия не ниже Android 4.0.
Я попробовал открыть Medium.com, первая страница «Get started» работала (более-менее), но после нажатия на «Get Started» отобразилась ошибка:
На самом деле, веб-сайт www.google.com оказался единственным, который я смог открыть. Это неудивительно, ведь Android 1.0 был выпущен больше десяти лет назад, а веб-стандарты сильно изменились.
Было бы слишком скучно тестировать все версии Android, поэтому давайте перенесёмся на несколько лет вперёд, к Android 4.0. Типичным телефоном того времени был LG Optimum L5 или HTC Desire C: 4-дюймовый экран с разрешением 320×480, процессор на 600 МГц и аккумулятор на 1230 мАч.
HTC Desire C
Для тестирования этой версии нам понадобится AVD (Android Virtual Device), который является частью Android Studio. Эта версия предназначена для разработчиков, но для запуска эмулятора нам не нужно писать код. Компонент «AVD Manager» позволяет выбирать разные версии и устройства:
Как ни жаль, официального офлайн-установщика для Android Studio больше не существует — во время установки он автоматически скачивает множество файлов. Возможно, это и хорошо для разработки на современных платформах, но, насколько я понимаю, после отключения старых ссылок запустить его снова будет невозможно. По крайней мере, сейчас он работает, и после скачивания всех нужных компонентов Android 4.0 мы можем приступать к работе:
Как мы видим, UI и аппаратная раскладка изменились: больше нет отдельной кнопки «Menu» и клавиш курсора, только три аппаратные кнопки (Home, Back и Apps List), их можно увидеть и в современном Android.
Добавлена новая функция UI — Widgets:
Один из них — это большая панель, которая по умолчанию включена. Она позволяет быстро включать/отключать WiFi, Bluetooth и некоторые другие сервисы.
Settings по сравнению с современными версиями не сильно изменились, однако UI и шрифты, разумеется, другие:
Contacts теперь можно сохранять локально или синхронизировать с аккаунтом Google. Contacts и Dialer (набор номера) теперь стали двумя отдельными приложениями.
Отправка SMS не особо изменилась:
Web Browser работает, но большинство страниц (google play, youtube, даже Wikipedia) не открывается:
Medium.com по-прежнему открыть нельзя, но, по крайней мере, первая страница выглядит лучше, чем на Android 1.0:
Мне удалось открыть страницу MSN (с предупреждениями), страница BBC открылась без ошибок, но UI выглядел странно, а сайт NY Times вообще не открылся:
В картах добавлена новая функция: Google Maps Navigation:
Как ни удивительно, она по-прежнему работает, карты могут находить адреса и прокладывать маршрут.
Четыре года — долгий срок для мира технологий, и характеристики смартфонов значительно улучшились. Хорошим примером устройства с Android 6 может служить Samsung Galaxy S6: 5,1 дюймовый AMOLED-экран с разрешением 1440×2560, восьмиядерным процессором и аккумулятором на 2550 мАч:
Внизу мы видим те же три кнопки, экран определённо стал больше, и в целом такой форм-фактор популярен по сей день.
С точки зрения UI, мы видим почти такой же интерфейс, который используется сегодня:
Contacts и Dialer по-прежнему остаются двумя отдельными приложениями (и двумя значками на экране), но разница между ними не так очевидна:
Интерфейс Settings тоже не особо изменился:
Web browser работает гораздо лучше, даже видео воспроизводится корректно, однако medium.com снова не прошёл тест — отображается только белая страница:
На самом деле, www.medium.com — это единственный сайт, который мне не удалось открыть.
Теперь в Android добавлены Gmail и Google Photos:
Google Maps работают хорошо, но, на удивление, спустя пять лет навигация по-прежнему находится в бета-версии.
В целом, интерфейс Android 6.0 выглядит достаточно современно даже по нынешним меркам, а разница между 4.0 и 6.0 гораздо очевиднее, чем между Android 6.0 и 10.
Я не собирался тестировать Android 8.0, с точки зрения UI отличий было бы не так много. Но мне стало любопытно, в какой версии Android корректно откроется medium.com. Давайте проверим.
Первое забавное отличие — список приложений снова можно перетаскивать снизу вверх, точно так же, как в Android 1.0 (для сравнения см. изображение в начале статьи):
Как мы видим, как отдельные приложения были добавлены Youtube, Google Drive и Google Play Music.
Давайте снова протестируем браузер на medium.com. В целом, всё стало намного лучше — мне удалось добраться до первого этапа логина:
Но на этом этапе страница зависает, и постоянно появляется всплывающее окно «Sign in».
Очевидно, в каждой новой версии Android происходило множество «скрытых» изменений в безопасности, API и фоновых сервисах, но с точки зрения UI эта версия не сильно изменилась по сравнению с Android 6.0 2015 года. Как мы видим, добавилась левая панель Google. Приложения можно разделить на секции «популярные» и «все приложения»:
Напоследок давайте снова проверим страницу medium.com. Вуаля, теперь она работает:
Эта статья не задумывалась как туториал по разработке для Android, но если уж мы установили Android Studio, то легко попробовать создать новое приложение для Android.
Для начала нам нужно создать новый проект и выбрать тип приложения.
На следующем этапе нужно указать имя приложения, его уникальный идентификатор, язык программирования (Java или Kotlin) и минимальный уровень версии Android.
После нажатия на «Finish» будут сгенерированы исходный код и ресурсы приложения.
Теперь мы можем запустить своё приложение в эмуляторе или в реальном устройстве:
Очевидно, что это приложение не делает ничего полезного, если вас интересуют последующие шаги, то изучите туториалы на веб-сайте https://developer.android.com.
Исследование истории Android оказалось любопытным занятием. Как обычно, я призываю заинтересовавшихся читателей установить эмулятор и самостоятельно увидеть все различия. Один из способов — это Android Studio, но она выполняет образ x86 и не может запускать сторонние приложения для Android. Ещё один удобный эмулятор — это Genymotion, он основан на VirtualBox и обеспечивает полную эмуляцию ARM. Кроме того, он бесплатен для личного пользования. Я пользовался Genymotion несколько лет назад, но последняя версия по неизвестным причинам не работает. Возможно, кому-то из читателей повезёт. Однако существует множество других способов запуска Android на PC, так что можете выбрать подходящий для вас.
В конце я хочу сравнить основные отличия на одном изображении.
Дизайн UI
Совместимость веб-страниц
На правах рекламы
Воплощайте любые идеи и проекты с помощью наших серверов с мгновенной активацией на Linux или Windows, на наших серверах можно установить даже Android!
Подписывайтесь на наш чат в Telegram.