Microsoft has released a new update of Windows 10, continuing with their now 6-month release cycle. The version 1809 was initially distributed, and then put on hold (twice, actually) because of issues, first with files on OneDrive and later with ZIP operations. But that’s not the point of my blog post. I have personally installed it and not experienced any issues. It appears to be a good update overall to the existing Windows 10 experience. You can see a good summary of the new features at https://www.windowscentral.com/windows-10-october-2018-changelog or read Microsoft more official communication at https://blogs.windows.com/windowsexperience/2018/10/02/how-to-get-the-windows-10-october-2018-update/

What I want to highlight while referring to the most recent update of Windows 10, is that the last version of Windows has been growing and has surpassed Windows 7 in usage in 2018, and also that most users are reportedly on the latest version (also because of some fairly aggressive update policies from Microsoft).Having a large number of customers on the latest Windows 10 implies that you as an application developer (and us as tools builders) should really take advantage of features in recent versions of Windows 10 and support them. 

Windows 10 and RAD Studio

There are several areas of Windows 10 Delphi and C++Builder support. We don’t have just basic compatibility with the Windows API, something Microsoft provides, but have done extra work to overcome changes in Windows that cause trouble to existing applications, like the updated DLL loading logic.

We have started early to support the WinRT API in traditional VCL (and FireMonkey) applications, with even ready to use components for features like Notifications and Bluetooth LE support. Although we currently don’t offer WinRT UI controls (Microsoft has promised Win32/64 API integration in the future) we have added several new VCL controls to mimic the modern Windows UI, while maintaining compatibility with Windows 7. Similarly VCL styling support offers an easy migration path for existing applications, letting them embrace a modern look with minimal development effort.

The other significant feature RAD Studio integrates is Windows Store packaging, via Windows Desktop Bridge (formerly known as Centennial Bridge). The IDE integration uses some Microsoft Windows SDK tools (which is the reason installing the SDK is required for this feature) to make it very simple to create ready-to-deploy UWP files. Notice that these can be used both for direct application distribution and for the store. 

Microsoft is pushing very aggressively in the store direction, to the point this is the only installation options for the Windows 10 S version of the OS. Also, this allows customers to install applications without the need of administrative rights, which is useful in many scenario -- and it does improve the system security, to some extent. Expect an increased focus on the store as the primary installation mechanism in the future. 

When evaluating if you want to distribute applications on the store, it is worth considering that Microsoft store rates are significantly lower (in terms of percentage) than its mobile counterparts (Apple and Google). Considering the low prices and a generous 10% referral links bonus (https://www.microsoftaffiliates.com/en-US/Home), selling over the store isn’t more expensive than using an external platform and a credit card processing company.

Windows 10 Features Coming to RAD Studio

If the features above have been added in recent versions of RAD Studio, from 10 Seattle to 10.2 Tokyo and its updates, more is coming in the near future in 10.3. Among the Windows 10 related features, we are going to offer a new architecture to manage image lists at multiple resolutions, support PerMonitor V2 DPI mode along with the newest GetSystemInfo APIs, along with fixes and improvements in different areas.
The coming release is also going to have improved Windows Store support, making it easier to sell applications and sell in-app purchases. Stay tuned for more information.