Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++DelphiIDERAD StudioНовости

Дорогу осилит идущий. Обновление «дорожной карты» Embarcadero

rad2020roadmap05

Опубликована обновленная «дорожная карта» развития инструментов разработчиков компании Embarcadero.

https://blogs.embarcadero.com/rad-studio-roadmap-november-2020/. Мы только что выпустили новую версию дорожной карты, охватывающую ключевые функции, которые мы запланировали на следующие 12 месяцев.

В течение последних лет компания Embarcadero обновляет версии своих инструментов для разработчиков довольно регулярно: 2 раза в год, как минимум. С помощью продляемой подписки на обновления наши пользователи сразу получают самые последние релизы своих продуктов, одновременно продолжая свои проекты на той же или даже более старой версии. Но рано или поздно  наступает момент, когда для реализации новых задумок или требований пользователей имеющихся возможностей инструментов уже не хватает. В этот момент очень важно иметь дополнительные ориентиры для оптимального планирования этих проектов как по времени, так и по инструментам их реализации.

Понимая необходимость этого, наша компания регулярно информирует о планах по развитию наших инструментов и публикует «дорожную карту» их развития. Создание такой карты довольно сложное дело, так как требуется учесть интересы и запросы большинства наших пользователей по всему миру, многие из которых являются крупными компаниями с налаженным и успешным бизнесом, и верно расставить приоритеты по различным средствам и регионам. Хотя такие карты являются протоколами о намерении, они все же очень важны для планирования, особенно для нашей страны с долгим циклом финансирования.

Полезной традицией стали личные комментарии к опубликованным планам менеджеров по продуктам — Марко Канту, Дэвида Миллингтона и Сарины Дюпон. https://blogs.embarcadero.com/rad-studio-november-2020-roadmap-pm-commentary/  Наряду с официальными слайдами дорожной карты, они представляют больше подробностей, информации и понимания в этом дополнительном посте блога.

Ниже мне хотелось бы привести главное из высказанного ими.

Что доступно на данный момент

В начале этого года мы выпустили Сидней 10.4. Релиз 10.4 был очень хорошо принят нашими клиентами и включал в себя первую поставку созданного заново движка Delphi Code Insight, теперь основанного на архитектуре протокола Language Server (LSP), нового отладчика для C++ Win64, с медленным откликом на действия клиента, и новые возможности языка Delphi, такие как пользовательские управляемые записи. Мы также значительно расширили возможности использования VCL-стилей с поддержкой HighDPI-мониторов и стилизации под управление.

В продолжение релиза 10.4 в в сентябре 2020 года мы выпустили  версию 10.4.1, которая была в основном сфокусирована на качестве и дальнейшем улучшении функций, поставляемых в 10.4, в частности, на недавно добавленной поддержке Delphi LSP. 10.4.1 включает более 800 улучшений качества, в том числе более 500 улучшений качества для публичных выпусков на портале качества Embarcadero.

Прежде чем перейти к подробностям о релизах 10.4.2 и 10.5, мы хотели бы подчеркнуть, что 10.4/10.4.1 был одним из самых популярных наших релизов на сегодняшний день, с большим количеством скачиваний по сравнению с 10.3 и 10.2. Это особенно впечатляет в разгар КОВИД-19. В настоящее время мы работаем над релизом 10.4.2, запланированным на первую половину 2021 календарного года и подробно описанным в дорожной карте. За некоторое время до релиза мы собираемся пригласить клиентов RAD Studio, Delphi и C++Builder, имеющих активную подписку на обновления, присоединиться к бета-тестированию предстоящего релиза.  Возможность присоединиться к бета-тестированию и быстрой обратной связи с разработчиками продукта на ранней стадии цикла разработки является одним из преимуществ подписки на обновления.

Разбор кода

В 10.4.2, одним из важных направлений работы является новая версия Delphi Code Insight (он же Delphi LSP). В 10.4.2 будет включено не только множество исправлений и тонкостей, но и менее распространенные функции понимания кода, которые мы не включали в первоначальную версию, а также некоторые новые или значительно улучшенные функции Code Completion. Например, мы планируем добавить, в том числе, ctrl-клик на ‘унаследованное’, а также переработанное завершение в пунктах ‘Uses’.

Наиболее заметным для всех клиентов C++ будет полная ревизия Code completion C++ кода при использовании компиляторов Clang. В 10.3, когда мы перешли на C++17, нам пришлось заменить технологию завершения кода, используемую IDE. Для версии 10.4.2 мы решили провести полный капитальный ремонт Code Completion на С++, чтобы обеспечить необходимую производительность разработчику. Клиенты на С++ должны понимать, что доработка кода и навигация по нему работают надежно и хорошо. Мы даже рассматривали некоторые более сложные случаи, например, обеспечение доработки в заголовочном файле (гораздо сложнее, чем в .cpp-файле)! Конечным результатом должно быть все, о чем вы нас просили.

Обработка исключений C++

Обработка исключений — это сложная область, требующая тесного взаимодействия между компилятором и RTL для корректной работы. Существуют общие конвенции для исключений, такие как никогда не допускать пересечение границы модуля (например, быть поднятым в DLL, но попавшим в EXE), но они не всегда выполняются, иногда по уважительным причинам. В Си++ нам нужно работать с исключениями на Си++, исключениями из ОС и SEH, не забывая при этом и об обработке исключений в Delphi.

В 10.4.2 мы переработали систему обработки исключений. По мере приближения к релизу мы выпустим в блоге подробное описание сценариев, которые мы поддерживаем. Уже сейчас видны некоторые отличные улучшения!

IDE и инструментарий

10.4.2 запланирована работа по улучшению IDE

В этом релизе мы добавляем третий стиль, который использует традиционный серый, а не синий для основных цветов. Это может быть полезно для тех, кому требуются особые условия по зрению.

Мы также планируем дальнейшее улучшение настольных шаблонов, мульти-мониторных шаблонов, редакторов форм и аналогичных областей. Это включает в себя возможность работы в дизайнере формы одновременно с открытым редактором кода для этой формы

Наконец, мы хотим усовершенствовать инструмент миграции Settings Migration Tool, чтобы помочь перенести настройки RAD Studio из версии в версию (например, из 10.3 в 10.4) и лучше сохранить вашу конфигурацию при переходе к выпуску обновления (например, из 10.4.1 в 10.4.2). Мы планируем добавлять конкретные предустановленные конфигурации для каждого сценария и включать конфигурационные файлы в дополнение к настройкам реестра, рассматриваемым сегодня.

Поддерживаемые платформы

Что касается целевых операционных систем, то в настоящее время мы сосредоточены на совершенствовании существующих платформ, поддерживаемых в 10.4.x, и есть два направления, над которыми мы работаем в 10.4.2.

Первое — это часть нашего постоянного внимания к Windows как нашей основной целевой ОС. В операционной системе Microsoft мы внимательно следим за текущим направлением деятельности Microsoft по объединению WinRT API и традиционного Win API, через Project Reunion. Project Reunion (https://github.com/microsoft/ProjectReunion) включает в себя различные технологии, начальными из которых являются WinUI 3, WebView2 и MSIX.

Элемент управления WebView2 — это новый Windows-платформенный компонент, встраивающий Edge Chromium. Мы предоставили поддержку этой функции в 10.4 с VCL компонентом TEdgeBrowser.

Еще одной частью релиза будет поддержка MSIX-формата упаковки, который мы планируем включить в 10.4.2. MSIX является преемником APPX, цели, которую мы в настоящее время предлагаем в рамках интеграции RAD Studio IDE Desktop Bridge, и предназначен для Microsoft Store и для развертывания на предприятии.

Мы работаем над новыми VCL Native Windows Controls, чтобы вы могли предоставить своим клиентам более современный пользовательский интерфейс:

Один из них — оптимизированный виртуальный список, который позволит вам отображать большое количество элементов с гибкой комбинацией текста и графики. Управление будет свободно основываться на подходе существующего управления DBCtrlGrid, но без необходимости использования источника данных. Он будет поддерживать использование Live Bindings.

Другой новый компонент VCL, который мы добавляем, это контрол цифрового ввода, аналогичный контролу NumberBox платформы WinUI. Этот элемент управления обеспечивает более легкий и плавный цифровой ввод, учитывая различные форматы (целые числа, числа с плавающей точкой, валютные значения), а также включая простую оценку выражений.

Совместимость с новыми версиями операционных систем

Мы планируем обеспечить полную совместимость с новыми версиями операционных систем, выпущенными Apple и Google после выхода RAD Studio 10.4.1. Несмотря на то, что сегодня можно ориентироваться на эти платформы, есть несколько открытых проблем, которые мы хотим решить должным образом (а не через обходные пути). Цель состоит в том, чтобы иметь полную поддержку:

  • iOS 14 и iPadOS 14 (Delphi и C++).
  • macOS 11.0 Big Sur (Intel) (Delphi)
  • Android 11 (Delphi)
Работа над повышением качества

Что касается качества, то в 10.4.2 (как и в 10.4.1) мы продолжим прилагать значительные усилия по обеспечению стабильности, производительности и качества. Мы планируем решение проблем, о которых сообщали клиенты, и эскалацию поддержки во многих областях продукта. Инструменты и библиотеки, на которых мы особенно сосредоточимся, в дополнение к тем, которые были перечислены ранее, включают в себя:

  • Компилятор Delphi (для всех платформ) для повышения его надежности и обратной совместимости, но особое и глубокое внимание уделяется производительности компилятора (и компоновщика) для сокращения времени компиляции больших проектов, а также ускорению LSP-движка (который использует компилятор для анализа исходного кода).
  • Библиотека клиента SOAP вместе с инструментом импорта WSDL, который генерирует клиентский код, используемый для интерфейса с серверами SOAP.
  • Библиотека параллельного программирования (PPL), которая предлагает отличную абстракцию различных платформ и многоядерных потоковых возможностей CPU, с точки зрения задач, фьючерсов и параллельных циклов
  • Многоуровневые решения для веб-сервисов, входящие в состав RAD Studio, с усовершенствованиями как RAD Server, так и старого движка DataSnap, а также общими усовершенствованиями клиентских библиотек HTTP и REST. Мы также продолжим фокусироваться на поддержке Azure и AWS Cloud.
  • Дополнительное внимание будет уделено VCL-стилям и HighDPI-стилям, а также VCL в целом.
  • Для библиотеки FireMonkey мы продолжаем улучшать компоненты TMemo (как в платформе, так и в стилевых версиях), драйвер библиотеки Metal GPU, представленный в 10.4, и переделывать управление датчиками на Android, чтобы обеспечить лучшую поддержку для различных Android-устройств.

Планируемое по 10.5

Для 10.5 запланирована реализация замечательных новых функций, которые с нетерпением ожидают многие клиенты.

В течение создания 10.5 мы планируем внедрить новую целевую платформу для Delphi — macOS ARM (на базе процессоров Apple Silicon), значительную работу по поддержке IDE HighDPI, расширения инструментальной цепочки C++, а также многие другие дополнительные функции и улучшения качества

Что касается платформы Windows, то, как уже упоминалось ранее, мы планируем предложить поддержку различных технологий, входящих в состав Microsoft Project Reunion. В частности, в релизе RAD Studio 10.5 мы планируем интегрировать поддержку современных Windows UX через библиотеку WinUI 3. Согласно дорожной карте Microsoft для библиотеки, должна появиться возможность использовать компоненты этой библиотеки в нативном приложении, основанном на классическом API, смешивая формы и элементы управления различных типов. Реальные детали будут зависеть от того, что библиотека будет предоставлять в плане интеграции с нативными приложениями, но наш текущий план состоит в том, чтобы интегрировать эту библиотеку в VCL с новыми специфическими элементами управления.

Говоря о платформах, мы хотим добавить новую ОС для приложений Delphi: новый компилятор для ARM-версии операционной системы macOS с аппаратным обеспечением Apple на базе процессоров Apple Silicon. Несмотря на то, что вы можете запускать приложения Intel, цель состоит в том, чтобы иметь родное приложение ARM для нового поколения Mac. Это будет значительное расширение Delphi, включая новый компилятор, обновления библиотеки времени исполнения и различные библиотеки высокого уровня. Мы также планируем расширить синтаксис языка Delphi.

Планируется полная поддержка HighDPI в IDE. Уже в паре релизов VCL поддерживает HighDPI, теперь будет поддерживать HighDPI и IDE RAD Studio, которая в основном использует VCL. Это гарантирует четкую визуализацию на всех современных экранах с высоким разрешением, в том числе при перемещении окон по экранам с различными разрешениями и масштабами.

Дизайнер форм VCL является одним из ключевых инструментов, который вы используете при создании приложения. Смысл дизайнера заключается в том, чтобы быстро построить интерфейс, приближенный к тому, как он будет выглядеть при работе приложения, в отличие от инструментов, которые описывают интерфейс только в тексте и не обеспечивают немедленной обратной связи / цикла итераций. В 10.5, мы планируем расширить этот элемент, чтобы проект выглядел похожим на то, как будет выглядеть ваше приложение при работе, добавив поддержку VCL-стиля в конструктор, так что когда любой из ваших элементов управления будет стилизован, вы увидите, что они также стилизованы и в конструкторе.

Дизайнер форм FMX также является ключевым инструментом, когда вы строите кроссплатформенное приложение. Мы планируем внести некоторые инструменты проектирования из дизайнера VCL, такие как руководства по выравниванию, чтобы убедиться, что дизайнер имеет функции производительности, которые вам нужны.

Мы также планируем сконцентрироваться на интеграции IDE с системами управления исходными кодами, чтобы облегчить коллективную работу вашей команде разработчиков. Кроме того, мы планируем некоторые улучшения в том, как IDE будет представлена при первом запуске, чтобы помочь новичкам в Delphi и C++Builder начать работу.

Наконец, многие клиенты используют Delphi или C++Builder на выделенном сборочном сервере. Наряду с управлением исходными кодами, тестированием и подобной практикой, хорошей практикой является официальная сборка на конкретной машине или виртуальной машине. В настоящее время для установки RAD для сборочного сервера необходимо установить полную IDE — но это не должно требоваться, так как для сборки нужны только инструменты командной строки. Мы планируем сценарий установки специально для сборочных серверов.

C++Builder

В 10.5 мы планируем полную замену другому базовому инструменту — компоновщику. Как и отладчик, это будет для Win64.

Вы заметите ориентацию на 64-битную Windows в C++Builder. Многие клиенты используют Clang для работы с Win64, и мы хотим, чтобы наши инструменты были на уровне или лучше, чем та, к которой вы можете привыкнуть из классического компилятора. Кроме того, многие начинают смотреть исключительно на 64-битные приложения, при этом 32-битные приложения обновляются, а новые — только на 64-битные.

Visual Assist — удивительное расширение производительности для Visual C++, дающее завершение кода, рефакторинг и многое другое. Мы исследовали различные способы его интеграции в C++Builder и планируем сделать это в 10.5.

Наконец, мы также планируем улучшить взаимодействие с Delphi/C++. Возможность использования двух языков — это большой прирост производительности и одна из ключевых причин использования C++Builder или RAD Studio. Планируется дополнительная работа для оттачивания этой интеграции. Это должно обеспечить более плавную интеграцию с функциями RTL.

Delphi отладчик

В 10.4 мы представили совершенно новый отладчик для C++ Win64, основанный на LLDB. В конечном итоге, мы стремимся использовать один и тот же отладчик на всех платформах — сегодня мы используем смесь различных отладчиков. Ключом к этому является добавление к LLDB фронтенда языка Delphi, который позволяет оценить синтаксис Delphi, например, в диалоге Evaluate/Modify. Мы планируем представить первую платформу, использующую LLDB, с этим новым фронтендом в 10.5.

Резюме

У нас большие планы на ближайшие релизы Delphi, C++Builder и RAD Studio! Мы будем активно работать, чтобы сделать задуманное доступным пользователям!

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

IN THE ARTICLES