1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bingoJS-bingoJS

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.MD

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 )

Вы можете оставить комментарий после Вход в систему

Введение

bingoJS — это интерфейсный MVC-фреймворк, который поддерживает Chrome, Firefox, Safari и IE6 и выше. Он поддерживает динамическую загрузку JavaScript и шаблонов по требованию, а также разработку с использованием модулей на фронтенде. Кроме того, он обеспечивает идеальное двустороннее связывание данных. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bingoJS-bingoJS.git
git@api.gitlife.ru:oschina-mirror/bingoJS-bingoJS.git
oschina-mirror
bingoJS-bingoJS
bingoJS-bingoJS
master