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

Комментарий к проекту RAD Studio, ноябрь 2020 г.

Марко Канту, Дэвид Миллингтон и Сарина Дюпон

Введение

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

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

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

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

Прежде чем мы углубимся в подробности выпусков 10.4.2 и 10.5, мы хотели подчеркнуть, что 10.4 / 10.4.1 был одним из наших самых популярных выпусков на сегодняшний день, с большим количеством загрузок по сравнению с 10.3 и 10.2. Это особенно впечатляет в разгар COVID-19. Мы связываем успех как с выпуском, так и с нашим более активным взаимодействием с технологическими партнерами, которые продолжают сотрудничать с нашей командой для обновления и разработки новых функций. Мы также хотим поблагодарить вас, наших клиентов, за отличную обратную связь, которую вы предоставили команде продукта, с точки зрения функций, которые вы хотели бы добавить, и областей, на которых мы хотели бы сосредоточить внимание для качества, а также ваше участие. в наших бета-программах (что является одним из преимуществ подписки).

В настоящее время мы работаем над выпуском 10.4.2, который запланирован на первую половину календарного 2021 года и подробно описан в дорожной карте и в этом комментарии в блоге. За некоторое время до выпуска мы планируем пригласить клиентов RAD Studio, Delphi и C ++ Builder с активной подпиской на обновления для участия в бета-тестировании предстоящего выпуска. Бета-версия 10.4.2 будет бета-версией NDA, требующей от участников подписать наше соглашение о неразглашении перед тем, как принять участие в бета-тестировании. Возможность присоединиться к бета-версиям и участвовать в предоставлении обратной связи руководству продукта на ранних этапах цикла разработки — одно из преимуществ актуальности подписки на обновления.

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

График разработки плана развития RAD Studio

Прежде чем мы перейдем к деталям функций, над которыми команда разработчиков работает сегодня или изучает будущее, давайте взглянем на график следующих выпусков, как показано на основном слайде дорожной карты:

rad2020roadmap05

Комментарий Дэвида к планам 10.4.2

Анализ кода Delphi

Как писал Марко выше, в 10.4.1 мы уделяли большое внимание качеству. Это продолжается в 10.4.2, при этом одной из важных областей работы является новый Delphi Code Insight (он же Delphi LSP). Не только 10.4.2 будет включать в себя множество исправлений и настроек, а также менее часто используемые функции анализа кода, которые мы не использовали. включить в первоначальную версию, но также некоторые новые или значительно улучшенные функции автозавершения кода. Например, мы планируем добавить «унаследованный» с нажатой клавишей Ctrl, а также переработанное завершение в предложениях «использует» среди прочего.

C ++ Code Insight

C ++ также продолжает тему непрерывной качественной работы с акцентом на две области.

Наиболее заметным для всех пользователей C ++ будет полная версия автозавершения кода C ++ при использовании компиляторов Clang. В версии 10.3, когда мы обновились до C ++ 17, нам пришлось заменить технологию завершения кода, которую использовала IDE. С момента его появления мы улучшали автозавершение кода в каждом выпуске, обращаясь к случаям использования, когда определенные шаблоны кода или настройки проекта могли вызвать проблемы с завершением.

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

Мы даже занимались некоторыми более сложными случаями, такими как обеспечение завершения в файле заголовка (намного сложнее, чем в файле .cpp)! Конечным результатом должно быть все, о чем вы нас просили.

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

Другой важный аспект качества C ++ в 10.4.2 — обработка исключений.

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

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

IDE

Помимо акцента на автозавершении кода для обоих языков, в среде IDE запланирована и другая работа в 10.4.2.

В 10.3 мы представили две текущие темы, светлый и темный стиль (на самом деле темный стиль, хотя и значительно отличающийся, был впервые представлен в 10.2.3. Это была одна из наших самых популярных функций.) Светлый стиль преимущественно бледно-синий. В этом выпуске мы добавляем третий стиль, в котором в качестве основных цветов используется традиционный серый, а не синий. Считайте это ретро-стилем для тех, кому нравится, как среда IDE выглядела в эпоху 2010-XE7, возврат к классическому виду. Мы также считаем, что это может быть полезно для тех, кому требуется особое зрение.

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

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

Комментарий Марко к планам 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 с компонентом TEdgeBrowser VCL.

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

Еще одна область нашей улучшенной поддержки платформы Windows, в частности приложений VCL, — это добавление двух новых элементов управления, призванных помочь нашим клиентам модернизировать и улучшить UX своих приложений. Мы работаем над новыми встроенными элементами управления Windows VCL, чтобы вы могли предоставить своим клиентам более современный интерфейс:

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

Вторая часть наших улучшений ориентирована на поддерживаемые в настоящее время целевые платформы. Мы планируем обеспечить полную совместимость с новыми версиями операционных систем, выпущенных 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), которая предлагает отличную абстракцию различных платформ и возможностей многоядерных процессоров для многопоточности с точки зрения задач, будущего и параллельных циклов.
  • Решения многоуровневых веб-сервисов, входящие в состав RAD Studio, с улучшениями как для сервера RAD, так и для более старого механизма DataSnap, а также с общими улучшениями клиентских библиотек HTTP и REST. Мы также продолжим уделять особое внимание облачной поддержке Azure и AWS.
  • Стилям VCL и стилям HighDPI будет уделено дополнительное внимание, наряду с VCL в целом.
  • Для библиотеки FireMonkey мы продолжаем улучшать компоненты TMemo (как в платформенной, так и в стилизованной версиях), драйвер библиотеки Metal GPU, представленный в 10.4, и переделываем управление датчиками в Android, чтобы обеспечить лучшую поддержку для различных устройств Android.

RAD Studio 10.5

Для справки, вот снова основной слайд дорожной карты:

rad2020roadmap05

Комментарий Дэвида к планам версии 10.5

Пользовательский опыт

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

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

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

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

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

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

C ++ Builder

В 10.4.0 мы представили новый отладчик для C ++ Win64. Это было связано с распространенным запросом клиентов, особенно потому, что мы включили «средства форматирования», способ легко оценить содержимое контейнеров STL или любой структуры данных, включая вашу собственную. Это был совершенно новый отладчик, а не новая версия того, что мы использовали ранее. В версии 10.5 мы планируем аналогичную новую замену для другого основного инструмента — компоновщика. Как и отладчик, это будет для Win64.

Вы заметите здесь акцент на 64-битную Windows. Многие клиенты используют 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. В конечном итоге мы стремимся использовать один и тот же отладчик на всех платформах — сегодня мы используем сочетание разных отладчиков. Ключом к этому является добавление интерфейса языка Delphi к LLDB, который позволяет вам оценивать синтаксис Delphi, например, в диалоговом окне Evaluate / Modify. Мы планируем представить первую платформу, использующую LLDB, с этим новым интерфейсом в 10.5.

Комментарий Марко к планам 10.5

Платформы

Что касается платформы 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 для всех платформ и повысить производительность кода математической обработки, генерируемого компилятором в Windows, что ускорит приложения при обработке чисел.

Мы также продолжим работать над общим качеством продукта и планируем выбрать несколько подсистем, на которых нужно сосредоточиться, решение, которое мы примем, оценив отзывы клиентов о текущем выпуске и будущих обновлениях.

Резюме

У нас большие планы на предстоящие выпуски Delphi, C ++ Builder и RAD Studio! От захватывающих изменений до автозавершения кода для обоих языков до IDE с высоким разрешением DPI, повышения производительности при кодировании и проектировании, пользовательского интерфейса Windows и новых компонентов VCL, отладки Delphi, поддержки Apple Silicon (M1) для Delphi, качественной работы для компиляторов, Delphi и C ++ RTL, SOAP, многоуровневый и многое другое, новый компоновщик для C ++ — предстоящие выпуски содержат некоторые действительно интересные работы. Нам не терпится доставить их вам!

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


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