Майже всі вже відписалися з приводу виходу нової лінійки засобів розробки Embarcadero RAD Studio XE3. Я теж в підсумку встановив trial версію, чого взагалі кажучи робити не хотілося, тому що в ній немає вихідного, і в подальшому її доведеться встановлювати заново.
Наступним кроком створюю Metropolis UI Grid Application. Знову перед глазама неосяжних розмірів форма 2522х1261, але в даному випадку це зрозуміло бо даний тип додатків має на увазі використання горизонтальної прокрутки. На формі представлені три групи елементів, кожен елемент складається з комбінації панелей TPanel, зображення TImage і міток TLabel. І де ж чорт візьми фрейми, напрошується питання. Реалізація знову здалася дивною. Каркас даного додатка складається з двох форм, перша показує групи елементів, а при кліці в будь-якої з них показується форма докладної інформації.
Наступний тип додатків - Metropolis UI Split Application. На головній формі знаходиться одна група елементів, детальна форма зліва відображає список елементів групи, а праворуч подробиці. Для відображення списку використовується TGridPanel (перший раз цей компоненета побачив (:).
Ще одна річ стосується Metro UI - конвертація звичайного VCL додатки в Metropolis. Беремо звичайне VCL додаток, додаємо на форму якісь стандартні елементи, а потім в контекстному меню вибираємо пукт Convert to Metropolis UI. Ця дія змінює розмір елементів, прибирає межу вікна і т.п. настрівает шрифти відповідно в рекомендаціями MS по розробці Metro UI, відкривається вікно вибору стилів, де ми вибираємо, наприклад, Metropolis UI Black. Результат виходить наступний:
Загалом враження двояке. Спочатку ще з аноносов було ясно, що Metropolis буде саме "look like Windows 8 Metro UI". C іншого боку ми бачимо хороший приклад того, як за допомогою простого використання стилів можна створювати сучасної виглядають додатки. Взагалі хотілося звичайно бачити якийсь набір компонентів для реалізації Metro, хоча б щоб цей додаток будували не на звичайному TForm, а реалізації якогось спадкоємця з уже підготовленим функціоналом, наприклад, тієї ж спливає панелі з кнопкою закриття; компонентів для показу спливаючих підказок, і т.п. Так що, виходить ніякого окремого виду "Metropolis UI Application" і немає. Є набір стилів, а решта за вами. Шаблони створюваних додатків більше підходять на Samples, ніж на каркас нового додатка. Передбачається адже, що все елемнети будуть динамічними, дак на кой треба малювати їх все в статиці тоді? щоб я створивши новий додаток, потім все видалив?
У чому собвественно ще один плюс - додатки можна запускати не тільки в Windows 8, але і в будь-який Windows середовищі. Для інтеграції безпосередньо з Windows 8 передбачений компонент TLiveTile, за допомогою якого можна відображати плитки на екрані старту Win 8. Але і тут все не так добре як хотілося б, подробиць не знаю, але ніби як не можна відобразити плитку для екрану Win8, використовуючи сторонні кошти розробки. Embarcadero це питання, судячи по форумах, намагається вирішити, а поки що нам предполгаетеся для роботи системна служба, мабуть написана в Visual Studio. Тут треба думати, VCL / FMX Metropolis додаток з цією службою спілкується, і просить її вставити потрібну плитку на екран. Служба ж назад віщає про дії користувача. А може все і не так. Для настройки плитки є близько десятка заготовлених шаблонів, що треба визнати, вельми зручно. Так що будемо вивчати розділ довідки Developing Metropolis UI Applications.
Варто сказати, що в FMX підтримка Metropolis якось більш істотна. Там і окремі заготовлені компоненти є і т.п. наприклад в каркасі FireMonkey Metropolis UI Grid App можна побачити елементи списку TMetropolisUIListboxItem. Доступні стилізовані поля введення з заготовленими кнопками паролів і т.п. індикатор анімації виглядає як рідний в Win 8 Metro.
Що стосується нового FireMonkey, то спробував перекоміліровать в ньому проект MyShows. Відразу не вийшло. Робота з грід змінилася, заповнення тепер відбувається якось по-іншому. Треба вивчати питання. Дивно як то, при запуску програми вискакують помилки що властивість TabOrder відсутня. Такі помилки зазвичай повинні випливати при самому відкритті форми в IDE, але немає, та мовчить. Мабуть властивість доведеться видаляти вручну з файлів форми .fmx. Анімація верхнього меню тупити стала менше, але все одно тупить (: мб я що то там неправильно зробив? (:
Що касатся інших нововведень, які не так широко афішувати, то вельми цікавим є введення хелпери / помічників для простих типів даних. Дивно, що про це ні слова немає в "Whats new". Повторюватися не буду, бо про цей функціонал вже не раз писали в блогах. Я ж подивився на змінили в складі файлів winapi. *. Dcu:
- WinApi.FunctionDiscrovery заголовки для FunctionDiscovery API, я як то і сам пробував його переписати. коли копирсався з DLNA, далеко це не пішло. Інтерфейси призначені для пошуку пристроїв за функціональними можливостями.
- WinApi.LocationAPI - Інтерфейси для визначення місця розташування, API введений в Win 7.
- Ймовірно від winapi.msxml відділений winapi.msxmlintf.
- WinApi.PenInputPanel - щось для підтримки пір'яного введення, і відображення панелі для рукописного введення пером.
- Winapi.Portabledevicetypes
- WinApi.Sensors і WinApi.SensorsAPI - інтерфейси для роботи з датчиками, в тому числі для розташування
- WinApi.UserEnv - заголовки дл userenv.dll
- Winapi.Wbem - судячи з назви - робота з WMI.
Хотілося побачити в цьому списку Windows Ainmation але немає його. А ще хотілося побачити оновлений D2D1 з підтримкою ефектів Windows 8 і т.п. але теж все по старому (взагалі в 8ке робота з D2D трохи зміниться, там і сам RenderTarget начебто на щось замінений). Загалом знову пишемо все самі (:
Як підсумок, Metropolis сам по собі (як дизайн інтерфейсу) - штука цікава. У мене є план написати клієнт для сервісу Instagram.com, який я вже почав здійснювати. Ймовірно це додаток я спробую зробити за допомогою Metropolis UI, у тільки не знаю VCL або FMX.
Всеволод,
шаблони ці не те щоб "на кой", просто набагато цікавіше було б побачити як то помічник. Наприклад, конверти VCL форму в Metropolis UI, в результаті відкривається вікно вибору стилів.
а тут, створюємо Metropolis додаток, форма створилася все окей, і тут би показати помічник по створенню груп і елементів. І далі ти або створюєш вручну їх, або відмовляєшся, і маєш чистий шаблон. Ось це б було имхо зручніше.