__БЕЗКН__
Vue.Js (познат и као Vue ) је front-end JavaScript библиотека за Model-view-viewmodel која се користи за креирање корисничких интерфејса и апликација на једној страници . Ова библиотека је креирана од стране Evan You-а, а одржавају је он и остали активни чланови уског тима.
Преглед Vue.js користи постепено прилагодљиву архитектуру која се фокусира на декларативни приказ и композицију компоненти. Основна библиотека је усмерена искључиво на приказни слој. За напредне функционалности потребне у сложеним апликацијама, као што су рутирање, управљање стањем и алати за развој, користе се званично одржавани пакети и библиотеке.
Vue.js омогућава проширење HTML-а помоћу HTML атрибута који се зову директиве. Директиве пружају функционалност HTML апликацијама могу бити уграђене или кориснички дефинисане директиве.
Историја Vue је креирао Evan You након рада за Google користећи AngularJS у неколико пројеката. Касније је описао свој процес размишљања на следећи начин: "Помислио сам, шта када бих могао само издвојити део који ми се заиста свиђао у вези са Angular-ом и изградити нешто веома лако." Прво улагање изворног кода на пројекту датира из јула 2013. године, а Vue је први пут јавно најављен следећег фебруара, 2014. godine.
Имена верзија су често изведена из манге и анимеа.
Верзије ВерзијаДатум изласкаНасловКрај дугорочне подршке (LTS).Крај животног века3.4Slam Dunk3.3Rurouni Kenshin3.2Quintessential Quintuplets3.1Pluto3.0One Piece2.7Naruto2.6Macross2.5Level E2.4Kill la Kill2.3JoJo's Bizarre Adventure2.2Initial D2.1Hunter X Hunter2.0Ghost in the Shell1.0Evangelion0.12Dragon Ball0.11Cowboy Bebop0.10Blade Runner0.9Animatrix0.8 прва верзија јавно објављена0.7 0.6VueJS Када се објави нова главна верзија, на пример, v3.y.z, последње минорно издање, на пример, 2.x.y, постаће издање са дугорочном подршком (LTS) у трајању од 18 месеци (са исправкама грешака и безбедносним закрпама), а за следећих 18 месеци биће у режиму одржавања (само са безбедносним закрпама).
Карактеристике
Компоненте Vue компоненте проширују основне HTML елементе како би уклопили преупотребљиви код. На високом нивоу, компоненте су прилагођени елементи којима Вue-ов компилатор придружује понашање. У Vue-у, компонент је у основи Vue инстанца са предефинисаним опцијама. У следећем делу кода се налази пример Vue компонента. Компонент приказује дугме и исписује број пута када је дугме кликнуто:
Шаблони Vue користи HTML-базирану синтаксу шаблона која омогућава повезивање рендерованог која омогућава повезивање рендерованог ДОМ-а са подацима основне Vue инстанце. Сви Vue шаблони су важећи HTML који могу да се парсирају од стране браузера који поштује спецификације и HTML парсере . Vue компајлира шаблоне у функције виртуелног ДОМ-а за рендеровање. Виртуелни модел објекта документа (или "DOM") омогућава Vue-у да рендерује компоненте у својој меморији пре него што ажурира прегледач. У комбинацији са системом реактивности, Vue може да израчуна минимални број компоненти за поновно рендеровање и да примени минималну количину манипулације DOM-а када се промени стање апликације.
Vue корисници могу користити синтаксу шаблона или изабрати да директно пишу функције за рендеровање користећи хиперскрипт, било позивајући функције или користећи JSX. Функције за рендеровање омогућавају изградњу апликација из софтверских компоненти.
Реактивност Vue има систем реактивности који користи обичне JavaScript објекте и оптимизовано поновно рендеровање. Свака компонента прати своје реактивне зависности током свог рендеровања, тако да систем прецизно зна када да изврши поновно рендеровање и које компоненте да поново рендерује.
Транзиције Vue пружа различите начине за примену ефеката транзиције када се ставке додају, ажурирају или уклоне из DOM-а . Ово укључује алате за:
Аутоматски применљиве класе за ЦСС прелазе и анимације Интеграцију библиотека CSS анимација осталих извора, као што је Animate.css Коришћење JavaScripta-а за директно манипулисање DOM-ом за време кука за транзицију Интегришите библиотеке JavaScripta анимација осталих извора, као што јеVelocity.js
Када се елемент умота у компоненту за транзицију и убаци или уклони, деси се следеће:
Vue ће аутоматски детектовати да ли циљни елемент има примењене CSS транзиције или анимације. Уколико их има, CSS класе за транзицију ће бити додате/уклоњене у одговарајућим временима. Уколико компонента за транзицију пружа JavaScript hooks, биће позване у одговарајућим временима. Ако нису откривене CSS транзиције/анимације и ако нису пружене JavaScript hooks, операције DOM-a за уметање и/или уклањање ће бити извршене одмах у следећем фрејму.
Рутирање Традиционални недостатак једностраничких апликација (SPA) је немогућност дељења линкова до тачне "под"странице унутар одређене веб странице. Пошто SPA сервира својим корисницима само један одговор заснован на URL-у са сервера (обично сервирају index.html или index.vue), обележавање одређених екрана или дељење линкова до специфичних делова је обично тешко, ако не и немогуће. Да би се решио овај проблем, многи клијентски рутери раздвајају своје динамичке URL-ове са "хашбенгом" (#!), на пример, page.com/#!/. Међутим, са HTML5, већина модерних прегледача подржава рутирање без хашбенга.
Vue пружа интерфејс за промену приказаног садржаја на страници на основу тренутне путање URL-а - без обзира на то како је промењен (било путем линка послатог имејлом, освежавања странице или линкова унутар странице). Додатно, коришћењем фронт-енд рутера омогућава се намерно мењање путање прегледача када се десе одређени догађаји у прегледачу (нпр. кликтање) на дугмадима или линковима. Vue сам по себи не долази са рутирањем преко хаша. Међутим, open-source "vue-router" пакет пружа API за ажурирање URL-а апликације, подржава дугме за повратак (навигацију кроз историју), као и линкове за ресетовање лозинке или потврду путем имејла са параметрима URL-а за аутентификацију. Подржава мапирање угњеждених рута на угњеждене компоненте и нуди детаљну контролу транзиције. Са Vue-ом, програмери већ састављају апликације помоћу малих грађевинских блокова који граде веће компоненте. Са vue-router-ом додатим у мешавину, компоненте само треба мапирати на руте којима припадају, а родитељске/рутне руте треба да показу где деца треба да се рендерују. Код изнад:
Поставља фронт-енд руту на websitename.com/user/<id> . Која ће бити приказана у корисничко дефинисаној компоненти у (const User...) Омогућава компоненти Корисник да проследи одређени ид корисника који је унет у URL користећи кључ params објекта $роуте: $route.params.id . Овај шаблон (варираће у зависности од параметара који се прослеђују у рутер) биће приказан у <code><router-view></router-view></code> унутар div#app у DOM-у. Финално генерисани HTML за некога ко укуца: websitename.com/user/1 биће:
Екосистем Основна библиотека иде у пакету са алатима и библиотекама које су развили основни тим и сарадници.
Званични алати
Devtools – Проширење алатки за дебаговање Вуе.јс апликација у прегледачу. Vite – Стандардни алати за брзи развој Vue.js апликација. Vue Loader – учитавач веб пакета који омогућава писање Vue компоненти у формату који се зове Single-File Components (SFCs)
Званичне библиотеке
Vue Router – Званични рутер Vuex – Централизовано управљање инспирисано Flux-ом Vue Server Renderer – Рендеровање на страни сервера Pinia – Ново поједностављено управљање стањем
Види још
Поређење веб оквира заснованих на JavaScript-у React AngularJS Angular Quasar Framework Веб-фрејмворк JavaScript библиотека Model–view–ViewModel Nuxt.js
Референце
Спољашње везе
Шта је Vue.js
Категорија:ЈаваСкрипт библиотеке Категорија:Веб фрејмворк Категорија:Веб развој Категорија:Софтвер са МИТ лиценцом Категорија:Софтвер 2014.