У вас когда-нибудь появлялась необходимость запустить Android-приложение на Windows? У меня, честно говоря, ни разу. Но ведь я совершенно не тяну на звание бенчмарка, и, если эта тема неактуальна для меня, совершенно не значит, что она неактуальна для других. Это ясно по популярности соответствующего запроса, который Google регулярно адресуют если не миллионы, то по крайней мере тысячи пользователей. Стало быть, игнорировать этот вопрос и дальше было нельзя. Поэтому разбираемся, что к чему.
В первую очередь нужно понять, что изначально Android-приложения ни на Windows, ни на macOS по умолчанию работать не должны и не могут. Правда, значение здесь имеет не только используемая операционная система, но и аппаратная архитектура, на базе которой работают смартфоны и компьютеры. Если у смартфонов это ARM, то у ПК – x86. Не буду вдаваться в технические подробности, тем более что мы не за этим здесь собрались, а объясню на простом примере:
Как вы, вероятно, знаете, в России и в Европе железнодорожная колея отличается расстоянием между рельсами. Соответственно поезда из России не могут просто так въехать на территорию Европы и наоборот. Важно, чтобы вагоны переставили на подходящие вагонные тележки. Как и вагонам, приложениям тоже нужна либо смена тележек, либо универсальная подгонка под разные колеи. Возможно, сравнение не самое высокоинтеллектуальное, но зато простое и понятное.
Поддержка Android-приложений на Windows
Для Android-приложений, которые нужно запустить на Windows, аналогом процедуры смены вагонных тележек была эмуляция. То есть разработчики-энтузиасты, когда им это было нужно, просто использовали эмулятор вроде Rosetta 2 (кстати, если интересно, можете почитать об этом тут) и заставляли мобильное приложение думать, что его запускают в подходящей среде. Но если Rosetta 2 – это штука полностью автоматическая, то вот эмуляция на Windows представляет собой более сложный и зависимый от непосредственного участия разбирающихся пользователей процесс.
Microsoft решила добавить в Windows нативную поддержку приложений для Android. Проработка совместимости ведётся в рамках проекта Project Latte. Итоговая цель, которую преследуют в компании, предполагает размещение Android-приложений в магазине Microsoft Store практически без изменения кода. Это делается для того, чтобы пользователи Windows смогли скачивать мобильный софт и запускать его у себя на компьютерах без дополнительных манипуляций, а разработчики — зарабатывать больше денег, не тратя время на оптимизацию.
Работа с Android-приложениями на Windows
Коммерческое внедрение Project Latte должно состояться в следующем году. Всё-таки проект этот довольно сложен, да и до конца этого года осталось уже не так много времени. Как бы там ни было, запуск Project Latte решит массу проблем для широкой аудитории владельцев Windows-ПК, которые смогут работать с нужным софтом на компьютере, а также запускать на нём мобильные игры. Не уверен, что это первостепенная цель пользователей, которые хотят добиться совместимости Android-приложений, но само по себе наличие такой возможности явно лучше, чем её отсутствие.
Нужна ли мне возможность запускать приложения для Android на Windows? Нет. Во-первых, потому что у меня Mac, а, во-вторых, потому что подавляющим большинством приложений для Android, которыми пользуюсь я, удобнее всего пользоваться именно на сенсорном экране смартфона. Другое дело, что я вообще очень ценю универсальность. Ведь если разработчики смогут один раз создать приложение и, не адаптируя, выкладывать его на разных площадках дистрибуции, будет очень круто и, вероятно, выгодно для нас, поскольку задирать цены уже не будет смысла.