When you develop an app for the Windows operating system there are a few tips that can help smooth things along. Using the best C++ compiler Windows developers have available is obviously step one, but there are a lot more very easy steps you can take to make life a lot easier. We cover a few of our favorites here.
Table of Contents
1. Download the latest C++ Builder 11 or RAD Studio 11 edition
C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, MacOS, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files and LSP support for code. C++ Builder comes with Rapid Application Development Studio, also known as RAD Studio, and C++ Builder is one of the most professional IDE’s that work under RAD Studio. It is a well-established IDE (it grew from the immensely popular Borland TurboC in 1990). Under the Embarcadero brand it comes with a plethora of new features, updates and support to keep it right up to date with the demands of modern C++ development for Windows.
RAD Studio’s C++ Builder version features the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs. There is a free C++ Builder Community Edition for students, beginners and startups too.
You can download Free the C++ Builder Community Edition (CE) here: https://www.embarcadero.com/products/cbuilder/starter.
Professional developers can use the Professional, Architect or Enterprise versions of C++ Builder. You can download and use the trial version for one month with the same capabilities as the full version. Please visit https://www.embarcadero.com/products/cbuilder.
See What’s New in RAD Studio 11
Download RAD Studio 11 Now
We should note that, CLANG is considered to be a production quality C, Objective-C, C++ and Objective-C++ compiler when targeting X86-32, X86-64, and ARM. It is a new C/C++ compiler standard (C++98, C++11, C++17, C++20, C++23) supported by The LLVM Compiler Infrastructure Project and has been a default compiler in recent years for most C/C++ compilers. This means that if you code for a CLANG compiler, most other IDEs, Compilers of Platforms will support your code without any changes.More information about core language features can be found here.
We highly recommend you start with or to move to a CLANG Enhanced compiler like the Embarcadero’s C++ Builder, which supports the CLANG standard and has its own C++ Compiler, IDE, GUI Designer and more. The C++Builder Standards and Clang Enhanced Compiler features can be found here.
2. Use VCL or FMX (FireMonkey) UI frameworks for creating fully professional modern apps
C++ Builder includes compilers for Win32, Win64, Android and iOS. C++Builder has both CLANG Enhanced C/C++ Compiler and a Borland C/C++ Compiler. It also features a modern, high-productivity RAD Studio IDE, debugger tools, and enterprise connectivity for to accelerate cross-platform UI development. You can develop GUI based applications easily, as it comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs. There is a free C++ Builder Community Edition that can be used by students, beginners and startups with limitations.
C++ Builder comes with VCL and FMX UI Frameworks. VCL Applications are focused on Windows-based applications. C++ Builder FireMonkey (FMX) Applications are Multi-Device Applications for Windows and for other operating systems like iOS, Android, etc. Here are the main parts of the C++ Builder IDE,
The FireMonkey framework is the app development and runtime platform behind RAD Studio, Delphi and C++Builder. It has about same components as VCL framework – VCL is focused to Windows app development only. FireMonkey is designed for teams building multi-device, true native apps for Windows, OS X, Android and iOS, and getting them to app stores and enterprises fast.
Thus, for with an eye to the future, to develop multi-platform apps, or to switch to different operating systems we highly recommend FireMonkey. We should also note that VCL frameworks has a lot of new features too so if you focus remain only for Windows app VCL may be all you ever need.
3. Use the TwineCompile component to speed up compilation
TwineCompile is a good solution to speed up your compile times. The developer says it may improve your compile time up to 50 times. It integrates directly into the C++Builder IDE, where drastically reduces the compile/make/build times by employing techniques such as multi-threading, file caching and automatic background compiling.
- Advanced compile system uses multi-threading technology and caching techniques to make C++ compiles 50x faster!
- Automatic background compiling engine ensures that files are compiled as fast as they are saved!
- Tuned pre-compiled header handling system automatically maximizes simultaneous use of pre-compiled headers between multiple threads!
- Seamless integration into the C++Builder IDE. Supports all versions including C++Builder 11.0!
- Theme support for all IDE themes providing a unified workspace!
- Full support for 32-bit and 64-bit compilers!
- Parallel project build support compiles multiple projects in parallel, drastically reducing the time to build complex project groups!
- FinalBuilder integration provided out of the box!
More details can be found in their official web page here.
It has also automated background compilation feature. Here is a post about this.
4. Use the latest visual components for your app design
Many of the component properties and methods are the same in VCL and FMX projects. If you are a beginner, we highly recommend you watch this Introduction To C++ Windows Development With C++Builder video to understand C++ Builder / RAD Studio IDE interface and some basic mechanisms. This video will help you how to create simple C++ Builder projects. So, you can easily adapt to development of your projects. C++ Builder comes with many many modern components. You can add them simply by dragging them from the Palette window to your application’s form design view.
You can download many free and trial versions of components and libraries via Get-It Package Management. This tool comes with RAD Studio and the C++ Builder IDE. If you need examples for some basic components, we have a Quick Look At Components post series on LearnCPlusPlus.org. Please check them for more details about basic components. Here are some of the available component packs this year,
5. Use modern visuals such as styles at design Time to see how they will look at run time
Your chosen C++ IDE should support the latest Windows UI visuals, in addition, it should support custom UI designs (Skins or Styles). Using styles on your new projects should be very easy, they should be easily removed which allows your visuals in standard visuals of windows. You should be able to design your application view as normal with buttons, labels, edit boxes, memos, trackbars, panels, switches, etc. You should be able to set one style to all of your components or you can choose different styles on different forms or different components. In addition, users should easily install and uninstall these kinds of styles, skins via IDE tools.
One of the most important recent RAD Studio features is being able to see styled visual components at design time, while coding, so developers may design their UI forms during development with a lot more accuracy and confidence of what the final app will look like when it is running. In addition to Windows visuals, users should be able to easily switch to other operating systems to compare different UI visuals in different operating systems. Thus, users may develop their Windows apps well under other OS visuals and standards.
Styles are sets of graphical details that define the look and feel of an application visually and they are one of most useful UI features of RAD Studio that makes your UI elements adapt to a set of professionally designed look and feel. Official Styles are designed by Embarcadero’s Designers. There are other 3rd party Styles plus users may generate their own styles. Styles are similar to themes in Windows or skins of applications. Styles are being modernized with RAD Studio, C++ Builder and Delphi since the first XE versions (2010), currently C++ Builder11 has many improvements on Styles. There are more than 50 different styles. You can see some of official ones here on GetIt.
6. Use High DPI Settings
High-DPI support in the IDE, with full support for the latest 4k+ monitors, and cleaner and sharper fonts and icons throughout. Improved FMX High-DPI support for Windows and Desktop with a visibly superior desktop UI. High DPI support includes support in the code editor, for crisp text, and when designing forms, both VCL and FMX. Please read more here about why it is important,
7. Use modern data connection wizards and components, live bindings and data bindings
Live Bindings and Data Bindings are based on relational expressions, called binding expressions, that can be either unidirectional or bidirectional. LiveBindings is also about control objects and source objects. By means of binding expressions, any object can be bound to any other object, simply by defining a binding expression involving one or more properties of the objects you want to bind together. For example, you can bind a TEdit control to a TLabel so that, when the text changes in the edit box, the caption of the label is automatically adjusted to the value evaluated by your binding expression. Another example is binding a track bar control to a progress bar so that the progress rises or lowers as you move the track bar.
Modern applications, use modern databases with modern data connections and data bindings. If you are developing a modern app, your database should be modern too. We highly recommend you online and modern databases as much as possible, while your app may be an offline app. Because you may move your app to online or some of your codes in another online app.
C++ Builder has a great official database component, the FireDAC component pack. FireDAC is one of the great components for database connections that comes with RAD Studio, C++ Builder and Delphi. FireDAC is a Universal Data Access library for developing applications for multiple devices, connected to enterprise databases. With its powerful universal architecture, FireDAC enables native high-speed direct access from Delphi and C++Builder to InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap and more, including the NoSQL Database MongoDB.
FireDAC is a Universal Enterprise Data Connectivity
To use FireDAC with C++ Builder, be sure that your RAD Studio, C++ Builder version has support for this component. We highly recommend here C++ Builder 10.x or above because of improvements on database connections. If you don’t have this component in your version there is a Trial version of FireDAC that you can test and then you can purchase if it meets your needs. In a new C++ Builder Project, VCL or FMX) you can drag and use its components on your forms. Most experienced programmers prefer to add a new DataModule to their project.
Some database posts about how to connect your C++ apps to modern databases like Interbase, PosgreSQL, MySQL and others are here: https://learncplusplus.org/category/database/
8. Use powerful debugging features to find your runtime errors
Be sure that your IDE has built-in Debugging tools that allow you to debug on any device. You should able to build and debug apps with local/embedded capabilities. The Debug Inspector enables you to examine various data types such as arrays, classes, constants, functions, pointers, scalar variables, and interfaces.
These are important parts of debugging,
- Stepping – Step by Step Debugging Through Code
- Evaluate/Modify – Investigate Expressions
- Breakpoints – Pause and Check
- Watches – Tracking Values
- Exceptions – Displaying the stack trace
9. Use the RAD Studio IDE’s tools to augment your C++ development skills
In modern C++, modern programming or in other ways in professional programming we mostly refer to a lot of libraries and other tools that helps us to modernize our applications. They also help to save time, to save us to see a lot of code lines, to save us to learn and focus on more areas. One of the strongest parts of C++ Builder is its components and libraries, plus it supports 3rd party components and libraries. GetIt also a good place for developers who wants to release these kinds of libraries and tools.
The GetIt Package Manager, is an official tool built into the RAD Studio IDE that comes with C++ Builder and/or Delphi. The GetIt Package Manager lets you search and browse available packages such as C++ or Delphi Components, libraries, components for IoT, styles, sample projects, general purpose tools, IDE Plugins, patches, and trials of commercial products. From this window you can install, uninstall, update, or subscribe to these packages. Currently it has about 300 entries, able to run on the latest RAD Studio version. With these more than 300 of included components, you can easily enhance your apps and you can reduce development cycles and time spend.
In RAD Studio there is a superbly useful tool called the REST Debugger. It comes included with RAD Studio C++ Builder. It is very useful to test REST Requests such as “Gets” and “Posts” to see what effect they have and view their results. It is very easy to automatically set up the REST components with their parameters, which can then be pasted or copied into your source code – potentially saving you hours of coding. We can easily set up the components by using the REST Debugger Tool in RAD Studio – either C++ Builder or Delphi – it works with both.
You can launch the REST Debugger from the Tools menu of RAD Studio. The Embarcadero REST Debugger empowers developers to explore, test, and ultimately understand how a RESTful web service works. You can dive right into REST data with filterable JSON blobs, streamlined OAuth 1.0/2.0 authentication, and configurable request/resource parameters. You can directly copy and paste REST components from the REST Debugger to the RAD Studio, Delphi, or C++Builder IDE. This enables the configuration and consumption of REST services in Delphi or C++Builder apps with just a few clicks. The REST Debugger allows you to test your connections REALLY easily and you can easily see how to reach or transfer your data. There is also a free version that can be used by other REST tools and it can be downloaded from RESTDebugger.
10. Deploy your app to the Windows App Store easily directly from the RAD Studio IDE
All development cycle requires a lot of steps. At the end, you need a release version of your application that is sent out to your end users. Your application may also require additional files, dlls, images, sounds, databases. At the final stage, all should be packed, and they should have provisioning options and developer should easily deploy his application to the appropriate operating systems or its application store.
RAD Studio has great deployment options for Multi-Device FMX projects, not only for Windows apps but also for the Android, and iOS apps. There are options to change icons, splash screen and more specific deployment options can be handled via project options.
Professional application deployment is very important to setup packages safely for the operating system. For example, Windows needs MSIX deployment package for Windows Store of Microsoft, and Android apps needs deployment packages for Google Play and İOS apps needs deployment packages for the App Store of Apple.
RAD Studio directly supports creating MSIX packaging for both your Delphi and C++ Builder apps directly via the RAD Studio IDE It is easy to create a new MSIX package for your own programs so that they are professional, modern packages. If you would like to release your VCL or FMX framework-based Windows C++ applications in MSIX package form, you should know how to create a MSIX package in C++ Builder.
MSIX is modern file installation package for Windows applications. Windows apps packaged with MSIX can be uploaded to the Windows Store to make is easier for your users to install your apps whether you decide to charge for them or not. It is a Windows app package format that provides a modern packaging experience to all Windows apps. The MSIX package format preserves the functionality of existing app packages and/or install files in addition to enabling new, modern packaging and deployment features to Win32, WPF, and Windows Forms apps.
RAD Studio 10.4.2 release and above, including the Latest RAD Studio 11, has support for MSIX packaging of Windows applications, for Microsoft Store and Enterprise deployment. Please read this post to create a MSIX Package,
C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.
There is a free C++ Builder Community Edition for students, beginners, and startups; it can be downloaded from here. For professional developers, there are Professional, Architect, or Enterprise versions of C++ Builder and there is a trial version you can download from here.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition