We just published the May 2017 Delphi, C++Builder and RAD Studio roadmap which we’re really excited about. In our roadmap, you can find the key features that we planned for calendar year 2017/2018. The plans are aligned with Embarcadero’s fiscal year which starts April 2017 and ends in March 2018. We generally plan to update our roadmap every 6 months.
We wanted to take this opportunity to share with you more details on several key focus areas outlined in our updated roadmap.
More Details from Sarina
Sarina focuses on FireMonkey, the components libraries UX and styles,
RAD Server, the installation experience, plus demos and documentation
FireMonkey Native Controls Support on Android
We currently support pixel perfect, bitmap based control rendering for all of our UI controls across all four supported platforms, in addition to native control rendering for key text input and list controls on iOS and Windows. As part of our roadmap, we plan on expanding our native user interface control support to Android. We are looking to do this in stages, starting with Z-Order support, followed by native controls on Android, focusing on the same key text input and list controls that we have native presentation support for today on iOS and Windows. This provides a lot of flexibility as it allows developers to choose between Styled and Platform control types on a per control basis for controls that include both control types, while still being able to leverage custom FireMonkey styles in multi-device applications.
We plan to introduce additional templates and design elements to aid the design process for FMX applications. We will collaborate with our component vendors in this space to create a richer portfolio of styles and features to make FMX the perfect choice for fast application development.
RAD Server Enhancements
If you’re not familiar with RAD Server yet, I’d encourage you to have a look. RAD Server is our turn-key application foundation for rapidly building and deploying services based applications (self-hosted PaaS). RAD Server enables developers to quickly build new application back-ends or migrate existing Delphi or C++ client/server business logic to a modern services based architecture that is open, stateless, secure and scalable. In the 10.2 Tokyo release, we added multi-tenancy support to RAD Server and the ability to deploy your solution to both Windows and Linux servers. This is a game changer for many of our ISV customers who can now create more flexible and efficient deployments for their customer base.
We have plans to deliver ActiveDirectory support for RAD Server and AD synchronization for accounts and Kerberos authentication for clients along with RAD Server support for AngularJS clients. Something else I am really excited about are the RAD Server project templates for several key industries that we are working on. Industry templates are designed to provide you with a great starting point for building your own RAD Server solution. Stay tuned for more info on that in the future.
More Details from Marco
Marco focuses on the Delphi language and RTL, the VCL library and Windows integration, all things database and Web oriented
Delphi Language: New Features and macOS Focus
Over the next 12 months we are planning to release a new round of features for the Delphi language, particularly focused around the addition of nullable types to the type system, but also improvements on records initialization and finalization. We are also evaluating some “syntax sugar” enhancements, that is smaller improvements not adding much power to the language but allowing developers to write less or cleaner code.
The other area of development will be around the macOS compiler, with the goal of moving to native 64bit support for that platform (most likely leveraging shared technology with the recently released Linux 64bit compiler).
Code optimization is also very dear to our customers and will be another focus area for the Delphi compiler.
VCL and Windows
The VCL library has been growing and it is finding a place in the modern Windows 10 ecosystem, thanks to styling, new WinRT-like controls, and platform integration including the support for the Windows Desktop Bridge. Over the next year, the plan is to continue in that same direction, exposing more native WinRT APIs, providing additional WinRT-like VCL controls, improving VCL support for modern hardware (like HighDPI screens), and keeping up with the platform evolution in terms of APIs and user experience.
All Things Database and Web Oriented
In the database area, the official roadmap doesn’t mention the work we are expecting to do to keep FireDAC drivers up to date with the various RDBMS, since that along with consolidation and improvements to the core technology is part of the expected work. We are planning maintenance updates to the recent HTML and REST client libraries, along with significant fixes around DataSnap. Most new development is likely to appear in RAD Server (EMS), but we are not forgetting our core infrastructure — which was just recently ported to Linux in the 10.2 Tokyo release.
We have some exciting plans to introduce new Enterprise Application connectivity adapters that will make connectivity from RAD Studio to many applications, such as Salesforce and Netsuite, as easy as working with the existing FireDAC technology. This will give our users unique accelerators for even faster and broader application development.
Further we are working to expand web development options that are fast and robust, so stay tuned.
More Details from David
David focuses on the C++ language, the debugger, and IDE and user experience.
C++Builder has some very unique and powerful tooling, especially through the VCL and FMX frameworks, which are better in many areas than other options in the market. Our language extensions further differentiate it, even compared to strong products such as Visual Studio.
The first key new capability we plan to deliver this year is C++ for Linux Server. This will make Linux deployments for new and existing server or console apps seamless.
Other key focus areas for C++Builder include:
Bring our language support to C++17. We are addressing this by upgrading the version of Clang we extend, and plan to keep this up to date as Clang evolves.
Make it easy to work with the larger C++ ecosystem. Here, we want to add support for CMake, both to recognise our compilers and some level of in-IDE support. We also want to ensure that a number of popular C++ libraries can be easily brought into projects and used with C++Builder.
Improve the IDE tooling. This addresses areas such as code completion, refactoring, and so forth.
10.2 had some fantastic improvements in compiler quality, and you can expect ongoing work. This also includes areas such as Delphi / C++ compatibility, where we have a focus on ensuring the interaction layer works as a C++ developer would expect.
You may note that macOS 64 is listed for Delphi, not C++. Don’t worry: this does not mean that we are not planning macOS 64 support for C++. We are considering whether to implement with our existing or new upgraded C++ toolchains, and Delphi’s support will enable us to deliver C++ support afterwards.
In 10.2, we delivered several key quality improvements addressing customer issues, especially on Win64, iOS and Android, and that will continue. We also plan quality improvements for Linux Server.
We have several different debugger backends on various platforms, and as an ongoing process are working towards consolidating them towards one, LLDB. This provides a number of benefits, not least of which is that a single debugger codebase will result in debugger features and bug fixes being available on multiple platforms much more quickly.
The IDE is one of the most important parts of RAD Studio, because it is where all other parts of it are presented and through which are interacted with. One personal drive of mine is to make significant quality and feature improvements here and you can look forward to some great things over the next year.
One example is adding a dark theme, something many users have requested. Many tools, including Photoshop and other IDEs, have a ‘dark’ theme for nighttime use. Ours will be easily toggleable on and off.
Other areas we are looking at include component icons, with an eye towards consistent styling, clarity, and recognisability; overall IDE tidiness and layout; overall UX, both for ease of use and ease of seeing data; quality, for code completion and related items; and new features.
Note: These plans and roadmap represent our intentions as of this date, but our development plans and priorities are subject to change. Accordingly, we can’t offer any commitments or other forms of assurance that we’ll ultimately release any or all of the described products on the schedule or in the order described, or at all. These general indications of development schedules or “product roadmaps” should not be interpreted or construed as any form of a commitment, and our customers’ rights to upgrades, updates, enhancements and other maintenance releases will be set forth only in the applicable software license agreement.