Better_Software_Header_Mobile Better_Software_Header_Web

Find what you need - explore useful information and developer resources

Areas of Interest

Searching…

16 results

This whitepaper is the first in KDAB's Software Development Best Practices series and covers the basics. Many of the tips will not surprise most professional software engineers, but if you’re just getting started, it can be a handy reminder. If you’re not already doing everything here, you should be.

While some methodologies, workflows, and tools are specific to an individual domain, many are applicable regardless of whether you’re developing a web service, embedded device, mobile app, or desktop application. This whitepaper gives a few general best practices widely applicable to most development projects.

Unlike a lot of modern development, embedded development is close to the hardware. It runs on specialized boards, uses custom testing harnesses, requires expensive debugging equipment, and has its own characteristic workflows. That hardware dependency makes embedded development.

While desktop development shares a lot of best practices with other types of software, a few things make it stand apart. Development of an application that sits on a user's desktop, no matter what that consists of, requires a flexible design. Desktop applications are bigger than programs for embedded and IoT and they demand an architecture more complex than server or cloud apps with their tightly controlled environments. Here are some of our best practices for building these complex desktop applications.

In a modern software development process, continuous integration (CI) and continuous deployment (CD) play a vital role. However, implementing CI/CD within an organization can be challenging. Due to the need for customization to align with specific work products and workflows, it often requires some trial and error. To help you minimize needless dead-ends, we’ll share some of our hard-won advice on using and configuring CI/CD systems, as well as explain why you should be using CI/CD if you’re not already.

For consumer apps in app stores, update delivery is straightforward. But many systems—like embedded devices, industrial desktops, and specialized tablets—operate outside these stores. For such applications, developers must design their own robust update delivery mechanism.

While an all-Rust approach works for some systems, most companies have extensive existing C and C++ code. Rust's design, rooted in Mozilla Firefox's development, has always aimed to integrate with these languages. By consulting Rust experts, we've developed guidelines for harmoniously blending Rust with C and C++ in various scenarios.

Industry giants in many fields have been toppled repeatedly by Silicon Valley start-ups and game-changing innovations. When a software-savvy competitor enters your market, they provide new benefits that win over your customers. That leaves you in a game of catch-up to regain market share and re-establish your brand. How can you avoid your company being upstaged by an upstart?

Discover the crucial link between cybersecurity and HMI design in today's threat landscape. This document explores common misconceptions, attack vectors, and the necessity of protecting your systems, whether you're a beginner or an experienced expert. Don't underestimate the vulnerabilities that can arise from your HMI!

As a front-end developer, understanding functional safety is essential, even if you focus on user interfaces. This paper highlights the importance of your role in safety-critical systems across industries like aviation and healthcare, emphasizing compliance with safety standards to prevent harm. Expand your expertise and see the bigger picture in HMI development!