Docker and desktop apps
We often hear that Docker (containerization) and microservices are not suitable for desktop application development. The argument tends to be that applications are created for Windows, which Docker does not support.
We would like to disprove these arguments.
Containerization and microservices are suitable for these uses, but only if certain procedures are followed.
Applications that have been developed for many years, sometimes even decades, eventually become obsolete and need to be modernized. This is where containerization can help you significantly.
- Low speed - Calculations take place on the client’s part, and data overwhelms the line to the database.
- Control via terminal server - remote desktop or console.
- Code packaging over the years.
- A change in technology means a complete rewrite of the application.
- Code duplication when the web and desktop versions of the application run simultaneously.
- A modification in one application module can cause the entire application to crash or cause problems elsewhere.
- It is often developed by a single developer or a close working team.
- Complex application integration and high difficulty for new developers to understand it.
- Two-layer architecture.
By using containerization:
- High speed - calculations take place on the server infrastructure.
- Connection of any user environment (mobile, web, desktop).
- Simple adjustments and changes to partial functions.
- The possibility of gradual and independent changes for specific functions.
- The client application is just a user interface with no calculations referring to the functions on the server side.
- A modification in one module does not affect the code of other independent modules.
- Independent teams and developers both for the client and for the partial segments of the application.
- Code simplicity and clarity in independent modules.
- Three-layer architecture
Diagram - two-layer application
Diagram - three-layer application