Чер
11

JavaScript бібліотеки, які вам сподобаються. Knockout

Автор: Наталія

JavaScript бібліотеки, які вам сподобаються. KnockoutПро інші бібліотеки читайте тут
JavaScript бібліотеки, які вам сподобаються. Backbone
JavaScript бібліотеки, які вам сподобаються. Underscore

Наступною JavaScript бібліотекою, яка вам сподобається своєю простотою і зручністю є Knockout – основний інструмент для зручного інтерфейсу користувача.
Разом з Backbone, бібліотека Knockout допомагає вам структуризувати власний додаток і чітко виокремити його дані і поведінку (модель) від його користувацького інтерфейсу (представлення). Knockout більш простіший ніж Backbone. Саме з цієї бібліотеки і легше розпочинати роботу з інтерфейсами. Knockout зосереджується в основному на зв’язку між моделлю і її представленням, тоді як Backbone більше сфокусована на управління моделлю і її синхронізацію з сервером.

Основні можливості бібліотеки

  • Елегантне відстеження залежностей – автоматично оновлює користувацькі частини інтерфейсу при зміні моделі даних.
  • Декларативне зв’язування – простий і очевидний спосіб об’єднання частин користувацького інтерфейсу і моделі даних. Надає можливість побудови складного динамічного інтерфейсу користувача, використовуючи довільно вкладені обов’язкові контексти.
  • Тривіальне розширення – можливість реалізації поведінки користувача як нового декларативного зв’язування (всього в декількох стрічках коду) для зручного повторного використання.

Додаткові переваги

  • Чиста JavaScript бібліотека – працює з довільною серверною ти клієнтською технологією.
  • Може бути додана як надбудова до існуючого веб-додатку, не вимагаючи значних архітектурних змін.
  • Компактна – приблизно 13 Кбайт у стиснутому варіанті.
  • Працює з довільним з основних браузерів (IE 6+, Firefox 2+, Chrome, Safari і інші).
  • Комплексний набір специфікацій (розроблений в стилі BBD) дозволяє легко перевірити коректну роботу бібліотеки на нових браузерах і платформах.

Knockout реалізує MVVM шаблон – Model-View-Viewmodel (Модель-Представлення-Представлення моделі), в якому Viewmodel – це JavaScript об’єкт, який описує дані і поведінку користувацького інтерфейсу.
Основна ідея бібліотеки полягає в тому, що ви захоплюєте запис даних з сервера, завантажуєте ці дані в viewmodel, і додаєте атрибути зв’язку для розмітки, щоби зв’язати viewmodel з елементами в DOM. Як тільки ви це зробили, viewmodel і DOM синхронізовані, тобто будь-які зміни значень у viewmodel автоматично змінюють відповідний елемент на сторінці, відображаючи нові значення. І навпаки, якщо користувач оновлює елемент, наприклад, вводить в текстове поле нові дані, відповідне значення в viewmodel оновлюється автоматично.

Таким чином можна зв’язувати практично будь-який DOM елемент і інші елементи, починаючи від текстового поля і до вибору меню. І, навіть, якщо ви використовуєте шаблони jQuery http://api.jquery.com/category/plugins/templates/ – Knockout забезпечує підтримку всього набору елементів для редагування даних.

Knockout достатньо розумний, щоби відслідкувати і залежності. Наприклад, якщо ви створили текстовий елемент на сторінці, яка отримує значення з властивості вашої viewmodel, і властивості a, яка обчислюється зі значень властивостей b і c, то при кожному оновленні значень b і c Knockout оновлює і властивість a і текстовий елемент автоматично.

Knockout досить простий і відточений спосіб зв’язування даних ваших додатків з їх представленням (веб-сторінкою) так, щоби не виникало складності безпосереднього управління DOM елеметами. Ви тільки оновлюєте дані у viewmodel і оновлення відбувається автоматично, відображаючи відповідні зміни на веб-сторінці.

Для більш детальнішого вивчення бібліотеки відвідайте сайт Knockout, який пропонує набір інтерактивних навчаючих програм.

Автор Наталія

Опубліковано:
11/06/2015
Схожі публікації: