Commit 75293d09 authored by Łukasz Starosta's avatar Łukasz Starosta

Index and About content

parent 9cc1bb00
......@@ -26,19 +26,25 @@ const config = {
},
sidebar: {
forcedNavOrder: [
"/",
"/about", // add trailing slash if enabled above
"/getting-started",
"/embeddable-widget",
"/widget-api",
"/templates",
"/contributing"
],
collapsedNav: [
"/getting-started",
"/widget-api",
"/templates",
"/contributing"
],
collapsedNav: [],
links: [
{ text: "Energenious", link: "https://energenious.eu" },
{ text: "Live Examples", link: `${pathPrefix}/storybook` }
],
frontline: false,
ignoreIndex: true,
ignoreIndex: false,
title: "Widgets"
},
siteMetadata: {
......
......@@ -2,4 +2,10 @@
title: "About"
---
# 🚧 Work in progress 🚧
## Introduction
This library strives to acknowledge and solve the problem of building complex applications with the use of small, independent components.
## Learn more
Read through this section to learn more about our goals, use cases and additional documentation.
---
title: "Purpose"
---
## Composition
The developer will be able to embed technologically-independent applications into a hosting platform, also allowing event-based communication between them.
## Global state
Any component's global state can be accessed and modified using **Redux**'s `actions`, `dispatch` and `reducers`.
## Preserving state
The [Widget API](/widget-api) allows the developer to access any component's global state and preserve it in any particular way.
## Communication with the host
Through the use of native browser events or the [Widget API](/widget-api), the components can communicate with the hosting platform and react to e.g. theme changes.
## Communication between components of the same kind
The included event manager can be used to allow other components of the same kind to communicate between each other. See how it works in our [Live Examples section](./storybook)
---
title: "Use cases"
---
## Micro-frontends approach
This library allows developers to separate a monolith app into smaller components, which in turn:
- keeps the codebases DRY and simple
- reduces the amount of complexity of the global state in the application
- allows teams to work on features independently
## Developing independent widgets integrated into a hosting platform
Suppose that your team is presented with a task to create a platform containing many widgets which would fetch and display data in many different ways. One way to approach this problem is to build a monolith application with a lot of shared state and dependencies both internal and external. While this may seem simple at first, the application is bound to become more and more difficult to maintain with time.
### Perhaps another way would be to keep each widget independent from the others?
Yes! And this library will help you do exactly that. Moreover, you are not bound to any particular technology. Currently the developers in your team can use:
- React
- React with TypeScript
- jQuery
- TypeScript
- Vaniila JavaScript
so feel free to work with whatever suits your particular widget the best and easily switch to another technology with the next widget.
---
title: "Use cases"
---
# 🚧 Work in progress 🚧
---
title: "Embeddable Widget"
---
# 🚧 Work in progress 🚧
---
title: "Widgets"
title: "Widgets by Energenious"
metaTitle: "Widgets - Energenious"
metaDescription: "Documentation of the library and templates for creating widgets."
---
## Introduction
Widgets by Energenious is our way to build independent widgets and connect them together to create complex applications.
## What, how and why?
Learn more about our project by referring to the corresponding sections on the sidebar.
## Contributing
Are you using our library and are interested in helping to develop it further?
Have you spotted a bug or encountered an edge case which has not been resolved yet?
Go to [Contributing](./contributing) to see how you can help!
---
title: "Purpose"
title: "Widget API"
---
# 🚧 Work in progress 🚧
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment