13 мая 2020

RAD Studio 10.4. Что известно на сегодня

    В конце февраля 2020-го года Компания Embarcadero объявила о выпуске под кодовым названием "Denali" бета-версии RAD Studio 10.4. Бета программа уже закрыта и теперь речь уже идет о скором релизе. Недавно Embarcadero начала рассылать "pre-release sales offer" RAD Studio 10.4 Sydney. Да, путешествие по городам мира продолжается – релиз RAD Studio 10.4 получил кодовое название "Sydney". Давайте посмотрим, что, на текущий момент известно о предстоящем релизе.
    Источником официальной информации о RAD Studio 10.4 Sydney являются статьи блогеров из Embarcadero. Интересно, что публикация этих статей соответствует порядку пунктов из февральского анонса бета-версии 10.4. Итак, что уже подтвердилось из обещанного в феврале?
  1. Language Server Protocol for Delphi (LSP). С использованием LSP реализована новая асинхронная версия Code Insight, которая решает множество проблем в его работе и делает использование IDE гораздо более приятным и удобным. Наконец то Code Insight работает в отдельном от IDE потоке, что позволило увеличить скорость его реакции и обещает избавить IDE от подвисаний во время работы Code Insight. Подробнее...
  2. Реализовали "Custom Managed Records". Т.е. легализовали и расширили "managed records". В существующих версиях Delphi компилятор автоматически добавляет блок try-finally для очитки переменных типа record после их использования. Это и есть "managed records" старого стиля. В 10.4 в объявление типа record можно добавить два варианта class operator: Initialize и Finalize. Это методы, которые будут автоматически вызыватся при создании и разрушении переменной типа record. Подробнее...
  3. Унифицированное управление памятью для всех платформ. Продолжительное время авторы Delphi считали модель управление памятью Automatic Reference Counting (ARC) улучшений, чем их традиционная. Она значительно упрощает некоторые функции управления памятью. Но после жалоб пользователей, стало понятно, что проблемы, которые создает ARC, сводят на нет все его преимущества. В результате авторы Delphi решили отказаться от использования ARC. И эти планы воплощаются. В 10.4 использование ARC разработчиками FMX-приложений для мобильных устройств ушло в историю. Подробнее...
  4. Добавлена компонента TEdgeBrowser – обертка для Microsoft WebView2 для работы в VCL-приложениях с веб-контентом через Edge на основе Chromium. Эта альтернатива TWebBrowser, который использует устаревший Internet Explorer. Но TWebBrowser останется и получит дополнительное свойство "SelectedEngine", которое позволит переключить его с использования Internet Explorer на Edge (Chromium) WebView2 (если этот движок установлен на компьютере). Подробнее...
  5. Обновление Apple API.
    • Кроме фиксов в существующем API для macOS и iOS в него были добавлены новые функции. Был добавлен ряд методов для импортированных классов Objective-C (таких как NSNotificationCenter и NSObject).
    • Удалена зависимость QTKit - больше нет предупреждений при загрузке в MacOS App Store и решены несколько вопросов касающихся разрешений.
    • Реализована поддержка Metal 2 GPU driver для macOS и iOS. Этот новый (выпущен всего в 2017-м году) графический движок позволяет значительно ускорить обработку графики на macOS и iOS.
    • TWebBrowser на macOS и iOS теперь использует WKWebView.
    • В TLocationSensor для iOS добавлены 2 новых свойства (ActivityType - это свойство соответствует свойству ActivityType для CLLocationManager на iOS, и UsageAuthorization - тип запроса при старте TLocationSensor (lways и WhenInUse)) и событие OnLocationUpdatesPausedChange, которое уведомляет об изменении состояния "paused". Кроме того, если в Project Options в UIBackgroundModes добавить location, то обновление местоположения происходит когда приложение находится в фоновом режиме и когда приложение не запущено.
    • Подробнее...
Это пока все, что можно узнать из открытых источников. Остальное скрыто под покровом ночи NDA.

4 комментария:

  1. Ещё как я понял в IDE будут интегрированы два ранее сторонних плагина (в какой форме они будут - хз, может они не будут уже носить коммерческие имена), которые эмбаркадеро купила, как я понимаю.

    Один из них улучшает функциональность bookmark'ов, а второй - добавляет возможности по навигации - в частности поиск по частичному совпадению текста в названии и "карту кода".

    Детальнее:
    https://parnassus.co/bookmarks-and-navigator-acquired-by-embarcadero/


    PS. Даст бог вроде бы вырисовывается симпатичный релиз

    ОтветитьУдалить
  2. Может быть и интересный. Главное, что бы после установки новый Code Insight отключать не пришлось до первых хотфиксов. А то LSP вещь в Delphi новая - кто знает какие глюки будут в реализации.

    А плагины Parnassus еще год назад уже были интегрированы и доступны через GetIt (сам я не ставил, но видел). Да и по вашей ссылке написано:
    The plugins will be available through GetIt in the next official release of RAD Studio, which will be out soon! You can install it if you have an active update subscription.

    ОтветитьУдалить
  3. Да, но теперь будут в коробке сразу, я так понимаю.

    ОтветитьУдалить
  4. Я очень много узнал, зайдя в таблицу сравнения редакций. Там PDF простыня на 25 страниц. Например, про статический аудит кода, способный замечать более двухсот косяков.

    ОтветитьУдалить