Microsoft решила поговорить об универсальных приложениях на Mobile World Congress в этом году, но реальных неопровержимых фактов пока мало. То, что появилось, содержит своего рода пиар-разговоры, указывающие на то, что, возможно, Microsoft не совсем понимает, о чем идет речь.
Когда Microsoft массирует положение, в котором она находится, вы не можете не думать, что ей вообще не следовало рыть яму.
Как мы уже много раз говорили ранее (например, см. Microsoft Extinction Event, How Microsoft Could Have Done Metro, The War At Microsoft — Managed v Unmanaged, Dumping .NET — Microsoft’s Madness и Windows и .NET — приближающийся шторм) объединение Windows была цель, которую Microsoft более или менее достигла как раз в тот момент, когда менеджер, страдающий манией величия, решил разделить систему таким способом, который кажется невероятным.
Microsoft в настоящее время не только того, чтобы работать, чтобы вернуть его вместе, но должен делать вид, что это намерение все вместе.
Большая часть представленной «информации» — это просто пиар-шумиха и выражение надежд, с которыми мы все согласны. Например, сообщение в блоге Кевина Галло содержит три пункта:
Увеличение охвата для разных типов устройств
Уникальные впечатления
Максимальное увеличение инвестиций разработчиков
Что ж, вы не можете спорить ни с одним из них, если вы можете их расшифровать. Microsoft также придает большое значение тому факту, что унификация — это хорошо — как будто кто-то мог хоть на долю секунды поверить, что это не так. В стандартной системе вы можете написать одну программу, которая будет работать на всем. Ну кто бы мог подумать!?:
Создавая универсальную платформу приложений, мы поставили перед собой задачу обеспечить, чтобы все разработчики Windows в равной степени извлекли выгоду из этого единого ядра. Платформа обеспечивает новый класс универсальных приложений для Windows — приложений, которые действительно написаны один раз, с одним набором бизнес-логики и одним пользовательским интерфейсом. Приложения, которые доставляются в один Магазин в одном пакете. Приложения, которые могут подключиться к любому устройству с Windows 10, которого хочет достичь разработчик.
Но ждать!
Конечно, нужно учитывать все различные форм-факторы?
В настоящее время универсальные приложения должны иметь разный код пользовательского интерфейса для работы на разных устройствах и, следовательно, совместно использовать только часть кода, не являющегося пользовательским интерфейсом. Решение этой проблемы — изобрести что-то вроде адаптивного дизайна, и Microsoft, похоже, этим и занимается. Ключевой PR-фразой, похоже, является Adaptive UX, и он, похоже, состоит из двух частей. Улучшенный ViewStateManager и набор элементов управления, которые меняются в зависимости от их хоста. Приведенный пример:
на ноутбуке с сенсорным экраном всплывающий элемент управления приложения обеспечивает более крупные сенсорные цели при касании касанием, в отличие от щелчка мышью
Это кажется хорошей и довольно очевидной идеей, но еще неизвестно, можно ли ее реализовать эффективно.
После этого мы принимаем желаемое за действительное. Windows 10 будет иметь естественный пользовательский ввод — речь, жесты, взгляд пользователя и так далее. Вероятно, так и будет, но это не основная проблема управления базовым пользовательским интерфейсом. В том же направлении планируется, что вы сможете использовать больше онлайн-сервисов, предоставляемых Azure, включая Cortana, OneDrive и т. Д.
Все эти функции являются вишенкой на торте, когда на самом деле речь идет о торте.
Последняя новая идея — это веб-приложение. Теперь вы можете рассмеяться и сказать, что веб-приложения никак не могут быть новой идеей. Верно, но Microsoft имеет в виду не совсем то, что вы имеете в виду.
Идея состоит в том, что вы можете использовать инструмент для упаковки веб-сайта как приложения. Затем приложение может быть опубликовано в Магазине, и пользователи смогут установить ваше приложение, чтобы получить доступ к вашему веб-сайту. Интересная информация:
«После установки ваш веб-сайт может обновлять и вызывать универсальные API-интерфейсы из JavaScript, что делает взаимодействие пользователя более привлекательным».
Вы можете увидеть в этом силу. Вы сможете написать JavaScript, который находится на ваших HTML-страницах, который при загрузке в качестве веб-приложения Windows 10 может выполнять вызовы API. Ясно, что должна быть какая-то система безопасности, иначе потенциал будет слишком велик.
Итак, где это нас?
Важнее всего сказать, что новый универсальный API, как мы, кажется, называем, будет надмножеством WinRT API. Хотя это ясно понимается, стоит подчеркнуть, что универсальные приложения не являются приложениями Win32 — мы все еще работаем с совершенно новым API, который недостаточно развит по сравнению с Win32 или полной библиотекой классов .NET.
Разделение между WinRT и Win32 явно не то, что Microsoft хочет исправить в рамках универсального подхода.
На данный момент это примерно сносно, потому что в Windows 10 приложения WinRT / Universal API могут работать в Windows на рабочем столе, так что пока API поддерживает все то, что вы хотите делать, новый подход не является реальным недостатком.
Разумеется, если бы Win32 API был расширен, а не разделен, мы бы не оказались в таком положении.
Еще раз обращаю ваше внимание на третий пункт:
3. Максимальное увеличение инвестиций разработчиков
Если вы вложили средства в Win32 или библиотеку классов .NET, то, похоже, не будет особого улучшения.
Я не думаю, что Microsoft преуспевает, учитывая положение, в котором она находится, но я действительно думаю, что невозможно попытаться сделать так, будто это не только логично, но и желательно.
Похоже, нам придется подождать до апрельской сборки, чтобы узнать, есть ли что-то особенное за дымом и зеркальным актом, к которому нас обращаются в данный момент. Не долго ждать, чтобы увидеть единорога, извините, универсальное приложение, и, что более важно, API.