[Перевод] Android: 12 лет истории дизайна ОС

Android установлен примерно на 2,5 миллиардах активных устройств. С чего он начинался? Давайте проверим и разберёмся. Мы протестируем все версии Android, с 1.0 по 9.0, и посмотрим, как менялась система.
image

ОС Android имеет довольно долгую историю: о выпуске самого первого Android-телефона HTC Dream объявили в сентябре 2008 года. Найти этот телефон может оказаться сложно, но это нам и не нужно — компания Google создала для разработчиков эмулятор каждой из версий Android. SDK для версии 1.0 можно скачать со страницы https://developer.android.com/sdk/older_releases.html, и это единственная версия, не требующая установки. Достаточно просто запустить файл tools\emulator.exe. При первом запуске мы получаем ошибку:
jfq-6wwjdbiva8_89ixwksxsq7u.png

Создание отсутствующей папки AppData\Local\Android\SDK-1.0 позволило решить проблему, после чего мы смогли запустить эмулятор:
h9lovkqhovmat25mjwhtqklaugu.png

Эмулятор Android 1.0

На главном экране мы видим все основные компоненты, которые существуют и сегодня — значки, список приложений внизу и список уведомлений наверху:

2tbwcmtnitl4gdqnevl7inznhy8.png

Непривычны два аспекта. Во-первых, на телефоне есть около десяти аппаратных кнопок (в том числе курсорных клавиш). Например, кнопка «Menu» обеспечивает доступ к некоторым функциям:
khw7pzej5b4tskjxjuctiicj_os.png

В целом, все операции можно выполнить, не касаясь экрана, при помощи только аппаратных кнопок.

Во-вторых, всё выглядит большим и контрастным, но не стоит забывать, что размер экрана был маленьким, что-то около 3,2 дюйма. Может показаться удивительным, но устройство не имело экранной клавиатуры — у первого Android-телефона была физическая клавиатура:

jgxtezfotduamadosdjpztblb58.png

Телефон HTC Dream

Android 1.0 работал на телефоне с 192 МБ ОЗУ, процессором на 528 МГц, аккумулятором на 1150 мАч и экраном с разрешением 320×480.

Давайте проверим компоненты системы.

Вызовы и SMS


Очевидно, что я не мог совершить телефонный звонок или отправить SMS через эмулятор, но, по крайней мере, мы видим UI:
_pph9fvlvcz-fr919jtas4meqiy.png

Всё выглядит контрастным, думаю, сегодня подобный UI используется в «телефонах для пожилых».

Контакты


xsb1xqlre7-vdpnoa0aylalyds0.png

Карты


Google Maps работают на удивление хорошо. Поиск выполняется, режим отображения карты можно менять, и так далее.
fmrvzbsa1bwii5e1vehezvrywgk.png

Удивительно, что Google Maps API не изменился за более чем 12 лет.

Интернет


Google Maps работают хорошо, но ситуация сильно ухудшается, если протестировать Интернет-браузер. Поиск Google работает:
4eekcat_iwza6f-pjt5aqv1_amo.png

Но все остальные сервисы недоступны — например www.youtube.com показывает, что требуется версия не ниже Android 4.0.
um9bbfgm9ulknvwx66xjalo0oue.png

Я попробовал открыть Medium.com, первая страница «Get started» работала (более-менее), но после нажатия на «Get Started» отобразилась ошибка:
rktqenb4mkvgblvpc9zvnditmmy.png

На самом деле, веб-сайт www.google.com оказался единственным, который я смог открыть. Это неудивительно, ведь Android 1.0 был выпущен больше десяти лет назад, а веб-стандарты сильно изменились.
Было бы слишком скучно тестировать все версии Android, поэтому давайте перенесёмся на несколько лет вперёд, к Android 4.0. Типичным телефоном того времени был LG Optimum L5 или HTC Desire C: 4-дюймовый экран с разрешением 320×480, процессор на 600 МГц и аккумулятор на 1230 мАч.
o5twlav3k5hfh2cx0qjthro2g3o.png

HTC Desire C

Для тестирования этой версии нам понадобится AVD (Android Virtual Device), который является частью Android Studio. Эта версия предназначена для разработчиков, но для запуска эмулятора нам не нужно писать код. Компонент «AVD Manager» позволяет выбирать разные версии и устройства:

d1jkj9n7nfqioql_5a8j_ojn1_c.png

djkhtott7odljfvslj2uhcofmds.png

Как ни жаль, официального офлайн-установщика для Android Studio больше не существует — во время установки он автоматически скачивает множество файлов. Возможно, это и хорошо для разработки на современных платформах, но, насколько я понимаю, после отключения старых ссылок запустить его снова будет невозможно. По крайней мере, сейчас он работает, и после скачивания всех нужных компонентов Android 4.0 мы можем приступать к работе:
mdu7u65zuelj1mh6sjgiomyz2lq.png

Как мы видим, UI и аппаратная раскладка изменились: больше нет отдельной кнопки «Menu» и клавиш курсора, только три аппаратные кнопки (Home, Back и Apps List), их можно увидеть и в современном Android.

Добавлена новая функция UI — Widgets:

lkwgzmi91lvfag4ckm5yn9zbgsk.png

Один из них — это большая панель, которая по умолчанию включена. Она позволяет быстро включать/отключать WiFi, Bluetooth и некоторые другие сервисы.

Settings по сравнению с современными версиями не сильно изменились, однако UI и шрифты, разумеется, другие:

1ktnv4uc5d3wfynbpjrndq_5kj0.png

Contacts теперь можно сохранять локально или синхронизировать с аккаунтом Google. Contacts и Dialer (набор номера) теперь стали двумя отдельными приложениями.
4giwikvn7e1vnzsidzhjkgbpvxu.png

xgy3tofv1z3vgocbuwl_dej5nuu.png

Отправка SMS не особо изменилась:
bqfbensn-b7qvzwsowrhwpvcjay.png

Web Browser работает, но большинство страниц (google play, youtube, даже Wikipedia) не открывается:
7ziudyrabpqwbuxvfrbkhlhm-ne.png

Medium.com по-прежнему открыть нельзя, но, по крайней мере, первая страница выглядит лучше, чем на Android 1.0:
oookqtssvsim1oa7diif6wnargc.png

Мне удалось открыть страницу MSN (с предупреждениями), страница BBC открылась без ошибок, но UI выглядел странно, а сайт NY Times вообще не открылся:
nwt_ttflnrkyq-bcd4adwgisyfg.png

В картах добавлена новая функция: Google Maps Navigation:
l7hakx_bttdeyznnt1sgoas7rlq.png

Как ни удивительно, она по-прежнему работает, карты могут находить адреса и прокладывать маршрут.
Четыре года — долгий срок для мира технологий, и характеристики смартфонов значительно улучшились. Хорошим примером устройства с Android 6 может служить Samsung Galaxy S6: 5,1 дюймовый AMOLED-экран с разрешением 1440×2560, восьмиядерным процессором и аккумулятором на 2550 мАч:
ii8dw0vol9r7qkxvbu94mtbwi0a.png

Внизу мы видим те же три кнопки, экран определённо стал больше, и в целом такой форм-фактор популярен по сей день.

С точки зрения UI, мы видим почти такой же интерфейс, который используется сегодня:

kfxf8ykzecknd5z_g31qdcgi1ic.png

Contacts и Dialer по-прежнему остаются двумя отдельными приложениями (и двумя значками на экране), но разница между ними не так очевидна:
zyl-g2epxa2_swlvjyp34kpxoby.png

c7ljzg-zbf_k_dtn2vr24nwkc-e.png

Интерфейс Settings тоже не особо изменился:
tx7ffesrukdud-kfsgh6pzux7e8.png

Web browser работает гораздо лучше, даже видео воспроизводится корректно, однако medium.com снова не прошёл тест — отображается только белая страница:
friwvtiiyjqte3wpn3zg5btvfbq.png

nkccpmzvjj9ibmbfqgyv0mybmqi.png

На самом деле, www.medium.com — это единственный сайт, который мне не удалось открыть.

Теперь в Android добавлены Gmail и Google Photos:

v-eihwbgcddhi9mr7d9icj2wvui.png

Google Maps работают хорошо, но, на удивление, спустя пять лет навигация по-прежнему находится в бета-версии.
bqiryjfsfwvcwrfkgmbkivdgcks.png

В целом, интерфейс Android 6.0 выглядит достаточно современно даже по нынешним меркам, а разница между 4.0 и 6.0 гораздо очевиднее, чем между Android 6.0 и 10.
Я не собирался тестировать Android 8.0, с точки зрения UI отличий было бы не так много. Но мне стало любопытно, в какой версии Android корректно откроется medium.com. Давайте проверим.

Первое забавное отличие — список приложений снова можно перетаскивать снизу вверх, точно так же, как в Android 1.0 (для сравнения см. изображение в начале статьи):

azzinyq0oesvv14fw2diehnjhwc.png

Как мы видим, как отдельные приложения были добавлены Youtube, Google Drive и Google Play Music.

Давайте снова протестируем браузер на medium.com. В целом, всё стало намного лучше — мне удалось добраться до первого этапа логина:

hb2pf14_u_ro0tedrqshaxqusiu.png

Но на этом этапе страница зависает, и постоянно появляется всплывающее окно «Sign in».
Очевидно, в каждой новой версии Android происходило множество «скрытых» изменений в безопасности, API и фоновых сервисах, но с точки зрения UI эта версия не сильно изменилась по сравнению с Android 6.0 2015 года. Как мы видим, добавилась левая панель Google. Приложения можно разделить на секции «популярные» и «все приложения»:
s0on2mllmimbu-uhp3rsha1qucu.png

Напоследок давайте снова проверим страницу medium.com. Вуаля, теперь она работает:
h5vf79zcsrbz7nxkuexhu-nvlqm.png


Эта статья не задумывалась как туториал по разработке для Android, но если уж мы установили Android Studio, то легко попробовать создать новое приложение для Android.
ddl6doow2qupzy1jqfdr0tllze4.png

Для начала нам нужно создать новый проект и выбрать тип приложения.
p0xqplgm5recbeebywoimdqgnv8.png

На следующем этапе нужно указать имя приложения, его уникальный идентификатор, язык программирования (Java или Kotlin) и минимальный уровень версии Android.
vsg3vskbpawmqwmlsau3jn9r1b8.png

После нажатия на «Finish» будут сгенерированы исходный код и ресурсы приложения.
utwo9k36g6vha8ujuvpeevmpurs.png

Теперь мы можем запустить своё приложение в эмуляторе или в реальном устройстве:
j7jr9otabxzyup7jftjmkd6e8yg.png

Очевидно, что это приложение не делает ничего полезного, если вас интересуют последующие шаги, то изучите туториалы на веб-сайте https://developer.android.com.
Исследование истории Android оказалось любопытным занятием. Как обычно, я призываю заинтересовавшихся читателей установить эмулятор и самостоятельно увидеть все различия. Один из способов — это Android Studio, но она выполняет образ x86 и не может запускать сторонние приложения для Android. Ещё один удобный эмулятор — это Genymotion, он основан на VirtualBox и обеспечивает полную эмуляцию ARM. Кроме того, он бесплатен для личного пользования. Я пользовался Genymotion несколько лет назад, но последняя версия по неизвестным причинам не работает. Возможно, кому-то из читателей повезёт. Однако существует множество других способов запуска Android на PC, так что можете выбрать подходящий для вас.

В конце я хочу сравнить основные отличия на одном изображении.

Дизайн UI


1-vkqdui0ego2trwmlhqyhiae14.png

Совместимость веб-страниц


9fj9-3gxv2coyyleumpbhdtfw88.png

На правах рекламы


Воплощайте любые идеи и проекты с помощью наших серверов с мгновенной активацией на Linux или Windows, на наших серверах можно установить даже Android!

Подписывайтесь на наш чат в Telegram.

z9ptarc6sq-j36_r3iugpra4ojw.png

© Habrahabr.ru