Components (или сокращённо - Compo.js) — это реактивная JavaScript-библиотека на основе стандартных Веб-компонентов, предназначенная для быстрого создания веб-приложений клиентского уровня. Библиотека распространяется под лицензией MIT, имеет небольшой размер и не требует много времени для её изучения. Чтобы начать работать с ней, достаточно иметь базовые знания HTML, CSS и JavaScript.
Компоненты в Compo.js бывают двух видов: внешние и встроенные. Ниже показан пример простого внешнего компонента с двумя циклами и заголовком:
<my-component>
<h1>${ message }</h1>
<div c-for="obj of users">
<div c-for="prop in obj">
<p>
<b>${ prop }</b>: ${ obj[prop] }
</p>
</div>
<br>
</div>
<style>
h1 {
margin-bottom: 50px;
color: ${ color() };
}
</style>
<script>
this.message = 'Мой компонент!'
this.color = () => 'orangered'
this.users = [
{
name: 'Дмитрий',
age: 28
},
{
name: 'Ольга',
age: 25
},
{
name: 'Максим',
age: 30
}
]
</script>
</my-component>
Кроме удобного способа создания Веб-компонентов и добавления им реактивности с помощью прокси, библиотека использует в качестве наблюдателя систему событий доступную в браузере, и предоставляет маршрутизатор, на основе наблюдателя и метода pushState().
Если вы хотите узнать о Compo.js больше, то начните её изучение с учебника, в котором на простых примерах представлена вся её доступная функциональность!