This proposal has been approved and the Eclipse Furo project has been created.
Visit the project page for the latest information and development.

Eclipse Furo

Friday, May 21, 2021 - 05:41 by Roger Mueller
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Project
Parent Project
Proposal State
Created
Background

Business web application developers face many recurring requirements. 

Implementing these should not require a significant amount of time. Instead, developers should be able to concentrate on understanding and implementing business cases.  

The Eclipse Furo web stack provides support in the following areas: 

  • API first approach 
  • Continuous type system  
  • Plugin architecture for the creation of interface formats 
    • gRPC 
    • REST 
    • JSON over HTTP 
  • Client framework based on the web component standard 
    • Custom element 
    • Shadow DOM 
    • HTML template 
    • ES modules 
  • Out of the box micro frontend support: 
    • Run-time integration via iframes 
    • Run-time integration with web components 
    • Run-time integration with deep linkable micro sites 
  • Built-in flow-based programming support 
  • Fully declarative components compositions 
  • Fully decoupled, styleable and themable UI elements 
  • Data binding interface 
  • Data fetching agents 
  • Service- and type-based hooks for the creation of UI building blocks (semi-finished products) 
Scope

Eclipse Furo provides an enterprise-grade web stack for creating fast, lightweight web apps with web components.

In a nutshell, the Eclipse Furo web stack :

  • Reduces development efforts for creating modern web applications 
  • Helps developers to focus on implementing business driven use cases 

The scope of the Eclipse Furo project includes: 

  • Support in modelling API contracts (types and services) 
  • A set of components to map the presentation logic 
  • An interface to bind frontend libraries to the data models 
  • Enterprise grade web application stack 
  • Tools to support the development process 
  • Build chain 

 

 

Out of scope:

  • Backend framework 
  • Persistence  
Description

Eclipse Furo strongly relies on open web standards which results in increasing speed, robustness and compatibility for applications based on Furo.  

Eclipse Furo provides:

  • components for the presentation logic and for the visual representation of an application
  • a built in flow based programming language which allows you to build your application fully declarative

Furo comes with a strong API specification based on the API-first approach. This is accompanied by an abstract API specification with template based generators for concrete implementations such as protocol buffers. This functionality is provided by the CLI spectools. The spectools are designed as an expandable cli tool set. The basic functionality covers the following: 

  • DSL for fast prototyping of model and service specifications 
  • Abstract model and service specification format  
  • Imports from external api specification projects 
  • Generation of Protocol Buffers 
  • Generation of gRPC Gateway 
  • Generation of API Type Classes and Service Interfaces 
  • Generation of ES Module for client side integration 
Why Here?

The Eclipse Foundation has proven to be a transparent and reliable home for open source, web technology based projects that target buiness applications in the past. 

In addition, the clear IP guidelines for Eclipse projects increases the value of the project for usage in heavily related industries.

Future Work
  • Getting Started Guide 
Project Scheduling
  • 2021: Furo proposal under eclipse.org 
  • 2021: Transfer project artefacts to Eclipse according to current guidelines 
  • 2021: First official Eclipse Furo release 
Project Leads
Interested Parties
  • Adcubum AG, Zürcherstrasse 464, 9015 St.Gallen, Switzerland 

The following individuals have expressed interest in this project:

  • Marc Omlin
Initial Contribution

Functionality described in this proposal will be provided by the members of the GitHub Organisation theNorstroem (https://github.com/theNorstroem). The Community is asked for input on the existing code base, feature requests for new functionality, and bug requests. 

 

LitElement 

BSD 3-Clause (https://github.com/Polymer/lit-element/blob/master/LICENSE

UI5 Web Components 

Apache 2.0 (https://github.com/SAP/ui5-webcomponents/blob/master/LICENSE.txt

 

Source Repository Type