И разработчики ждали от поставщиков, ну когда же, когда будет поддержка 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
Delphi and WinRT or Windows 8 "Dirty Little Secret"
На Аду это не так сильно повлияло. В тех областях, где её основная ниша, разработчики компилятора — более сильная сторона, чем просто разработчики и пользователи. Партия сказала нафиг PIC, будет только AVR, LEON и ARM — комсомол ответил: «Есть!» Партия сказала нафиг Metro, ну и так далее. Ну кто там будет через Магазин Windows покупать софт для координации самолётов или смотреть на живые плитки?
Embarcadero и их предшественники Borland и CodeGear за 2000ные в результате своей политики подрастеряли устойчивость, и такого влияния не имели. Пришлось корячиться. И вот весь мир увидел в Delphi XE3 вместо Metro так называемый Metropolis, который только по виду похож на приложения Metro, а по сути в терминологии Microsoft — классические приложения. Но справедливости ради плитки–таки сделали. И вот, каким образом: их показывает специальное удовлетворяющее драконовским требованиям Microsoft приложение, а получает оно их через специальную службу Windows, в которую, в свою очередь, отправляют свои плитки эти самые классические приложения. Если вы понимаете английский, вы можете прочитать об этом в статье Live Tile Support for Metropolis UI Applications
Однако, с некоторых времён появился свет в конце туннеля. И имя ему — Project Centennial. Впервые о нём было объявлено на видеопрезентации (на английском) Project Centennial": Converting your Classic Windows App (Win32, .Net, COM) to a Universal Windows App for Distribution in the Windows Store, и датировалось она 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. А даже если они и имелись, то работать приложения могли только у таких же инсайдеров. Шло томительное ожидание, ну когда же эти возможности сделают доступными для всех. Вот, например, в презентации десятой Студии (Сиэттл) на 5й странице читаем:
Цитата
В будущем значительное расширение через Microsoft Project Centennial
И вот — оно случилось. 2 августа 2016го, через 4 года и 1 день вышло в свободный доступ Юбилейное обновление Windows 10 с поддержкой нормальных языков программирования в универсальных приложениях. Со времён Windows XP не было такого масштабного события. До Юбилейного выпуска Windows 10 универсальных приложений, можно считать, и не было, настолько были дурацкими требования к ним, как видно на примере реализации живых плиток в Delphi. А теперь раз — и универсальные приложения появились. Финал многолетней драмы.