Ada_Ru форум

Обсуждение языка Ада

Что значит выпуск Юбилейного обновления Windows 10 для разработчиков, особенно Delphi, Ada, Oberon

Оставить новое сообщение

Сообщения

Иван Леваше
Что значит выпуск Юбилейного обновления Windows 10 для разработчиков, особенно Delphi, Ada, Oberon
2016-08-28 14:19:59
Приветствую!

Изначально разместил статью здесь:
http://forum.pascal.net.ru/index.php?showtopic=32005

Можно распространять, желательно, со ссылкой на оригинал.

======

История подсистемы универсальных приложений начинается с выпуска Windows
8, а он случился 1 августа 2012 года. Это те самые приложения, которые
были заточены под запуск на планшетах и довольно забавно смотрелись на
моноблоках во всю стену. Microsoft довольно много посвятил материалов
перспективам Metro приложений, как они тогда назывались. Появился
Магазин приложений Windows. Да, были, конечно, и раньше менеджеры, у
Intel что–то было предустановленное для ультрабуков, и есть более
линуксовый Chocolatey. Но рынок у них был невелик, а тут–то нечто
встроенное в Windows появляется, с возможностью получать деньги от
покупок приложения и внутри приложений. Ну а нас случай, если пряником
плохо доходит, то был и кнут. Некоторые возможности операционной системы
были доступны только в Metro. Это, например, живые плитки и оповещения.
Также эти приложения, будучи запущенными, занимали особое место на
рабочем столе. Пространство рабочего стола можно было поделить между
двумя такими приложениями, при этом все так называемые классические
приложения работали на обычном Рабочем столе, который был сам как
приложение Metro, а всё, что в нём запущено — получалось вложенным в
него, то есть, даже визуально в как бы подчинённом положении.

И разработчики ждали от поставщиков, ну когда же, когда будет поддержка
Metro в их инструментах разработки. Android осилили, Mac OS X осилили,
iOS осилили, а тут почти та же Windows. Ан нет, не тут–то было. Ведь не
только Embarcadero и AdaCore делают компиляторы для Windows, у
Microsoft–то, оказывается, тоже есть какие–то свои наработки, и они
настолько захотели осчастливить ими весь мир, что сделали их единственно
приемлемым инструментарием для разработки Metro приложений. Когда вы
читаете рекламные агитки, там этого не напишут, но если вы попытаетесь
сделать свой компилятор, вы либо не сможете скомпилировать дееспособное
приложение, либо ваше приложение не пройдёт проверки, необходимые для
принятия в Магазин. Почему? А потому что у компиляторов Microsoft все
запретные функции WinAPI вызываются из DLL, для которых сделано особое
исключение, а для rtl**.bpl, libgnat-*.dll и т. п. такого исключения нет
и не будет. Если вы понимаете английский, вы можете прочитать пару
статеек на эту тему:
Why Delphi Cannot (currently) Support WinRT [1]
Delphi and WinRT or Windows 8 "Dirty Little Secret" [2]

На Аду это не так сильно повлияло. В тех областях, где её основная ниша,
разработчики компилятора — более сильная сторона, чем просто
разработчики и пользователи. Партия сказала нафиг PIC, будет только AVR,
LEON и ARM — комсомол ответил: «Есть!» Партия сказала нафиг Metro, ну и
так далее. Ну кто там будет через Магазин Windows покупать софт для
координации самолётов [3] или смотреть на живые плитки?

Embarcadero и их предшественники Borland и CodeGear за 2000ные в
результате своей политики подрастеряли устойчивость, и такого влияния не
имели. Пришлось корячиться. И вот весь мир увидел в Delphi XE3 вместо
Metro так называемый Metropolis, который только по виду похож на
приложения Metro, а по сути в терминологии Microsoft — классические
приложения. Но справедливости ради плитки–таки сделали. И вот, каким
образом: их показывает специальное удовлетворяющее драконовским
требованиям Microsoft приложение, а получает оно их через специальную
службу Windows, в которую, в свою очередь, отправляют свои плитки эти
самые классические приложения. Если вы понимаете английский, вы можете
прочитать об этом в статье Live Tile Support for Metropolis UI
Applications [4]

Однако, с некоторых времён появился свет в конце туннеля. И имя ему —
Project Centennial [5]. Впервые о нём было объявлено на видеопрезентации
(на английском) Project Centennial": Converting your Classic Windows App
(Win32, .Net, COM) to a Universal Windows App for Distribution in the
Windows Store [6], и датировалось она 30м апрелем 2015 года. Кроме
видео, ничего толком и не было. Максимум — можно было подписаться на
уведомления по почте. Вообще не было ясно, будет это реализовано или
нет. Microsoft по старинке соблюдает корпоративный дух, который
выражается в том, чтобы не видеть, не слышать и не говорить ни про что,
кроме того, что сделано в твоей корпорации, поэтому они пишут не про
Delphi, Ada, Oberon, а про Win32, .Net, COM. Надо это иметь в виду и в
уме постоянно переводить с корпоративного языка на понятный.

Кстати, как можно видеть, уже тогда Metro переименовали в универсальные
приложения. Metro и UWP (Universal Windows Platform) — это одно и то же.
Радикализм в Windows 8 вышел боком, и постепенно происходил откат: в 8.1
Пуск вернули и Metro приложения на Панели задач разместили, в Windows 10
Пуск и приложения стали не на весь экран, и чтобы совсем порвать с
тяжёлым прошлым, отказались от названия «Metro».

В начале 2016 года инструментарий Project Centennial стал доступен в
открытом доступе как бы, ну а на самом деле, чтобы приложения запустить,
в операционной системе должен был быть специальный виртуализатор, и
существовал он только в Insider Preview версиях, и то только для Pro и
Enterprise. А даже если они и имелись, то работать приложения могли
только у таких же инсайдеров. Шло томительное ожидание, ну когда же эти
возможности сделают доступными для всех. Вот, например, в презентации
десятой Студии (Сиэттл) [7] на 5й странице читаем:

> В будущем значительное расширение через Microsoft Project Centennial

И вот — оно случилось. 2 августа 2016го, через 4 года и 1 день вышло в
свободный доступ Юбилейное обновление Windows 10 с поддержкой нормальных
языков программирования в универсальных приложениях. Со времён Windows
XP не было такого масштабного события. До Юбилейного выпуска Windows 10
универсальных приложений, можно считать, и не было, настолько были
дурацкими требования к ним, как видно на примере реализации живых плиток
в Delphi. А теперь раз — и универсальные приложения появились. Финал
многолетней драмы.

[1] http://www.deltics.co.nz/blog/posts/1080
[2] http://blog.marcocantu.com/blog/delphi_winrt_windows8_secret.html
[3] https://habrahabr.ru/post/285648/
[4]
http://docwiki.embarcadero.com/RADStudio/XE3/en/Live_Tile_Support_for_Metropolis_UI_Applications
[5] https://developer.microsoft.com/en-us/windows/bridges/desktop
[6] https://channel9.msdn.com/Events/Build/2015/2-692
[7] http://delphitour.ru/docs/RAD_Studio_XE10_02.pdf

С уважением,
Левашев Иван,
Барнаул

-- 
If you want to get to the top, you have to start at the bottom
Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти