Дэвид Миллингтон (старший менеджер по продукту), Атанас Попов (генеральный менеджер, инструменты для разработчиков), Кайл Уиллер (генеральный менеджер, C ++)
За последний год многие клиенты спрашивали нас о наших планах продолжить кроссплатформенную поддержку нескольких устройств в C ++ Builder. Мы хотели бы рассказать о наших планах.
Table of Contents
Обзор платформы
Мы сделали работу с VCL для C ++ Builder приоритетом FMX, что отстает от нашей поддержки по поддержке платформы. В настоящее время C ++ Builder 10.4 поддерживает:
- 32- и 64-разрядная версия Windows в VCL и FMX
- 64-разрядная версия iOS в FMX
- 32-разрядная версия Android в FMX
Те, кто больше всего пострадает, уже должны знать следующее, но для ясности: 1 августа вступит в силу крайний срок Google для 32-битных приложений, и если вы хотите продолжать обновлять свои приложения в Play Store, вам нужно будет перекомпилировать их. как Android 64-бит. C ++ Builder в настоящее время не поддерживает эту платформу. Мы не будем предоставлять поддержку 64-разрядной версии Android ни до 1 августа, ни в C ++ Builder 10.4.1 (2020 г.)
Стоит отметить, что 32-разрядные приложения Android по-прежнему полностью функциональны — на самом деле, несколько дней назад мы выпустили исправление для версии 10.4, решающее проблемы обработки исключений 32-разрядной версии C ++ Android . Устройства Android по-прежнему поддерживают 32-разрядные приложения; только Play Store имеет 64-битное ограничение , что означает, что внутренние приложения или загруженные неопубликованные приложения остаются полностью функциональными.
Мы также не запланировали поддержку 64-разрядной версии macOS на 2020 год. Когда мы это сделаем, мы, скорее всего, сразу перейдем к поддержке ARM (Apple Silicon).
Если для вас важна 64-разрядная версия Android, RAD Studio с Delphi полностью совместима. Свяжитесь с нами сегодня, чтобы обсудить скидку и осуществить переход.
Отзывы клиентов и платформы
В марте 2019 года мы разослали опрос клиентов. Общие отзывы наших клиентов C ++ Builder в этом опросе заключались в том, что мы просили нас сосредоточиться на качестве Windows и Windows: качестве компилятора, STL и IDE (включая автозавершение кода).
Большинство наших клиентов C ++ Builder ориентируются только на Windows, используя VCL. Они делают это из-за производительности VCL, встроенных элементов управления и новых элементов управления, которые мы предоставляем; Кроме того, Microsoft оказывает давление на обновление до Windows 10, и наша поддержка Windows 10 очень полезна тем, кто переносит приложения, или тем, кто ищет высококачественную среду приложений пользовательского интерфейса для Windows 10.
Стратегия, которую это нас поставило, была ясна: сосредоточиться на Windows и убедиться, что она соответствует вашим ожиданиям, прежде чем работать над другими платформами. По этой причине мы удалили поддержку macOS Catalina из дорожной карты, и с тех пор мы работаем над качеством Windows, опережая поддержку 64-разрядной версии Android.
Качество Windows
Мы прекрасно понимаем, что с момента обновления Clang в ноябре 2018 года качество для Windows, включая инструменты IDE, не было тем, что мы хотели предоставить.
Так какой у нас план? К чему мы обращаемся?
У нас есть давние проблемы с автозавершением кода, компоновщиком, некоторыми классами STL и некоторыми ICE компилятора. Кроме того, есть функции повышения производительности IDE, которые мы хотим предоставить, чтобы гарантировать, что C ++ Builder превосходит другие IDE с точки зрения производительности. Наша цель для Windows заключается в следующем:
За качество:
- Для обеспечения полнофункционального автозавершения кода и других функций Code Insight.
- Чтобы полностью решить все проблемы компоновщика, возможно, с помощью совершенно нового компоновщика
- Для решения проблем с STL
- Чтобы обеспечить отличную совместимость C ++ с общими библиотеками C ++, что означает отличную совместимость с другими инструментами.
Для функций:
- Для предоставления дополнительных инструментов кода, таких как рефакторинг, за счет интеграции Visual Assist, а это означает, что C ++ Builder будет иметь более мощные инструменты повышения производительности, чем даже Visual Studio
- Для обеспечения поддержки языка C ++ 17 или выше
- Чтобы обеспечить более быструю и ускоренную компиляцию, особенно для больших проектов
Конечная цель здесь — убедиться, что (а) все работает так, как вы хотите и ожидаете, и (б) мы оба совместимы с общим C ++ (который помогает вам) и превосходит другие инструменты по производительности. Наши библиотеки, такие как VCL, являются ведущими в мире — производительность среды IDE на этом уровне сделает C ++ Builder значительной силой.
Хотя мы еще не достигли этого, эта стратегия объясняет нашу направленность и то, что мы сделали после этого опроса. Давайте углубимся в то, что мы сделали, и что мы запланировали, с некоторыми комментариями, которые объясняют их в свете вышеизложенного.
Улучшения
За время, прошедшее после этого опроса, мы предоставили:
- 64-разрядная версия Windows C ++ 17, что означает, что вы можете ориентироваться на 32- и 64-разрядную версию Windows с помощью современного C ++.
- Современная версия Boost (до этого мы поставляли Boost 1.55): Boost 1.68 для 10.3 и Boost 1.70 для 10.4 сегодня.
- Большое количество стабильности компилятора, методов RTL, исправлений STL, исправлений компоновщика и многого другого для всей инструментальной цепочки, включая совместимость с классическим компилятором, что означает, что обновление старого классического Clang до современного стало намного проще, чем раньше.
- Ряд популярных библиотек с открытым исходным кодом на GetIt. Они не только упрощают использование, но и служат отличными тестовыми примерами для поиска RTL или других областей, в которых мы не были совместимы с другими инструментами. (Мы часто используем методы или подходы POSIX в наших заголовках, даже в Windows; кроме того, многие заголовки в общих библиотеках C ++ написаны для работы с конкретными компиляторами.) Это включает libsimdpp, Eigen, NemaTode, SDL 2 и другие, а также устраняет многие проблемы совместимости проблемы в результате этой работы, что дает вам гораздо больше возможностей для использования внешних библиотек C ++ и исходных кодов
- Обновленная поддержка CMake для улучшения таких функций, как связывание ресурсов, а также автоматическая обработка конфигураций для других компиляторов для нашей инструментальной цепочки, что снова увеличивает совместимость.
- Совершенно новый отладчик для 64-разрядной версии Windows, который решает проблемы отладки для Clang, целый класс общих проблем отладки C ++ в целом. Это делает отладку с помощью Clang наравне с отладкой с классической для Win64.
В будущем мы планируем поставить:
- Исправления компоновщика, включая изменения в хранении и связывании отладочного формата, уменьшающие нагрузку на память при связывании отладочных сборок. В стадии исследования находятся значительно большие изменения в линкере.
- Visual Assist для C ++ Builder, добавляющий рефакторинги и другие инструменты в IDE
- Обновлен STL, устранены ошибки STL
- Интеграция CMake в IDE
- Исправлено автозавершение кода для C ++
- Параллельная компиляция, сокращающая время, необходимое для создания вашего проекта, в зависимости от количества доступных процессоров, то есть в 4 раза, 8 раз или даже быстрее.
Резюме
Наши клиенты C ++ Builder просили нас сосредоточиться на Windows и качестве, и это то, что мы делаем. Мы сосредоточены на предоставлении вам высококачественной разработки для Windows, особенно с упором на производительность IDE, чтобы она соответствовала производительности нашего существующего пользовательского интерфейса, а также на решение важных проблем. Это означает, что у нас не будет поддержки 64-разрядной версии Android или macOS в краткосрочной перспективе (6–9 месяцев). Однако мы работаем над некоторыми важными улучшениями в Windows и уже внесли их. Дополнительные элементы, такие как интеграция с Visual Assist, позволяют C ++ Builder опережать другие IDE по производительности. Мы понимаем, что такая расстановка приоритетов может негативно повлиять на некоторых из вас, за что приносим свои извинения. Мы считаем, что упор на качество и Windows — это то, что нужно сегодня, чтобы гарантировать, что мы предоставим вам продукт, который вам нужен и который вам нужен.
Когда мы будем уверены в улучшении качества и наборе функций для разработки Windows, мы переоценим ситуацию и предпримем соответствующие шаги для решения других платформ и функций. Следите за новостями о предстоящих выпусках и оставайтесь на связи с другими отзывами или запросами!
Примечание. Эти планы и дорожная карта отражают наши намерения на эту дату, но наши планы развития и приоритеты могут быть изменены. Соответственно, мы не можем предложить никаких обязательств или других форм гарантии того, что мы в конечном итоге выпустим какой-либо или все описанные продукты в соответствии с графиком, описанным порядком или вообще. Эти общие указания графиков разработки или «дорожных карт продуктов» не следует интерпретировать или толковать как какие-либо обязательства, а права наших клиентов на обновления, обновления, улучшения и другие выпуски обслуживания будут изложены только в применимом лицензионном соглашении по программному обеспечению. .