Angular on plone.restapi

Volto is built on React.
Has anyone instead created a frontend for Plone with Angular?

Background: I have a client with several Plone 4 sites, but also Flask and Django. For the non-Plone sites they have frontends built in Angular, which they prefer over React. They may like a Plone-Angular frontend better, as that would mean their own developers could more easily work on it when needed.

Volto is well maintained and already used a lot. I cannot imagine an Angular frontend getting anywhere near that level soon, if at all. But if there are some basic building blocks already, it could help.

(Actually, for this same client we have created an Angular frontend for Plone 5.1, but that is a highly specialised site, so there is not much code that we could borrow from that project.)

If someone has a frontend completely written in Svelte or Vue, speak up as well. :slight_smile:

BTW, one idea that I have, if they remain hesitant to jump to Plone 5 or 6, is to put a frontend (Volto or Angular) in front of a Plone 4 site with plone.restapi. If this works, then the jump to a newer Plone version is much smaller, because you know the frontend should keep working with hardly any changes.

Volto is already more then just a simple frontend for Plone. Yes, you get the frontend (SPA + SSR), but you also get a common development model, a whole community, know-how, an addon framework and quite a lot of addons already developed.

1 Like

Some history: I started with plone.restapi as a backend for an Angular 1 application (that we build with 3-4 devs over a year or so). Before we jumped on Volto (aka plone-react), we (kitconcept) build a complete intranet frontend for Plone in Angular 2 for a client (not open source unfortunately). We had a team of 10-15 devs working on this for two years.

If I compare our efforts from back then with what Volto offers, it is hard to even compare those two things. Volto is lightyears ahead of what we were able to accomplished with any of those two projects (that weren't underfunded or short on devs either).

That being said. Assuming that you can build a complete, general-purpose, CMS solution, like Volto, in a reasonable amount of time, is - sorry for being blunt here - nuts. At least from my experience. Maybe there are smarter developers out there, better frameworks, 100x devs, code magicians...things out of the scope of the imagination of a regular dev like me.

Though, if a client would ask me today to build something like Volto in Angular I'd ask them for 4-5 years and 1-2 million euros of budget (at least). I guess if you compare those numbers with what EEA, red turtle, and kitconcept alone invested into Volto, that's less then half of the real thing. As Tiberiu said, Volto has become far more than "just a frontend for Plone".

If you have very specific needs and you are building a web application, rather than a CMS solution, you might get away with Angular, Vue, Svelte, whatever fits your need, or what your team feels comfortable with. Though, don't underestimate the amount of work that is necessary to make the stuff work that you take for granted in Plone.

If you want to build a complete CMS frontend, my recommendation would be: ask yourself if you would consider rewriting the backend of Plone in Django (for a client project)?

I definitely do not want to make a complete CMS frontend. More likely, the editors would use Classic UI, and the frontend would only be for anonymous users, or possibly authenticated users who are allowed to see a few more pages.

That sounds doable. I'd highly recommend making sure SSR works in Angular 2 (don't trust their announcements) before you put effort into this. I hope they got this right by now. This was one of the deal-breakers a few years ago, that made it impossible for us to continue to work with Angular...

1 Like
1 Like