Skip to content

Instantly share code, notes, and snippets.

@nelsonsilva
Last active March 16, 2020 10:45
Show Gist options
  • Save nelsonsilva/a511222e2b09dc522dd9ee13110eda8c to your computer and use it in GitHub Desktop.
Save nelsonsilva/a511222e2b09dc522dd9ee13110eda8c to your computer and use it in GitHub Desktop.

Nuxeo Elements - 2014

Problem Statement

Allow building Nuxeo web applications with modern web frameworks. Frontend developers know HTML, JS and CSS we need to make it easier for them to built Nuxeo apps.

Nuxeo Approach

Provide the tools and the building blocks to do so

Solutions

  • Build a set of reusable web components
    • Be framework agnostic
    • Be as future proof as possible

Nuxeo JSF Elements - 2015

Problem Statement

Must keep evolving the existing JSF UI

Nuxeo Approach

Integrate Nuxeo Elements in our JSF UI

Solution

  • Build and integrate new custom elements leveraging Nuxeo Elements
    • nuxeo-document-permissions

Nuxeo Web UI - 2016

Problem Statement

Need for greater UI customization Do not want to invest into JSF

Nuxeo Approach

Build a modern and configurable web UI using our elements

Solution

  • Leverage Polymer as application framework
  • Built on Web components V0
    • Custom elements V0
    • "Shady" DOM V0
    • Templates
    • HTML Imports

Nuxeo View Designer - 2017

Problem Statement

Need Studio to allow configuring Web UI

Nuxeo Approach

Build a low code view designer for Web UI

Solution

  • Nuxeo View Designer
    • Built with Polymer and leveraging Hydrolysis (now know as Polymer analyser) for element analysis.

Nuxeo Web UI - 2019

Problem statement

Need proper frontend developer experience and deployment. Still doing JS with Java tooling, packaging and deployment.

Nuxeo Approach

Decouple Web UI and server

Solution

  • Decouple repositories
    • Elements monorepo (core, UI, dataviz)
    • Web UI with addons
  • npm / Docker packaging
  • Docker / k8s deployment

Nuxeo Web UI - 2020

Problem statement

Low code

Nuxeo Approach

Decouple Web UI and server

Solution

Future

UI Framework support and templates

Angular, React, Vue.js, ...

Reboot elements

Rebuild using Lit, Svelte, ...

Improve theming

Leverage CSS shadow parts

Multiple Web UI deployments

Make it possible to deploy multiple Web UI with different configurations

SSR

Leverage server side rendering to improve loading time

GraphQL

Support building custom GraphQL APIs

Wasm

  • Edge workers
  • Drive PWA ?*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment