Virtastic Write - Modernize, don't rewrite legacy desktop apps (Read-Only)

Modernize, don't rewrite legacy desktop apps

Rewriting a legacy desktop app costs years and loses features. Recompiling it to WebAssembly keeps the exact app and moves it to the browser, fast.

FreeCAD, a full desktop CAD app, running in a browser tab

Every team with an aging desktop application eventually hears the same advice: “rewrite it as a web app.” It sounds modern. It is almost always the wrong call.

What a rewrite really costs

A ground-up rewrite means re-implementing decades of behavior in a new language and framework, re-testing every edge case your users depend on, and hoping feature parity arrives before the budget runs out. It usually doesn’t. Meanwhile the old app still has to be maintained, so you are paying for two codebases at once.

You also throw away the most valuable thing you own: software that already works. Every quirk your users rely on, every format you support, every hard-won fix. All of it gone, to be rediscovered the hard way.

The other option: recompile it

Legacy desktop apps are overwhelmingly C, C++, or Qt. That code can be compiled to WebAssembly with Emscripten and run natively in the browser. It is the same technique Adobe and Autodesk used to put Photoshop and AutoCAD on the web, and it is what powers Figma’s C++ engine in the browser.

Instead of rebuilding the app, you keep it and change only where it meets the browser:

  • 1:1 behavior. It is the same application, not a lookalike. Nothing to relearn.
  • Weeks to months, not years. Most of the effort is the native dependency stack, and that gets reused across ports.
  • A real web app. It runs client-side in the tab. Nothing is streamed from a remote desktop or a VM.

Then you get the web for free

Once the app is in the browser, the modern capabilities it never had are additive rather than a second project: cloud storage and sync, single sign-on, monitoring, and real-time collaboration with screen-sharing. Operations get simpler too. Deploying is publishing a URL, configuration is central, updates reach everyone on next load, and it runs on any device with a browser.

Proof, not promises

We have taken this path with real-time game engines and with heavyweight professional software. Our OpenMW port is released and you can play Morrowind in a browser tab right now. FreeCAD is also released, and QGIS is in preview, with Blender’s bpy engine running in-browser and its interactive WebGPU viewport in progress. If a real-time 3D engine holds up in a tab, your line-of-business app can too.

That is the whole Virtastic pitch: modernization without the multi-year rebuild. If you have a legacy desktop app, book a call. We will show you what it looks like in a browser before you commit to anything.

Keywords: modernization, WebAssembly, legacy, strategy

Have a desktop app that belongs in the browser? We recompile legacy desktop software to WebAssembly, then maintain and host it. Book a call.

What next: Open the apps · More posts · Contact us

Page 1   Sec 1   1/1 At 1"   Ln 1   Col 1 RECTRKEXTOVRWPH