Desktop Software
Although desktop software has received less attention in the wake of the increasing importance of web applications and mobile apps, it is still an important category of applications designed to operate locally on a user's machine. In fact, even apps such as WhatsApp
, Discord
or Telegram
offer desktop applications in addition to their mobile apps and browser-based apps.
The desktop solutions I developed as part of my past projects were built for the most common operating systems Windows
, macOS
and Linux
, including native and cross-platform software. As Python
frameworks I am using PyQt
, Kivy
or BeeWare
. For Java
applications I prefer to use the JavaFX
as a front-end framework or Swing
for light weight applications.
Advantages and disadvantages
Desktop software involves a variety of advantages and disadvantages, which need to be taken into account when deciding what solution fits best to your needs. It is often said that desktop software runs faster than web applications because it directly uses the resources of your local computer and there is no need to transfer data through the internet.
However, this is not necessarily the case because the performance of an application depends on several factors. An application, on the one hand, which is less resource intensive might run faster on a local machine. On the other hand, complex applications, which require more computational resources such as large language models, might be faster on an external server, which can be accessed by a web application.
Generally speaking, software solutions often imply trade-offs. Desktop software, for instance, has the advantage that it can be used without an internet connection. The disadvantage, however, is that the application can be only accessed from your own device, where the software is installed.
Most full-stack development projects including desktop software involve a deep analysis of the requirements and business processes, extensive planning of the project, a long development process and a relatively long and rigorous testing phase. Part of my job is to advice you about the advantages and disadvantages and to give you an honest opinion.
Past experience with desktop apps
In recent years I build different types of desktop software solutions, but most of which were data applications. One of my larger projects involved a data management system for a media data company, which provided a solution to control and monitor the company's data management and to make it accessible for employees without programming skills. Another project included the development of a social media manager, which allowed its users to manage a variety of social media channels by integrating social media APIs.