LandlordMax Cloud Edition is the Vaadin-powered web-based version of the Java Swing-based LandlordMax real-estate rental software. It was created using the Vaadin 8 framework over the course of 18 months and counting. The platform continues to be in production, as new features are planned and implemented continuously.
Staying competitive using a desktop app
The company realized that in order to stay competitive, it would have to create an online, cloud-based version of its already popular desktop real-estate software LandlordMax. Since the desktop version was developed using Java Swing, the code base would have become obsolete, had LandlordMax decided to use another framework. That would have resulted in a greater effort in terms of necessary developers and resources.
Migrating from the desktop to the Web
LandlordMax Cloud Edition enables property management companies and real estate investors to manage real estate rental properties, both for themselves and for different landlords (property owners) by separating out the data, running custom reports, and offering a lot of automation. In addition, it helps to manage accounting, work orders, leases, vacancies, and so on.
Vaadin was chosen because it is event-driven, which enabled the developers to reuse much of the existing code and business logic in the Java Swing desktop app. Other major reasons included the bookmarkability, the ability to keep everything in one language and the need to create a high-performance system that doesn’t require a lot of hardware resources.
Added functionality with less code
Developing LandlordMax Cloud Edition using Vaadin enabled the client to maintain a competitive price, especially considering that the web app features more advanced custom reporting than similar solutions. The Vaadin framework is very performant and the server load is minimal, especially considering all it provides. This is firm proof that Vaadin systems are not server heavy when implemented properly.
The code base actually shrunk compared to the desktop version, even though there is additional functionality. A lot of historical code was ported over, along with the database logic and the business logic. Most of the GUI logic of the desktop app was also reused and the event hooks reused the same code, which had a major impact on implementation speed when migrating from the Swing app.