An open API service indexing awesome lists of open source software.

https://github.com/bitsmist/bitsmist-js_v1

Javascript Web Components based Framework
https://github.com/bitsmist/bitsmist-js_v1

framework-javascript javascript javascript-framework webcomponents

Last synced: 4 months ago
JSON representation

Javascript Web Components based Framework

Awesome Lists containing this project

README

        

# BitsmistJS

## Introduction

BitsmistJS is a JavaScript framework built upon Web Components. It operates on a component-based architecture with the main objective of facilitating the creation of components. While each component functions independently, it also interacts with other components to form a cohesive website.

The primary aim is to minimize the amount of code required. By configuring the settings, you can easily harness various functions.

### Standard Javascript

We use standard Javascript technologies such as Web Components, Structured CSS, ShadowDOM, and asynchronous processing.

### Components

You create distinct components and integrate them to form a website. Each component's role is well-defined, simplifying site modifications. Additionally, you can seamlessly incorporate a component into a part of the site.

### Independent Plain HTML File

We simply use the original HTML as-is. Since JavaScript is written in a separate file, it's also easy for web designers to handle.

### Autoloading

The necessary files are loaded when needed. All processing is asynchronous, so files can be loaded efficiently.

### Event driven

Javascript codes for each event is written in a file that is separated from the HTML file. It's clear at a glance which processing is written where.

### Extensibility

Components can be extended using a mechanism called “Perks. By simply preparing a perk and describing it in the configuration, new functions can be added to the component.

## Installation

### CDN

Load the BitsmistJS library from CDN in your HTML files.

```html

```

### Download

Download the BitsmistJS library and put bitsmist-js_v1.min.js in the dist folder to somewhere under your websites and load it in your HTML files.

```html

```

## Sample Unit

In BitmistJS, you create components (called units in this framework) and combine them to build a site. You can create HTML-only units that require no action and only an interface, HTML+Javascript units that require an interface and action, or Javascript-only units that require no interface and only action.

### HTML Only Unit

![bitmistjs_htmlonly](https://bitsmist.com/images/en/bitsmistjs_htmlonly.png?20230823)

**`index.html`**
``` html

```

**`pad-hello.html`**
``` html

Hello, World!


```

**`pad-hello.css`**
```css
pad-hello {
color: blue;
display: block;
text-align: center;
}
```

### HTML and Javascript Unit

![bitmistjs_htmlandjs](https://bitsmist.com/images/en/bitsmistjs_htmlandjs.png?20230823)

**`index.html`**
``` html

```

**`pad-hello.html`**
``` html

Hello, World!


Greet
```

**`pad-hello.css`**
```css
pad-hello {
color: blue;
display: block;
text-align: center;
}
```

**`pad-hello.js`**
``` js
class PadHello extends BITSMIST.v1.Unit
{
_getSettings()
{
return {
"event": {
"events": {
"btn-greet": {
"handlers": {
"click": "onBtnGreet_Click"
}
}
}
}
};
}

onBtnGreet_Click(sender, e, ex)
{
alert("Hello, World!");
}
}
```

## Documentation

- [English](https://bitsmist.com/en/bitsmist-js-core/)
- [Japanese(日本語)](https://bitsmist.com/ja/bitsmist-js-core/)

## Contribution

Contributions are welcome. Currently, there are no rules on how to contribute yet.

- **Coding:** Bug report, improvement, advice, etc.
- **Translation:** Since I'm not a native English speaker, I appreciate someone translates into nicer English. Of course, other languages are welcome.