Co je Knockout.js?
Knockout je skvělá knihovna pro JavascripPomáhá vám vytvořit textově bohaté uživatelské rozhraní s dobrými zobrazeními a editačními schopnostmi, přičemž používáte pouze jasný a čistý základní datový model. Kdykoli je potřeba automaticky aktualizovat obsah lokálního UI (například v závislosti na změnách chování uživatelů nebo externích zdrojích dat), KO lze snadno implementovat a velmi snadno udržovat.
Důležité vlastnosti KO:
Elegantní sledování závislostí – kdykoli se změní model datového zdroje, může automaticky aktualizovat zadaný obsah vašeho uživatelského rozhraní. Deklarativní vazby – Jednoduše a jednoduše připojí vaše UI k datovému modelu a můžete použít jakoukoli vnořenou šablonu struktury k vytvoření složitého dynamického rozhraní. Dobrá škálovatelnost – vlastní chování lze implementovat pomocí několika jednoduchých řádků kódu pro přiřazení jako nové deklarace.
Další výhody:
Čistá Javascrip{filtering}t knihovna – kompatibilní s jakoukoli serverovou a klientskou technologií. Lze ji dobře aplikovat na stávající aplikace – bez nutnosti měnit hlavní architekturu programu. Jednoduchost – jen 13K po kompresi Gzip. Kompatibilní s jakýmkoli hlavním prohlížečem (IE 6+, Firefox 2+, Chrome, Safari a další) Komplexní sada specifikací (s vývojem řízeným chováním) – to znamená, že je lze snadno ověřit v nových prohlížečích nebo platformách. Vývojáři obeznámení s Ruby on Rails, Asp.net MVC nebo jinými MVC technologiemi mohou zjistit, že jde o MVC formu v reálném čase s deklarativní syntaxí. Jinými slovy, můžete si představit KO jako způsob, jak vytvořit uživatelské rozhraní úpravou JSON dat... Cokoliv to pro tebe znamená.
Jak ho používat?
Nejrychlejší a nejzábavnější způsob, jak začít, je interaktivní výuka, a jakmile zvládnete ty nejzákladnější techniky a naučíte se každý online případ, budete připraveni pracovat na svých projektech.
Soutěží KO a Jquery (prototyp atd.), nebo se dají používat společně?
Jquery má rád každý! V minulosti jsme museli snášet různé nekonzistentní metody API pro manipulaci s objekty DOM a vznik Jquery je skvělou alternativou k neohledným frameworkům minulosti, díky čemuž je flexibilní a snadno použitelný. Jquery je vynikající a snadno použitelný pro manipulaci s prvky webové stránky a zpracování událostí, zatímco KO řeší jiný problém.
Pokud je vaše UI rozhraní o něco složitější a obsahuje některé stejné chování, pokud používáte jen Jquery, bude UI složitější a obtížnější, než si myslíte, a údržba bude dost drahá. Uvažujme příklad zobrazení seznamu položek v tabulce, uvedení počtu seznamů v tabulce a zapnutí tlačítka "Přidat", když je počet seznamů položek menší než 5, jinak je zakázán. Jquery nemá základní koncept datového modelu, takže pokud chcete získat počet seznamů projektů, musíte odvodit z čísel tabulky/tr/div. Pokud potřebujete zobrazit množství dat v určitých SPANs, měli byste také nezapomenout aktualizovat text SPAN při přidávání nových dat. Samozřejmě je také potřeba si pamatovat, že když je celkové číslo >=5, musíte vypnout tlačítko Přidat. Pokud pak chcete implementovat funkci Mazání, musíte upozornit, který prvek DOM je potřeba změnit po kliknutí.
Jak je to jiné dělat to s Knockoutem?
S KO je to všechno velmi jednoduché. Umožňuje vám snadno škálovat složitost vašeho projektu, aniž byste se museli obávat výsledných datových nesrovnalostí. Jednoduše převede vaše data do pole Javascrip{filter}t a pak pomocí foreach přiřadí datové pole k tabulce nebo sadě divů na stránce. Kdykoli se změní datové pole, uživatelské rozhraní automaticky reaguje na změnu (nemusíte uvádět, jak vložit nový řádek nebo kde) a zbytek je synchronizace dat v UI. Například můžete deklarovat následující SPAN, který zobrazí množství dat:
To je ono! Nemusíte psát kód k aktualizaci, aktualizace závisí na změnách v poli myItems. Podobně povolení a vypnutí tlačítka Add závisí na délce pole myItems, a to následovně:
Poté, pokud potřebujete implementovat funkci "Delete", nemusíte specifikovat, jak manipulovat s prvky UI, stačí upravit datový model.
Shrnutí: KO nemá v úmyslu konkurovat jQuery a dalším podobným frameworkům pro manipulaci s DOM. KO poskytuje vysoce úrovňový způsob, jak korelaci datového modelu s uživatelským rozhraním.KO nezávisí přímo na jQuery, ale můžete jQuery používat společně, Živé a jemné změny uživatelského rozhraní vyžadují použití jQuery.
Prostředky:
http://www.aizhengli.com/knockoutjs/50/knockout.html
http://knockoutjs.com/
|