Interior design CAD solution for home planning powered by Cheerp

"We could not recommend Cheerp enough to any company looking for an enterprise-grade solution to convert C/C++ applications to the web."
Industry:
Interior design CAD
Product Used:

HomeByMe is an online 3D space planning service developed by Dassault Systèmes SE, and powered by Cheerp

Market-leading software for home planning, HomeByMe is an online-only 3D home planning service developed by Dassault Systèmes SE, Europe’s second-largest software development company and among the Fortune 50 list of the largest software companies in the World. Dassault Systèmes develops software for systems engineering, 3D product design, simulation, manufacturing and more.

HomeByMe allows users to design, visualise and review home and furniture layouts, using intuitive 3D views to allow consumers to easily create detailed floor plans, test various furniture, play with thousands of decoration elements, as well as experience a virtual immersion into their home.  HomeByMe is enjoyed by users worldwide, who have shared over 1.5 million floor plans and interior design ideas with home builders, kitchen retailers, architects, friends and family. 

HomeByMe is primarily written in C++, and its large multi-target codebase was developed over a decade by a team of developers and offered until 2015 as a set of native applications for Desktop and Mobile. With an interest in exploring modern HTML5 web technologies to deliver a browser-based version of their application, and after research and consideration of alternative options, 3DVIA engaged with Leaning Technologies to explore the viability of compiling their multi-target C++ codebase to JavaScript (and later WebAssembly). 

Other solutions, such as Emscripten, were explored initially, but only Cheerp and Leaning Technologies provided the right combination of technical features and WebAssembly expertise to assist with the large-scale project of converting HomeByMe. 

Cheerp

Cheerp was introduced in the HomeByMe toolchain in 2015, when Dassault Systemes started collaborating with Leaning Technologies in the porting of HomeByMe. In the course of a few months of work, their very large application was fully converted and functional in HTML5/JavaScript, and we could put our combined attention to performance and size optimisations. Since then, Cheerp has been used in production to convert all the logic of the application, which has been kept fully in C++, with a new frontend integration written in HTML5/JavaScript.

The Result

Since 2019, HomeByMe leverages WebAssembly. Thanks to Cheerp’s powerful and seamless JavaScript interoperability, making the switch from compile-to-JavaScript to compile-to-WebAssembly was a minimal effort, and allowed HomeByMe to keep its existing integration with native JavaScript.

The performance and size of the converted code have always been impressive, but since the introduction of WebAssembly, Cheerp has further dramatically improved the runtime speed, and drastically reduced the compiled size, allowing Dassault Systemes to save on bandwidth and resources, as well as to extend their customer base. 

Since 2017, HomeByMe has only been delivered as a Web Application, and its native build targets have been retired.

What is Cheerp?

Cheerp is an enterprise-grade C/C++ compiler for the web that can compile C/C++ into WebAssembly and JavaScript. It is open source, with dual licence (GPLv2 & commercial) and is actively developed/back by Leaning Technologies.

Related Stories