Which frontend should I use for OpenFlow — Angular or Svelte?

Hi,

I noticed that there are two different frontend implementations for OpenFlow — one built with Angular and another with Svelte. Inside the Angular project, it’s mentioned that the Svelte version is newer.

I’m trying to decide which one I should use for my setup. Could someone explain:

  • What are the main differences between the Angular and Svelte versions of OpenFlow?

  • Is the Svelte version officially replacing the Angular one?

  • Are there any advantages or disadvantages in terms of performance, stability, or compatibility with other OpenFlow components?

  • Will support for either version (especially Angular) be discontinued in the near future?

Any advice or insights from the community or maintainers would be really helpful.
Thanks in advance!

The original frontend was written in Angular. It is/was VERY fast, but AngularJS is 15 years old, and it stopped being security patched in 2021.

Over the years, I tried rewriting the frontend in Angular 11, Vue 3, React, and Svelte 4 but never managed to complete any of them due to how many things are actually in the webpage. So they all became more of a “template” on how you can write your own custom frontend.

In November 2024, we hired a full-stack developer and a UI/UX designer and decided to rewrite the frontend in Svelte 5. We estimated it would take around 3 months to complete, but it ended up taking more than 6 months.

You can still use both frontends; no breaking changes have been made to OpenCore, but it will most likely happen at some point. We stopped updating the AngularJS version once Svelte was officially released and used as the default. Angular supports multiple languages (English/Danish, but can easily be extended for more); the Svelte version does not. The Svelte version supports workspaces; the Angular version does not.

Thank you for your reply Allan. Have a nice day.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.