Nuxeo / DAM / PAM / ECM specialistsContact
Home/Insights/Nuxeo
Insights

Nuxeo & Angular 20: Embracing Standalone Components for Polymer-like Extensibility

Jul 10, 20263 min read

Nuxeo & Angular 20: Embracing Standalone Components for Polymer-like Extensibility

A few years ago we introduced the first WebUI for Nuxeo made with Angular v15. If you haven't heard about it, check out this post about it here - watch a video about it here - or just give it a try here.

In the ever-shifting landscape of software development, to stand still is to be left behind. It is with this spirit that we undertook the migration of our Nuxeo Angular WebUI add-on, a leap from the familiar terrain of version 15 to the promising new version 20. This was not a move born of mere novelty, but a deliberate stride towards a more robust, efficient, secure, and adaptable future for Nuxeo's user interface.

The reasons for this upgrade are manifold, echoing the very advancements that the Angular team has introduced. With each new version, from 16 through 20, we've seen a consistent drive towards enhancing the developer experience and application performance. The introduction of features like improved server-side rendering and hydration in Angular 16 was a significant step. Angular 17 further refined this with deferred loading and built-in control flow, making things nimbler and more responsive. The journey continued with Angular 18, which brought zoneless change detection into developer preview, promising a future of even greater performance gains. Angular 19 and 20 have solidified many of these features, bringing stability to key APIs like signals and further enhancing the developer experience with features like typed forms and improved debugging tools.

However, the most compelling reason for this evolution lies in the maturation of standalone components. Introduced in Angular 14 and now a cornerstone of modern Angular development, standalone components offer a paradigm shift in how Nuxeo devs (and other modern enterprise dev teams) build and think about applications. They allow for a more modular, reusable, and maintainable codebase by freeing components from the confines of NgModules. This granularity is something we've long admired in the Nuxeo WebUI framework built on Polymer's web components, which excels in its modular and extensible nature. By embracing standalone components, we are not just modernizing our Angular codebase; we are aligning it with a proven philosophy of building flexible and scalable user interfaces. The ability to create, share, and reuse components with clear, defined dependencies is paramount for building a system that can evolve with the needs of our users.

Want to give the latest version of our Angular WebUI using v20 a try? Send us a note and we'll happily send the package to you.

What Lies Ahead

This upgrade is not a destination, but a milestone on a longer journey. We are now looking towards a future where the power to shape the user experience is placed more directly in the hands of those who understand it best. To that end, we are exploring two exciting new possibilities:

  1. A GUI for UI and UX Enhancements: We envision a tool that runs on the Nuxeo server itself, a successor to the designer mode of the original JSF UI. This would empower administrators and designers to make real-time UI and UX adjustments to individual components without the need for a full development cycle and deployment. Imagine tweaking a layout, altering a color scheme, or re-labeling a button "on the fly" - the possibilities for rapid iteration and user-centric design are nearly endless.

  2. A Simple UI Builder: Taking a cue from the powerful, low-code capabilities of Nuxeo Studio, we are contemplating a simple UI builder for Angular components. This tool would allow users to scaffold new components through a visual interface, without writing a single line of code. The output would be a Nuxeo package containing a generated JAR file, which developers could then further customize and deploy. This would lower the barrier to entry for creating new UI elements while also maintaining the advanced UI/UX features within the Angular framework.

These ideas are simply what we think could be our next path in our Angular / Nuxeo journey. We are, as ever, guided by the needs and ingenuity of the Nuxeo community. What are your thoughts? Do these ideas resonate with your own experiences and aspirations for the Nuxeo platform? We invite you to join the conversation, to share your own visions for the future of the Nuxeo WebUI.

← All insights

Keep reading

Related insights

Talk to a Maretha Consultant

Tell us what you're struggling with, and we'll tell you how we can help you.

Talk to us