1. О BingoJS
BingoJS — это фронтэнд-фреймворк для разработки, который стремится создать наиболее совершенную среду разработки на JavaScript. Он объединяет преимущества существующих фреймворков с модульным подходом к разработке, динамической загрузкой по требованию, внедрением зависимостей и сервис-ориентированным подходом. Кроме того, BingoJS совместим со всеми существующими фреймворками, что позволяет избежать конфликтов и обеспечивает лёгкую интеграцию.
2. Двусторонняя привязка данных
Двусторонняя привязка данных в BingoJS позволяет отделить HTML от JavaScript, избегая прямого манипулирования DOM. Это позволяет сосредоточиться на бизнес-логике и отображении данных. Пример использования:
<div bg-action="action1">
Имя: <input bg-model="datas.name" />
Возраст: <input bg-model="datas.age" />
<button bg-click="save">Сохранить</button>
</div>
<script>
var action1 = bingo.action(function ($view, $ajax) {
var datas = {
name: '',
age: ''
};
$view.save = function () {
$ajax('/rest/save').param(datas).post();
};
});
</script>
3. Поддержка MV разработки*
MVC (Model-View-Controller) — это шаблон проектирования, который помогает организовать код и обеспечить его согласованность. BingoJS предлагает наиболее совершенный подход к разработке на основе MVC, позволяя реализовать бизнес-логику без дополнительной настройки.
3.1. Поддержка MVVM (Model-View-ViewModel):
Пример использования:
<div bg-action="action1">
Имя: <input bg-model="datas.name" />
Возраст: <input bg-model="datas.age" />
<button bg-click="save">Сохранить</button>
</div>
<script>
var action1 = bingo.action(function ($view, $ajax) {
var datas = {
name: '',
age: ''
};
$view.save = function() {
$ajax('/rest/save').param(datas).post();
};
});
</script>
3.2. Поддержка чистого фронтенд-MV:
Пример использования:
<div bg-action="action/demo/user">
Имя: <input bg-model="datas.name" />
Возраст: <input bg-model="datas.age" />
<button bg-click="save">Сохранить</button>
</div>
<script>
bingo.module('demo').action('userInfo', function ($view, $ajax) {
var datas = {
name: '',
age: ''
};
$view.save = function() {
$ajax('/rest/save').param(datas).post();
};
});
</script>
Если вы хотите разделить HTML и JavaScript, фреймворк автоматически распознает их:
Файл view/demo/user:
<div bg-action="action/demo/user">
Имя: <input bg-model="datas.name" />
Возраст: <input bg-model="datas.age" />
<button bg-click="save">Сохранить</button>
</div>
Файл action/demo/user:
bingo.module('demo').action('userInfo', function ($view, $ajax) {
var datas = {
name: '',
age: ''
};
$view.save = function() {
$ajax('/rest/save').param(datas).post();
};
});
Обратите внимание, что содержимое файлов не изменилось, но они были разделены. Здесь также используется концепция route URL, которую можно найти в документации.
3.3. Поддержка чистого фронтенд MVC:
В случае если MV не может полностью удовлетворить ваши потребности в разделении бизнес-логики, можно использовать MVC.
Файл view/demo/user/list:
<div bg-action="action/demo/user/info">
Имя: <input bg-model="datas.name" />
Возраст: <input bg-model="datas.age" />
<button bg-click="save">Сохранить</button>
</div>
Файл action/demo/user:
bingo.module('demo').controller('user', function() {
bingo.action('list', function($view, $ajax) {});
bingo.action('info', function($view, $ajax) {
var datas = {
name: '',
age: ''
};
$view.save = function() {
$ajax('/rest/save').param(datas).post();
};
});
});
Все действия и представления в BingoJS соответствуют друг другу (HTML и JavaScript), и другие компоненты являются вспомогательными.
4. Динамическая загрузка по требованию
Фреймворк BingoJS предоставляет механизм для динамической загрузки ресурсов, таких как файлы JavaScript и шаблоны представлений. Ресурсы загружаются через систему маршрутизации (routing).
Загрузка модулей обеспечивает простой механизм загрузки, который отвечает только за загрузку ресурсов после перенаправления по маршруту. Это делает BingoJS совместимым с существующими библиотеками JavaScript. Можно видеть, что они организуют мышление подобно тому, как это делает код на бэкенде, поэтому разработчикам легко адаптироваться;
####5. Совместимость В отношении JS можно сказать, что он полностью совместим с IE6. Что касается управления DOM, то за исключением основной части компиляции, которая написана нативным образом, всё остальное практически зависит от jQuery, так что совместимость определяется версией jQuery.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )