На сайте Microsoft в разделе Universal Windows Platform Bridges появился анонс программного инструмента Project Astoria, предназначенного для переноса Android-приложений в Windows 10. Аналогичный по смыслу анонс с также звучным названием Project Islandwood сделан и для iOS.
Однако для Android, в отличие от общих заявлений в разделе для iOS, что Xcode-проекты можно будет импортировать в Visual Studio и собирать Windows-приложения с минимальными изменениями ObjectiveC-кода, инженеры проекта показали короткое видео с беглым описанием возможностей Project Astoria.
Как можно понять из видео, Android-приложение будет подвергнуто анализу на предмет совместимости, и в результате этого анализа типичные для Android пользовательские действия будут транслированы в аналогичные для Windows 10. В качестве примера приводится довольно простое действие расшаривания некоторого контента в социальных сетях. Что именно будет происходить с java-кодом в этом случае пока что остаётся неясным. Для работы с Windows SDK можно будет использовать и Android Studio и Eclipse без перехода на Visual Studio.
Для того чтобы понять, сколько именно кода может быть повторно использовано и не содержит ли он специфических для Google инструментов, надо будет использовать инструмент App Analysis. На сайт потребуется загрузить APK-файл, после анализа которого разработчик увидит, что именно ему рекомендуется сделать для совместимости с Windows 10. На видео показан этот момент.
Кроме того, в Редмонде говорят, что позаботились о том, чтобы переход от Google-сервисов на Windows-сервисы выглядел буквально как замена одной строчки кода на другую. Утверждается, что все инструменты вроде рекламы или встроенных покупок будут перенесены в среду Windows с минимальными усилиями.
Статус Project Astoria пока что даже не альфа, но при желании можно подписать специальное Testing Agreement и прислать команде свой APK-файл, который будет использован при разработке.
Комментарии (37)
kivsiak
01.05.2015 23:19+5Чет терзают меня сомнения, что так раз и получится перенести прилагу на винду. Вдвойне меня терзают сомнения как они с нативными либами справляться будут.
IRainman
02.05.2015 01:26-1С нативными особой разницы и фатальных проблем тоже быть не должно если внутрь ассемблера не понапихали.
GrigoryPerepechko
02.05.2015 12:08-2В библиотеках машинный код, а ассемблер — семейство языков которые компилируются в машинный код.
Athari
02.05.2015 09:55+1Вдвойне меня терзают сомнения как они с нативными либами справляться будут.
Они ответили:
- Если есть сорцы, то берёте и компилируете — и всё зашибись.
- Если либа поддерживается мелкомягкими, то будет прослойка, и вы не заметите разницы.
- Если есть виндовая версия либы, то можно взять её.
NeoCode
02.05.2015 00:17+2Код на Objective C прямо в Visual Studio… со всеми фичами редактирования, компиляции, отладки и запуска в эмуляторе айфона… channel9.msdn.com/events/Build/2015/3-610
И сегодня вроде первое мая а не первое апреля… Одно слово — Круто!Athari
02.05.2015 09:58Мелкомягкие начали стабильно выдавать такие новости, что приходится сверяться с календарём. Похоже, всё происходящее перестаёт быть исключениями и становится закономерностью.
XimikS
02.05.2015 13:28+6Новый CEO — технарь до мозга костей, к счастью
khim
02.05.2015 15:17+2Вопрос «к счастью» или «к сожалению», в общем, очень философский, но стоит признать, что после того, как Сатья стал у руля политика Microsoft отошла от Баллмероского самоубийства.
Всё просто: Сатья, в отличие от Баллмера, понимает, что среди пользователей Windows уже сейчас — порядка половины, а скоро будет ещё меньше, а вот среди разработчиков — их ещё очень много, но если их не удержать, то всё, лавочку можно закрывать.
Потому сейчас посыл такой: пользуйтесь нашими тулами и вы сможете делать программы подо всё, что угодно! Ну а дальше, если разработчики действительно ими будут пользоваться, можно будет крылышки-то всем, кто не пользуется «правильной» Windows, подрезать. Почти этот же гамбит был разыгран самим Биллом Гейтсом на рынке рабочих станций (почитайте, если кто забыл): вначале Windows NT должна была работать на всём на свете (Alpha, PowerPC, Itanium, Sparc и т.д. и т.п.), ну а потом, когда всякие идиоты типа SGI на это сделали ставку и UNIX (за исключением Linux'а и, кое-где, *BSD) «скуксился» вся эта поддержка разных зоопарков куда-то улетучилась.
Так что не нужно думать, что Microsoft вдруг стал мягким и пушистым — просто в отличие от Баллмера, всегда прущего напролом, Сатья умеет и более тонкие манёвры делать.
Rumlin
02.05.2015 02:08Демонстрировали стандартный интерфейс. Интереснее посмотреть на чем-то ресурсоемком, игры например.
js605451
02.05.2015 08:36+1Что именно будет происходить с java-кодом в этом случае пока что остаётся неясным.
Arstechnica подсказывает:
А более конкретно, Windows Mobile (ага, именно так теперь называется Windows для телефонов и планшетов с диагональю менее 8 дюймов) будет включать в себя слой Android runtime, который позволит исполнять существующие приложения Android без специальных переделок. В противоположность проекту Islandwood, где разработчикам нужно специальным образом пересобрать приложение, чтобы оно запустилось на Windows, Astoria по идее будет работать с любым старым APK (при условии, что этот APK использует только те API, которые предоставляет Astoria). Единственное, что потребуется от разработчика — опубликовать приложение в Windows Store.
QtRoS
02.05.2015 10:17То есть это по сути своя реализация ВМ с маппингом Google сервисов на Macrosoft?
js605451
02.05.2015 10:29Моя лучшая догадка:
1. Microsoft запрограммировал какой-то большой кусок Android runtime на дотнете
2. При публикации APK в Windows Store скорее всего будет происходить трансляция байткода Java/Dalvik/whatever в CIL + прикручивание п.1 в виде библиотеки.
Т.е. в итоге там будет получаться самый обычный пакет, как если бы его изначально делали на дотнете.
QtRoS
02.05.2015 10:13+2Я знаю, что принято в ЛС, но это:
Однако для Android, в отличие от общих заявлений в разделе для iOS, что Xcode-проекты можно будет импортировать в Visual Studio и собирать Windows-приложения с минимальными изменениями ObjectiveC-кода, инженеры проекта показали короткое видео с беглым описанием возможностей Project Astoria.
Это шедевр. Вы хоть раз читали этот «перевод»?
AlexandrBorisov
02.05.2015 10:27-1Эдакий blackberry-way? Интересно, какая судьба будет у C# для мобильной разработки.
DonkeyHot
02.05.2015 13:16+5Странный вопрос насчет судьбы.
Например большинство игр на Unity написаны на C#. А это один из самых популярных игровых движков для мобильных платформ.
Nagg
02.05.2015 18:19Думаю, правильнее спросить — какая судьба ждёт нативные средства разработки под Вин10 (XAML, etc) т.е. зачем париться и писать замл, если можно просто портировать андроид.
boblenin
02.05.2015 19:21Очень верное замечание. Но я думаю выход и из этого есть и уже опробован.
Они так делали с html, с java, с ldap. Поддерживаем стандарт пока не накопится критическая масса и разработчиков и приложений под win платформу и база не станет больше чем под платформы конкурентов, а потом начинаем вносить мелкие несовместимости с конкурирующими платформами. (принцип лисы жившей в ледяной избушке)dordzhiev
02.05.2015 22:19+1Nagg говорит про другое: если Windows будет поддерживать Android/iOS приложения, то смысл тратиться на разработку нативных для Windows? Создадут для Android/iOS, а потом будут на Windows запускать (как в свое время было с OS\2, но несколько в другую сторону). Родным Windows Runtime пользоваться будут реже.
Nagg
02.05.2015 22:25+2Именно. В свое время убил почти 2 года на эту платформу, а она до сих пор никому не нужна. Теперь пишу на Java и C#/Xamarin. Часто вижу заказы на Xamarin только на ios и android. при предложении до кучи сделать еще и WP8 где собственно сам C# нативен — отказываются мотивируя ненужностью.
Artima
02.05.2015 12:30+2Количество упоминаний сторонних брендов в ролике просто зашкаливает. MS действительно собирается продвигать свои новые телефоны потом с лозунгом — «Эй, на нашей Lumia с Windows вы можете запускать приложения от Android»?
DonkeyHot
02.05.2015 13:17+3Ну для разработчиков да, будут продвигать что легко портировать на их платформу.
А пользователи и не будут знать, что это было разработано для Android сначала
khim
02.05.2015 15:20+2В ближайшее время у Microsoft нет никаких шансов куда-то продвинуть «Lumia с Windows» и для них самое главное — сохранить разработчиков.
А убивство Andorid'а можно оставить на потом. Всему своё время. План-то не шибко сложный, всего-лишь двухходовый, но да, это игра «вдолгую».
boblenin
02.05.2015 19:25+1У них проблема яйца и курицы. Люди не хотят покупать win платформу — потому что нет поддержки разработчиков. А разработчики не хотят перепиливать приложения под win, потому что дорого и нет пользователей (не выгодно). Упрощая конвертацию приложений с других платформ они эту дилемму решают, делая затраты на портирование меньше чем потенциальные выгоды (ваше приложение теперь может рабтать не только на ios, но и на win mobile, но впридачу еще и на win desktop). Т.е. двойная выгода разработчикам. А после этого глядишь и пользователи потянутся на самую популярную у разработчиков платформу.
Artima
04.05.2015 14:35Обогнать платформу таким образом нельзя, если использовать те же приложения. Более того, многие разработчики не будут тратить время на этот перевод и последующие обновления, предпочтя развивать основное приложение.
nekdenis
04.05.2015 10:10+1а никого не смущает, что у ios свои гайдлайны, у android — свои? и user experience пользователей winPhone иной, как и весь metroUI
GoodNTS
05.05.2015 15:02Metro UI мертв. Так что всё нормально. В Windows 10 нет Metro UI.
DjoNIK
13.05.2015 20:51Metro UI мертв
Он скорее не мертв, а эволюционировал в Universal Windows Platform (UWP). Который, к слову сказать, берет часть UX из android и/или iOS.Overrided
15.05.2015 00:38+1берет часть UX из android и/или iOS.
Не согласен. Фактически, Metro был еще на WinPhone 7 — а тогда еще ни Material Design у Google не появился, ни iOS «плитку» использовать не начал. Да, было общее движение в сторону content-oriented design, но Microsoft были первыми, кто его пустил «в массы».
GoodNTS
15.05.2015 12:01Простите, но это не эволюция. Metro UI мертв. То что мы видим в Windows 10 это жалкое подобие на Android/iOS. Добавим к этому приложения с Android и всё прощай Windows Phone… ах да Windows Mobile теперь же.
Steely
Хм, а то что телефон справа выглядит ярче и реагирует быстрее сделано специально или действительно так?
Artima
А вы как думаете? )