.gdpr{position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.7);color: #333;z-index:9999999;line-height:1.3;height: 100vh;width: 100vw} .gdpr_w{padding: 2rem;background: #fff;max-width: 700px;width: 95%;margin: 5% auto;text-align: center;position:fixed;left: 0;right: 0;margin:10% auto;} .gdpr_t{margin-bottom:15px;} .gdpr_t h3{font-size: 30px;margin:0px 0 10px 0;} .gdpr_t p{font-size: 16px;line-height: 1.45;margin:0;} .gdpr_x {position: absolute; right: 24px; top: 16px; cursor:pointer;} .gdpr_yn{margin-top:10px;} .gdpr_yn form{display: inline;} .gdpr_yn button{background: #37474F;border: none;color: #fff;padding: 8px 30px;font-size: 13px;margin: 0 3px;} .gdpr_yn .gdpr_n{background: #fff;color: #222;border: 1px solid #999;} amp-consent{margin-left: 10px;top: 2px;width: auto;background: transparent;} .gdpr_fmi{ width:100%; font-size: 15px; line-height: 1.45; margin: 0; } #footer .gdpr_fmi span, .gdpr_fmi span { display: inline-block; } #footer .gdpr_fmi a{ color: #005be2; } @media(max-width:768px){ .gdpr_w{width: 85%;margin:0 auto;padding:1.5rem;} } @media(max-width:700px){ .gdpr_w{margin:0 auto; width: 85%;} } .gdpr_fmi a:before{ display:none; } .gdpr_w{width:100%;} .f-w-f2 { padding: 50px 0px; } footer amp-consent.amp-active { z-index:9999; display: initial; position: inherit; height:20px; width:100%; } body[class*="amp-iso-country-"] .amp-active{ display: contents; } #post-consent-ui { position: fixed; z-index: 9999; left: 45%; margin-top: 10px; top: 0; } @font-face { font-family: Poppins;font-display: optional;font-style: normal;font-weight: 400;src: local('Poppins Regular '), local('Poppins-Regular'), url(https://fonts.gstatic.com/s/poppins/v13/pxiEyp8kv8JHgFVrFJDUc1NECPY.ttf);}@font-face { font-family: Poppins;font-display: optional;font-style: normal;font-weight: 500;src: local('Poppins Medium '), local('Poppins-Medium'), url(https://fonts.gstatic.com/s/poppins/v13/pxiByp8kv8JHgFVrLGT9V1tvFP-KUEg.ttf);}@font-face { font-family: Poppins;font-display: optional;font-style: normal;font-weight: 700;src: local('Poppins Bold '), local('Poppins-Bold'), url(https://fonts.gstatic.com/s/poppins/v13/pxiByp8kv8JHgFVrLCz7V1tvFP-KUEg.ttf);}a.heateor_sss_amp{padding:0 4px}div.heateor_sss_horizontal_sharing a amp-img{display:inline-block}.heateor_sss_amp_instagram img{background-color:#624E47}.heateor_sss_amp_yummly img{background-color:#E16120}.heateor_sss_amp_youtube img{background-color:#ff0000}.heateor_sss_amp_buffer img{background-color:#000}.heateor_sss_amp_delicious img{background-color:#53BEEE}.heateor_sss_amp_facebook img{background-color:#3C589A}.heateor_sss_amp_digg img{background-color:#006094}.heateor_sss_amp_email img{background-color:#649A3F}.heateor_sss_amp_float_it img{background-color:#53BEEE}.heateor_sss_amp_linkedin img{background-color:#0077B5}.heateor_sss_amp_pinterest img{background-color:#CC2329}.heateor_sss_amp_print img{background-color:#FD6500}.heateor_sss_amp_reddit img{background-color:#FF5700}.heateor_sss_amp_stocktwits img{background-color:#40576F}.heateor_sss_amp_mewe img{background-color:#007da1}.heateor_sss_amp_mix img{background-color:#ff8226}.heateor_sss_amp_tumblr img{background-color:#29435D}.heateor_sss_amp_twitter img{background-color:#55acee}.heateor_sss_amp_vkontakte img{background-color:#5E84AC}.heateor_sss_amp_yahoo img{background-color:#8F03CC}.heateor_sss_amp_xing img{background-color:#00797D}.heateor_sss_amp_instagram img{background-color:#527FA4}.heateor_sss_amp_whatsapp img{background-color:#55EB4C}.heateor_sss_amp_aim img{background-color:#10ff00}.heateor_sss_amp_amazon_wish_list img{background-color:#ffe000}.heateor_sss_amp_aol_mail img{background-color:#2A2A2A}.heateor_sss_amp_app_net img{background-color:#5D5D5D}.heateor_sss_amp_baidu img{background-color:#2319DC}.heateor_sss_amp_balatarin img{background-color:#fff}.heateor_sss_amp_bibsonomy img{background-color:#000}.heateor_sss_amp_bitty_browser img{background-color:#EFEFEF}.heateor_sss_amp_blinklist img{background-color:#3D3C3B}.heateor_sss_amp_blogger_post img{background-color:#FDA352}.heateor_sss_amp_blogmarks img{background-color:#535353}.heateor_sss_amp_bookmarks_fr img{background-color:#E8EAD4}.heateor_sss_amp_box_net img{background-color:#1A74B0}.heateor_sss_amp_buddymarks img{background-color:#ffd400}.heateor_sss_amp_care2_news img{background-color:#6EB43F}.heateor_sss_amp_citeulike img{background-color:#2781CD}.heateor_sss_amp_comment img{background-color:#444}.heateor_sss_amp_diary_ru img{background-color:#E8D8C6}.heateor_sss_amp_diaspora img{background-color:#2E3436}.heateor_sss_amp_dihitt img{background-color:#FF6300}.heateor_sss_amp_diigo img{background-color:#4A8BCA}.heateor_sss_amp_douban img{background-color:#497700}.heateor_sss_amp_draugiem img{background-color:#ffad66}.heateor_sss_amp_dzone img{background-color:#fff088}.heateor_sss_amp_evernote img{background-color:#8BE056}.heateor_sss_amp_facebook_messenger img{background-color:#0084FF}.heateor_sss_amp_fark img{background-color:#555}.heateor_sss_amp_fintel img{background-color:#087515}.heateor_sss_amp_flipboard img{background-color:#CC0000}.heateor_sss_amp_folkd img{background-color:#0F70B2}.heateor_sss_amp_google_classroom img{background-color:#FFC112}.heateor_sss_amp_google_bookmarks img{background-color:#CB0909}.heateor_sss_amp_google_gmail img{background-color:#E5E5E5}.heateor_sss_amp_hacker_news img{background-color:#F60}.heateor_sss_amp_hatena img{background-color:#00A6DB}.heateor_sss_amp_instapaper img{background-color:#EDEDED}.heateor_sss_amp_jamespot img{background-color:#FF9E2C}.heateor_sss_amp_kakao img{background-color:#FCB700}.heateor_sss_amp_kik img{background-color:#2A2A2A}.heateor_sss_amp_kindle_it img{background-color:#2A2A2A}.heateor_sss_amp_known img{background-color:#fff101}.heateor_sss_amp_line img{background-color:#00C300}.heateor_sss_amp_livejournal img{background-color:#EDEDED}.heateor_sss_amp_mail_ru img{background-color:#356FAC}.heateor_sss_amp_mendeley img{background-color:#A70805}.heateor_sss_amp_meneame img{background-color:#FF7D12}.heateor_sss_amp_mixi img{background-color:#EDEDED}.heateor_sss_amp_myspace img{background-color:#2A2A2A}.heateor_sss_amp_netlog img{background-color:#2A2A2A}.heateor_sss_amp_netvouz img{background-color:#c0ff00}.heateor_sss_amp_newsvine img{background-color:#055D00}.heateor_sss_amp_nujij img{background-color:#D40000}.heateor_sss_amp_odnoklassniki img{background-color:#F2720C}.heateor_sss_amp_oknotizie img{background-color:#fdff88}.heateor_sss_amp_outlook_com img{background-color:#0072C6}.heateor_sss_amp_papaly img{background-color:#3AC0F6}.heateor_sss_amp_pinboard img{background-color:#1341DE}.heateor_sss_amp_plurk img{background-color:#CF682F}.heateor_sss_amp_pocket img{background-color:#f0f0f0}.heateor_sss_amp_polyvore img{background-color:#2A2A2A}.heateor_sss_amp_printfriendly img{background-color:#61D1D5}.heateor_sss_amp_protopage_bookmarks img{background-color:#413FFF}.heateor_sss_amp_pusha img{background-color:#0072B8}.heateor_sss_amp_qzone img{background-color:#2B82D9}.heateor_sss_amp_refind img{background-color:#1492ef}.heateor_sss_amp_rediff_mypage img{background-color:#D20000}.heateor_sss_amp_renren img{background-color:#005EAC}.heateor_sss_amp_segnalo img{background-color:#fdff88}.heateor_sss_amp_sina_weibo img{background-color:#ff0}.heateor_sss_amp_sitejot img{background-color:#ffc800}.heateor_sss_amp_skype img{background-color:#00AFF0}.heateor_sss_amp_sms img{background-color:#6ebe45}.heateor_sss_amp_slashdot img{background-color:#004242}.heateor_sss_amp_stumpedia img{background-color:#EDEDED}.heateor_sss_amp_svejo img{background-color:#fa7aa3}.heateor_sss_amp_symbaloo_feeds img{background-color:#6DA8F7}.heateor_sss_amp_telegram img{background-color:#3DA5f1}.heateor_sss_amp_trello img{background-color:#1189CE}.heateor_sss_amp_tuenti img{background-color:#0075C9}.heateor_sss_amp_twiddla img{background-color:#EDEDED}.heateor_sss_amp_typepad_post img{background-color:#2A2A2A}.heateor_sss_amp_viadeo img{background-color:#2A2A2A}.heateor_sss_amp_viber img{background-color:#8B628F}.heateor_sss_amp_wanelo img{background-color:#fff}.heateor_sss_amp_webnews img{background-color:#CC2512}.heateor_sss_amp_wordpress img{background-color:#464646}.heateor_sss_amp_wykop img{background-color:#367DA9}.heateor_sss_amp_yahoo_mail img{background-color:#400090}.heateor_sss_amp_yahoo_messenger img{background-color:#400090}.heateor_sss_amp_yoolink img{background-color:#A2C538}.heateor_sss_amp_youmob img{background-color:#3B599D}.heateor_sss_amp_gentlereader img{background-color:#46aecf}.heateor_sss_amp_threema img{background-color:#2A2A2A}.heateor_sss_vertical_sharing{position:fixed;left:11px;z-index:99999}.heateor-total-share-count .sss_share_count{color:#666;font-size:23px}.heateor-total-share-count .sss_share_lbl{color:#666}.amp-wp-enforced-sizes img[alt="Pinterest"]{background:#cc2329}.amp-wp-enforced-sizes img[alt="Viber"]{background:#8b628f}.amp-wp-enforced-sizes img[alt="Print"]{background:#fd6500}.amp-wp-enforced-sizes img[alt="Threema"]{background:#2a2a2a}.amp-wp-article-content .heateor_sss_vertical_sharing{left:5px}.amp-wp-article-content amp-img[alt="Pinterest"]{left:4px}.amp-wp-enforced-sizes img[alt="MySpace"]{background:#2a2a2a} amp-web-push-widget button.amp-subscribe { display: inline-flex; align-items: center; border-radius: 5px; border: 0; box-sizing: border-box; margin: 0; padding: 10px 15px; cursor: pointer; outline: none; font-size: 15px; font-weight: 500; background: #4A90E2; margin-top: 7px; color: white; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } a.heateor_sss_amp{padding:0 4px;}div.heateor_sss_horizontal_sharing a amp-img{display:inline-block;}.heateor_sss_amp_gab img{background-color:#25CC80}.heateor_sss_amp_parler img{background-color:#892E5E}.heateor_sss_amp_gettr img{background-color:#E50000}.heateor_sss_amp_instagram img{background-color:#624E47}.heateor_sss_amp_yummly img{background-color:#E16120}.heateor_sss_amp_youtube img{background-color:#ff0000}.heateor_sss_amp_teams img{background-color:#5059c9}.heateor_sss_amp_google_translate img{background-color:#528ff5}.heateor_sss_amp_x img{background-color:#2a2a2a}.heateor_sss_amp_rutube img{background-color:#14191f}.heateor_sss_amp_buffer img{background-color:#000}.heateor_sss_amp_delicious img{background-color:#53BEEE}.heateor_sss_amp_rss img{background-color:#e3702d}.heateor_sss_amp_facebook img{background-color:#0765FE}.heateor_sss_amp_perplexity img{background-color:#165962}.heateor_sss_amp_claude img{background-color:#D97757}.heateor_sss_amp_google_ai img{background-color:#000}.heateor_sss_amp_grok img{background-color:#000}.heateor_sss_amp_chatgpt img{background-color:#000}.heateor_sss_amp_digg img{background-color:#006094}.heateor_sss_amp_email img{background-color:#649A3F}.heateor_sss_amp_float_it img{background-color:#53BEEE}.heateor_sss_amp_linkedin img{background-color:#0077B5}.heateor_sss_amp_pinterest img{background-color:#CC2329}.heateor_sss_amp_print img{background-color:#FD6500}.heateor_sss_amp_reddit img{background-color:#FF5700}.heateor_sss_amp_mastodon img{background-color:#6364FF}.heateor_sss_amp_stocktwits img{background-color: #40576F}.heateor_sss_amp_mewe img{background-color:#007da1}.heateor_sss_amp_mix img{background-color:#ff8226}.heateor_sss_amp_tumblr img{background-color:#29435D}.heateor_sss_amp_twitter img{background-color:#55acee}.heateor_sss_amp_vkontakte img{background-color:#0077FF}.heateor_sss_amp_yahoo img{background-color:#8F03CC}.heateor_sss_amp_xing img{background-color:#00797D}.heateor_sss_amp_instagram img{background-color:#527FA4}.heateor_sss_amp_whatsapp img{background-color:#55EB4C}.heateor_sss_amp_aim img{background-color: #10ff00}.heateor_sss_amp_amazon_wish_list img{background-color: #ffe000}.heateor_sss_amp_aol_mail img{background-color: #2A2A2A}.heateor_sss_amp_app_net img{background-color: #5D5D5D}.heateor_sss_amp_balatarin img{background-color: #fff}.heateor_sss_amp_bibsonomy img{background-color: #000}.heateor_sss_amp_bitty_browser img{background-color: #EFEFEF}.heateor_sss_amp_blinklist img{background-color: #3D3C3B}.heateor_sss_amp_blogger_post img{background-color: #FDA352}.heateor_sss_amp_blogmarks img{background-color: #535353}.heateor_sss_amp_bookmarks_fr img{background-color: #E8EAD4}.heateor_sss_amp_box_net img{background-color: #1A74B0}.heateor_sss_amp_buddymarks img{background-color: #ffd400}.heateor_sss_amp_care2_news img{background-color: #6EB43F}.heateor_sss_amp_comment img{background-color: #444}.heateor_sss_amp_diary_ru img{background-color: #E8D8C6}.heateor_sss_amp_diaspora img{background-color: #2E3436}.heateor_sss_amp_dihitt img{background-color: #FF6300}.heateor_sss_amp_diigo img{background-color: #4A8BCA}.heateor_sss_amp_douban img{background-color: #497700}.heateor_sss_amp_draugiem img{background-color: #ffad66}.heateor_sss_amp_evernote img{background-color: #8BE056}.heateor_sss_amp_facebook_messenger img{background-color: #0084FF}.heateor_sss_amp_fark img{background-color: #555}.heateor_sss_amp_fintel img{background-color: #087515}.heateor_sss_amp_flipboard img{background-color: #CC0000}.heateor_sss_amp_folkd img{background-color: #0F70B2}.heateor_sss_amp_google_news img{background-color: #4285F4}.heateor_sss_amp_google_classroom img{background-color: #FFC112}.heateor_sss_amp_google_gmail img{background-color: #E5E5E5}.heateor_sss_amp_hacker_news img{background-color: #F60}.heateor_sss_amp_hatena img{background-color: #00A6DB}.heateor_sss_amp_instapaper img{background-color: #EDEDED}.heateor_sss_amp_jamespot img{background-color: #FF9E2C}.heateor_sss_amp_kakao img{background-color: #FCB700}.heateor_sss_amp_kik img{background-color: #2A2A2A}.heateor_sss_amp_kindle_it img{background-color: #2A2A2A}.heateor_sss_amp_known img{background-color: #fff101}.heateor_sss_amp_line img{background-color: #00C300}.heateor_sss_amp_livejournal img{background-color: #EDEDED}.heateor_sss_amp_mail_ru img{background-color: #356FAC}.heateor_sss_amp_mendeley img{background-color: #A70805}.heateor_sss_amp_meneame img{background-color: #FF7D12}.heateor_sss_amp_mixi img{background-color: #EDEDED}.heateor_sss_amp_myspace img{background-color: #2A2A2A}.heateor_sss_amp_netlog img{background-color: #2A2A2A}.heateor_sss_amp_netvouz img{background-color: #c0ff00}.heateor_sss_amp_newsvine img{background-color: #055D00}.heateor_sss_amp_nujij img{background-color: #D40000}.heateor_sss_amp_odnoklassniki img{background-color: #F2720C}.heateor_sss_amp_oknotizie img{background-color: #fdff88}.heateor_sss_amp_outlook_com img{background-color: #0072C6}.heateor_sss_amp_papaly img{background-color: #3AC0F6}.heateor_sss_amp_pinboard img{background-color: #1341DE}.heateor_sss_amp_plurk img{background-color: #CF682F}.heateor_sss_amp_pocket img{background-color: #ee4056}.heateor_sss_amp_polyvore img{background-color: #2A2A2A}.heateor_sss_amp_printfriendly img{background-color: #61D1D5}.heateor_sss_amp_protopage_bookmarks img{background-color: #413FFF}.heateor_sss_amp_pusha img{background-color: #0072B8}.heateor_sss_amp_qzone img{background-color: #2B82D9}.heateor_sss_amp_refind img{background-color: #1492ef}.heateor_sss_amp_rediff_mypage img{background-color: #D20000}.heateor_sss_amp_renren img{background-color: #005EAC}.heateor_sss_amp_segnalo img{background-color: #fdff88}.heateor_sss_amp_sina_weibo img{background-color: #ff0}.heateor_sss_amp_sitejot img{background-color: #ffc800}.heateor_sss_amp_skype img{background-color: #00AFF0}.heateor_sss_amp_sms img{background-color: #6ebe45}.heateor_sss_amp_slashdot img{background-color: #004242}.heateor_sss_amp_stumpedia img{background-color: #EDEDED}.heateor_sss_amp_svejo img{background-color: #fa7aa3}.heateor_sss_amp_symbaloo_feeds img{background-color: #6DA8F7}.heateor_sss_amp_telegram img{background-color: #3DA5f1}.heateor_sss_amp_trello img{background-color: #1189CE}.heateor_sss_amp_tuenti img{background-color: #0075C9}.heateor_sss_amp_twiddla img{background-color: #EDEDED}.heateor_sss_amp_typepad_post img{background-color: #2A2A2A}.heateor_sss_amp_viadeo img{background-color: #2A2A2A}.heateor_sss_amp_viber img{background-color: #8B628F}.heateor_sss_amp_wordpress img{background-color: #464646}.heateor_sss_amp_wykop img{background-color: #367DA9}.heateor_sss_amp_yahoo_mail img{background-color: #400090}.heateor_sss_amp_yahoo_messenger img{background-color: #400090}.heateor_sss_amp_youmob img{background-color: #3B599D}.heateor_sss_amp_gentlereader img{background-color: #46aecf}.heateor_sss_amp_threema img{background-color: #2A2A2A}.heateor_sss_amp_bluesky img{background-color:#0085ff}.heateor_sss_amp_threads img{background-color:#000}.heateor_sss_amp_raindrop img{background-color:#0b7ed0}.heateor_sss_amp_micro_blog img{background-color:#ff8800}.heateor_sss_amp amp-img{border-radius:999px;} .amp-logo amp-img{width:190px} .amp-menu input{display:none;}.amp-menu li.menu-item-has-children ul{display:none;}.amp-menu li{position:relative;display:block;}.amp-menu > li a{display:block;} /* Inline styles */ div.acss138d7{clear:both;}div.acssf5b84{--relposth-columns:3;--relposth-columns_m:2;--relposth-columns_t:2;}div.acssae964{aspect-ratio:1/1;background:transparent no-repeat scroll 0% 0%;height:150px;max-width:150px;}div.acss6bdea{color:#333333;font-family:Arial;font-size:12px;height:75px;}div.acsse3e3c{font-weight:bold;}amp-img.acss334b9{max-width:35px;} .icon-widgets:before {content: "\e1bd";}.icon-search:before {content: "\e8b6";}.icon-shopping-cart:after {content: "\e8cc";}
Wiki

Что такое VueJS — Обзор

От автора: что такое VueJS? Это прогрессивный JavaScript фреймворк с открытым исходным кодом, предназначенный для разработки пользовательского интерфейса. Он является одним из самых популярных фреймворков для упрощения веб-разработки. VueJS работает в основном с уровнем представления. Его с лёгкостью можно интегрировать в большие проекты для фронт-енд разработки.

Устанавливается VueJS очень просто. Для разработчика разобраться в нем и начать создавать пользовательские веб-интерфейсы – это всего лишь вопрос небольшого времени. Создателем VueJS является Эван Ю (Evan You), бывший сотрудник Google. Релиз первой версии VueJS состоялся в феврале 2014. Недавно количество его звёзд на GitHub достигло 64828, что говорит о чрезвычайной популярности VueJS.

Функции

Ниже представлены функции VueJS.

Virtual DOM

VueJS использует Virtual DOM, как и такие известные фреймворки, как React, Ember и т.д. Изменения не вносятся в DOM, а создаётся копия DOM, выступающая в форме JavaScript структуры данных. Если нужно внести изменения, то они вносятся в JavaScript структуры данных, и последние сравниваются с исходной структурой данных. Потом окончательные изменения вносятся в реальный DOM, и их пользователь уже сможет наблюдать. Такой подход хорош в плане оптимизации, он не требует задействования большого количества ресурсов и изменения будут происходить гораздо быстрее.

Привязка данных

Функция привязки данных помогает управлять значениями или присваивать их HTML-атрибутам, изменять стили, присваивать классы с помощью привязывающей директивы VueJS v-bind.

Компоненты

Компоненты – это очень важная функция VueJS, помогающая создать пользовательскме элементы, которые можно повторно использовать в HTML.

Управление событиями

v-on – это атрибут, который добавляется к элементам DOM, чтобы прослушивать события в VueJS.

Анимация/Переходы

VueJS обеспечивает множество способов применять переходы к HTML-элементам, когда их добавляют /обновляют или убирают из DOM. VueJS имеет встроенный компонент переходов, который нужно обернуть вокруг элемента для создания эффекта перехода. Можно также легко добавить сторонние библиотеки анимации.

Вычисляемые свойства

Это следующая важная функция VueJS. Она помогает прослушивать изменения, внесённые в элементы UI, и выполняет необходимые вычисления. Для этого нам не нужно писать дополнительный код.

Шаблоны

VueJS представляет шаблоны, основанные на HTML, которые связывают DOM с данными экземпляра Vue. Vue компилирует шаблоны в функции Render виртуального DOM. Вы можете использовать шаблон функций Render, для этого нужно заменить шаблон render-функцией.

Директивы

VueJS имеет такие встроенные директивы как v-if, v-else, v-show, v-on, v-bind и v-model, которые используются для выполнения различных действий во фронт-енд.

Наблюдатели

Наблюдатели применяются к изменяемым данным. Например, для вводимых элементов. В данном случае нам не нужно добавлять дополнительные события. Наблюдатель следит за изменениями данных, этим самым делая код проще и быстрее.

Маршрутизация

Навигация между страницами выполняется с помощью vue-router.

Компактность

VueJS скрипт очень компактный, что обеспечивает высокую производительность.

Vue-CLI

VueJS может быть установлен из командной строки с помощью интерфейса командной строки vue-cli. Он помогает быстро создавать и компилировать проект с помощью vue-cli.

Сравнение с другими фреймворками

Давайте теперь сравним VueJS с такими фрейморками как React, Angular, Ember, Knockout и Polymer.

VueJS и React

Virtual DOM

Virtual DOM – это виртуальное представление дерева DOM. Благодаря виртуальному DOM создаётся тот же самый объект JavaScript, что и в настоящем DOM. Каждый раз, когда нам нужно внести изменения в DOM, создаётся новый JavaScript объект и выполняются изменения. Позже оба JavaScript объекта сравниваются и финальные изменения вносятся в реальный DOM.


И VueJS, и React используют виртуальный DOM, что ускоряет их работу.

Шаблон и JSX

VueJS использует html, js и css по отдельности. Начинающему разработчику не составит труда разобраться и освоить стиль VueJS. Подход VueJS, основанный на шаблонах – это очень просто. React использует jsx-подход. Для ReactJS абсолютно всё – это JavaScript. HTML и CSS являются частью JavaScript.

Программы установки

React использует create react app, а VueJS – vue-cli /CDN/npm. Оба фреймворка просты в использовании, а проект отвечает всем базовым требованиям. В отличие от VueJS, React для создания нуждается в webpack. В случае VueJS мы можем начать кодировать в jsfiddle или codepen, используя библиотеку cdn.

Популярность

React более популярен, чем VueJS. Освоив React, вы будете иметь больше возможностей трудоустройства, чем в случае с VueJS. Причина большей популярности React заключается в имени, стоящем за ним — то есть Facebook. Так как React использует основные понятия JavaScript, он применяет также его наилучшие практики. Разработчик, работающий с React точно будет хорошо разбираться в JavaScript.

VueJS – это развивающийся фреймворк. На данный момент возможность трудоустройства со знанием VueJS ниже, чем с React. Согласно данным опросов, много людей уже постепенно адаптируются к VueJS, то есть в будущем он действительно может стать более широко используемым, чем React и Angular. Над различными функциями VueJS работают члены очень активного сообщества. Это сообщество поддерживает vue-router и регулярно выпускает обновления к нему.

VueJS перенял различные преимущества Angular и React и построил эффективную библиотеку. VueJS намного быстрее по сравнению с React/Angular благодаря его легкой библиотеке.

VueJS и Angular

Схожие черты

VueJS во многом схож с Angular. Такие директивы как v-if, v-for почти идентичны ngIf, ngFor в Angular. Они оба имеют интерфейс командной строки для установки и создания проекта. VueJS использует Vue-cli, а Angular – angular-cli. Оба предлагают двухстороннюю привязку данных, рендеринг на стороне сервера и т.д.

Сложности в работе

Начать работу с Vuejs очень просто. Как было сказано раннее, начинающий разработчик может взять CDN библиотеку в VueJS и начать работать в codepen и jsfiddle.

Что касается Angular, то нам придётся пройти несколько этапов установки; начать работу с Angular новичкам будет немного сложнее. Для написания кода он использует TypeScript, что сложно для людей, которые имеют только опыт работы с JavaScript. А вот пользователям с опытом работы с Java и C# будет однозначно проще.

Производительность

Именно пользователи принимают решения по поводу производительности. Размер файла VueJS гораздо легче, чем размер файла Angular. Со сравнением производительности фреймворков можно ознакомиться по следующей ссылке http://stefankrause.net/js-frameworks-benchmark4/webdriver-ts/table.html

Популярность

На сегодняшний день Angular более популярен, чем VueJS. Многие организации используют Angular, и возможностей трудоустройства с Angular гораздо больше. Однако, VueJS продолжает занимать стойкую позицию на рынке и может считаться хорошим конкурентом Angular и React.

Зависимости

Angular предоставляет много встроенных функций. Чтобы начать, нам нужно импортировать необходимые модули, например, @angular/animations, @angular/form. VueJS не имеет всех встроенных функций Angular и для работы с ним понадобятся сторонние библиотеки.

Гибкость

VueJS можно спокойно объединять с любым другим большим проектом. В отличие от Angular, который не так просто интегрировать с другим существующим проектом.

Совместимость с предыдущими версиями

Раньше были выпущены AngularJS, Angular2, а теперь мы имеем Angular4. AngularJS и Angular2 очень сильно отличаются друг от друга. Приложение проекта, разработанное в AngularJS не может быть конвертировано в Angular2 из-за базовых отличий.

Крайняя версия VueJS – это 2.0, она совместима с предыдущей версией. Также предоставляется доступная для понимания документация.

Typescript

Angular использует TypeScript для написания кода. Для начала работы с Angular пользователи должны хорошо знать Typescript. Между тем, с VueJS мы можем прописывать код в jsfiddle или codepen, используя библиотеку cdn. Здесь мы можем работать со стандартным JavaScript, что обеспечивает нам неплохой старт.

VueJS и Ember

Схожие черты

Ember предоставляет инструмент командной строки Ember, то есть ember-cli, для простой установки и компиляции проектов Ember. VueJS также имеет инструмент командной строки vue-cli для запуска и создания проектов. Оба они содержат такие функции как роутер, шаблон и компоненты, которые делают их очень эффективными UI фреймворками.

Производительность

По сравнению с Ember, VueJS может похвастаться лучшей производительностью. Ember добавил механизм визуализации мерцания с целью улучшить производительность повторной визуализации, что напоминает virtual DOM, используемый VueJS и React. Однако, VueJS имеет лучшую производительность, чем Ember.

VueJS и Knockout

Knockout имеет хорошую поддержку браузерами. Он поддерживается минимальной версией IE, в то время как VueJS не поддерживается в IE8 и ниже. Поддержка Knockout в последнее время немного сбавила темпы, поэтому с недавних пор он уже не так популярен. VueJS, в свою очередь, набрал популярность благодаря команде Vue, которая регулярно выпускает обновления.

VueJS и Polymer

Библиотека Polymer была разработана в Google. Она используется во многих проектах Google, например, Google I/O, Google Earth, Google Play Music и других. Как и VueJS, она представляет привязку данных и вычисляемые свойства.

Определение пользовательского элемента в Polymer включает в себя простой JavaScript/CSS, свойства элемента, жизненные циклы и методы JavaScript. А VueJS позволяет легко и просто использовать JavaScript/html и CSS.

Polymer использует функции веб-компонентов и для него требуются полифиллы для обеспечения поддержки браузерами этих функций. VueJS не имеет таких зависимостей и прекрасно работает со всеми браузерами от IE9 и выше.

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Поделится
Admin

Поделится
Published by
Admin

Recent Posts