Giter Club home page Giter Club logo

mofogasy / scion-workbench Goto Github PK

View Code? Open in Web Editor NEW

This project forked from schweizerischebundesbahnen/scion-workbench

0.0 1.0 0.0 1.47 MB

SCION Workbench helps to build multi-view web applications and integrates separate micro frontends into a consistent rich web application. Views are shown within tabs which can be flexible arranged and dragged around by the user.

License: Eclipse Public License 2.0

JavaScript 1.54% HTML 3.30% CSS 5.92% TypeScript 89.24%

scion-workbench's Introduction

SCION Workbench

Overview Demo Getting Started How To Contributing Changelog Sponsoring Links

Overview

SCION Workbench helps to build multi-view web applications and integrates separate micro frontends into a consistent rich web application. Views are shown within tabs which can be flexible arranged and dragged around by the user.

SCION Workbench

The Workbench provides core features of a modern rich web application.

  • Tabbed, movable and stackable views
  • Activity panel as application entry point
  • Global notifications
  • Global or view-local message boxes
  • URL encoded navigational state

SCION Workbench Features

Background

Web frontends are becoming more and more common even for complex business applications. To tackle complexity and lifecycle of enterprise application landscapes there is a strong trend towards micro-service based backends and so called micro frontends. Micro frontends break-up hard to handle monoliths into parts by allowing different lifecycle, hosting on different backend systems and usage of completely different web development stacks. The latter is particularly important nowadays as we see a huge dynamic in Web frameworks: they evolve and may also disappear quickly.

While micro frontends offer several benefits from the development and deployment point of view end users still need an integrated and consistent interface which offers a similar performance as every single micro frontend.

Software developers need a simple and lightweight mechanism for common tasks like opening an activity or a view for e.g. a business object’s details.

Solution and Technology

SCION Workbench builds on top of Angular but it does not impose a dependency on Angular or any other framework for micro frontends hosted in workbench views.

The workbench is a lightweight application frame which depends on Angular only. The navigation is fully based on Angular routing with every view having its separate router outlet. That allows routing on a per-view basis, with all the benefits like lazy component loading, route guards and the application URL to reflect navigational state. As many views may be opened at the same time, views not presented to the user are removed from Angular change detection tree to not compromise application performance.

As a first level Angular citizen and with routing at its heart, it is like to develop a regular Angular application which you feel familiar with instantly. Integration into SCION Workbench is as lean as possible. Any vanilla Angular component can act as workbench view and obtain data via route parameters.

Our vision is to provide you with a ready to go workbench frame for production use. We believe in first class code quality and a profound understanding of the things we do.

Project Status

Development is still at a very early stage mainly driven by requirements of the project. Many other use cases are imaginable. Hence, we encourage other developers to join the project and contribute to make SCION Workbench constantly better and more stable.

Further development will mainly focus on stability and performance, micro frontend integration points and features like theming, multi-window and responsive design.

We would like to thank SBB which supports open source software and made SCION Workbench possible in the first place.

Current Project Version

Project version Project version

scion-workbench's People

Contributors

danielwiehl avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.