{"id":349607,"date":"2023-06-30T15:01:07","date_gmt":"2023-06-30T15:01:07","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=349607"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=349607","title":{"rendered":"<span>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0435\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0434\u043b\u044f Vue 3<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b \u0438 \u0443\u0434\u043e\u0431\u043d\u044b \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043d\u043e \u0443 \u043d\u0438\u0445 \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041e\u0434\u043d\u043e \u0434\u0435\u043b\u043e, \u043a\u043e\u0433\u0434\u0430 \u0434\u0435\u043b\u0430\u0435\u0448\u044c \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0448\u044c \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u0434\u0440\u0443\u0433\u043e\u0435 &#8212; \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u0431\u0435 \u043d\u0430\u0434\u043e \u0432\u0441\u0435\u0433\u043e \u043f\u0430\u0440\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442.<\/p>\n<p>\u0411\u044b\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 &#8212; \u0432\u0437\u044f\u0442\u044b \u0442\u0440\u0438 HTML \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: Button, Input \u0438 Select, \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0442\u0441\u044f js \u0438 css \u0431\u0430\u043d\u0434\u043b\u044b \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0438\u0445 \u043e\u0434\u043d\u0443 \u0438\u0437 10 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 UI \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f Vue 3.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0442\u0438\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u0436\u0435\u043b\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 Button &#8212; \u044d\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442 \u043a\u043e\u0434\u0430 \u0438 \u0441\u0442\u0438\u043b\u0435\u0439. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441, \u0441\u043a\u043e\u043b\u044c\u043a\u043e &#171;\u0434\u043e\u0432\u0435\u0441\u043a\u0430&#187; \u0434\u0430\u0451\u0442 \u043a\u0430\u0436\u0434\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043a \u044d\u0442\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442\u0430\u043c.<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442 javascript-a \u0434\u0430\u0451\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043f\u0440\u044f\u043c\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 UX. \u0418 \u043d\u0430 DX.<\/p>\n<h2>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>\u041f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043b\u044d\u0439\u0430\u0443\u0442\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0442\u0435\u043c \u0438 \u043f\u0440\u043e\u0447\u0438\u0439 \u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e footprint \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043d\u0430 \u043f\u0443\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435.<\/p>\n<p>\u041a\u043e\u0434 \u0442\u0435\u0441\u0442\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 <a href=\"https:\/\/github.com\/altrusl\/ui-kit-test\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/a>. \u041a\u0430\u0436\u0434\u043e\u0439 UI \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0432\u043e\u044f \u0432\u0435\u0442\u043a\u0430 (branch) \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.<\/p>\n<p>\u041a\u0430\u0436\u0434\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0435\u0451 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0437\u0430\u0432\u0435\u043b\u0438\u0441\u044c \u0441\u0440\u0430\u0437\u0443 CSS \u0441\u0442\u0438\u043b\u0438. \u041d\u0430\u0431\u043e\u0440\u044b \u0438\u043a\u043e\u043d\u043e\u043a \u0434\u043b\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u0441\u0442\u0430\u0432\u0438\u043b\u0438\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Select \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0435\u0444\u0435\u043a\u0442.<\/p>\n<p>\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438, \u043f\u043e\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0438 \u0441\u0435\u043b\u0435\u043a\u0442\u0430 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445:<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b<\/summary>\n<div class=\"spoiler__content\">\n<p>Vue 3 &amp; HTML<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/242\/845\/a8e\/242845a8e6b2be945cf6c327e3dcd00a.png\" width=\"478\" height=\"126\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/242\/845\/a8e\/242845a8e6b2be945cf6c327e3dcd00a.png\"\/><\/figure>\n<p>Vuetify<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6b0\/b3d\/629\/6b0b3d629d81427e95f4eecdbe661a07.png\" width=\"319\" height=\"439\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6b0\/b3d\/629\/6b0b3d629d81427e95f4eecdbe661a07.png\"\/><\/figure>\n<p>Quasar<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/797\/601\/dba\/797601dba32a9e713c1716f36a80ebd8.png\" width=\"283\" height=\"413\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/797\/601\/dba\/797601dba32a9e713c1716f36a80ebd8.png\"\/><\/figure>\n<p>PrimeVue<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f3c\/fa1\/46e\/f3cfa146ed6013c999def77b428ae27a.png\" width=\"499\" height=\"295\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f3c\/fa1\/46e\/f3cfa146ed6013c999def77b428ae27a.png\"\/><\/figure>\n<p>PrimeVue<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/10a\/376\/2ae\/10a3762ae3f26ff9dddca773a2be186d.png\" width=\"555\" height=\"344\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/10a\/376\/2ae\/10a3762ae3f26ff9dddca773a2be186d.png\"\/><\/figure>\n<p>Ant Design for Vue<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3d8\/976\/551\/3d89765512199b715f45c85fb3088a25.png\" width=\"504\" height=\"296\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3d8\/976\/551\/3d89765512199b715f45c85fb3088a25.png\"\/><\/figure>\n<p>Vant UI<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bf2\/d7b\/a4b\/bf2d7ba4bf843589d6160e93c2bc8c6a.png\" width=\"401\" height=\"310\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bf2\/d7b\/a4b\/bf2d7ba4bf843589d6160e93c2bc8c6a.png\"\/><\/figure>\n<p>Naive UI<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/631\/da0\/428\/631da0428a9617a73125c82023bb83fe.png\" width=\"320\" height=\"269\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/631\/da0\/428\/631da0428a9617a73125c82023bb83fe.png\"\/><\/figure>\n<p>Vuestic UI<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3e4\/e44\/242\/3e4e4424201f3fd16d8ad5af5417bd34.png\" width=\"619\" height=\"250\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3e4\/e44\/242\/3e4e4424201f3fd16d8ad5af5417bd34.png\"\/><\/figure>\n<p>Agnostic UI<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3d2\/8cb\/461\/3d28cb461dae9fb2573b4434cd9d9eb2.png\" width=\"271\" height=\"328\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3d2\/8cb\/461\/3d28cb461dae9fb2573b4434cd9d9eb2.png\"\/><\/figure>\n<p>Vanilla Components<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f89\/ce7\/104\/f89ce71042571f845db4e9cc084a22b0.png\" width=\"351\" height=\"113\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f89\/ce7\/104\/f89ce71042571f845db4e9cc084a22b0.png\"\/><\/figure>\n<\/p>\n<\/div>\n<\/details>\n<h2>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/h2>\n<p>\u0421\u0440\u0435\u0434\u0430:<em> Node v18, Pnpm v8.3, Vue v3.2, Vite v4.3.9<\/em><\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0431\u0430\u043d\u0434\u043b\u043e\u0432 (\u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u043d\u043e):<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"center\">\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"center\">Size <strong>js<\/strong>, KB<\/p>\n<\/td>\n<td>\n<p align=\"center\">Size <strong>css<\/strong>, KB<\/p>\n<\/td>\n<td>\n<p align=\"center\">GitHub stars (K)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vue 3 &amp; HTML<\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">52<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"right\">\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vuetify 3  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">203<\/p>\n<\/td>\n<td>\n<p align=\"right\">72<\/p>\n<\/td>\n<td>\n<p align=\"right\">37.4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Quasar  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">178<\/p>\n<\/td>\n<td>\n<p align=\"right\">201<\/p>\n<\/td>\n<td>\n<p align=\"right\">23.8<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> PrimeVue  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">138<\/p>\n<\/td>\n<td>\n<p align=\"right\">159<\/p>\n<\/td>\n<td>\n<p align=\"right\">3.9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Element Plus  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">843<\/p>\n<\/td>\n<td>\n<p align=\"right\">325<\/p>\n<\/td>\n<td>\n<p align=\"right\">20.4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Ant Design <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">1132<\/p>\n<\/td>\n<td>\n<p align=\"right\">598<\/p>\n<\/td>\n<td>\n<p align=\"right\">18.3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vant UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">87<\/p>\n<\/td>\n<td>\n<p align=\"right\">192<\/p>\n<\/td>\n<td>\n<p align=\"right\">21.5<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vuestic UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">515<\/p>\n<\/td>\n<td>\n<p align=\"right\">186<\/p>\n<\/td>\n<td>\n<p align=\"right\">2.9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Naive UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">313<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"right\">13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Agnostic UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">67<\/p>\n<\/td>\n<td>\n<p align=\"right\">97<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.64<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vanilla Components  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">650<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.15<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0435. Vuetify \u0438 Quasar \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u0442\u044f\u0436\u0435\u043b\u044b, \u043d\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u0443\u044e\u0442 \u0441\u0435\u0431\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043a\u0430\u043a &#171;<strong><em>lightweight<\/em><\/strong><em>, flexible &amp; customizale UI library for Vue 3<\/em>&#171;. \u041d\u0443 \u0438 \u0443 \u0432\u0441\u0435\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, <strong>tree-shaking<\/strong>. \u0420\u0430\u0434\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430, \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 \u043a\u0432\u0430\u0437\u0430\u0440\u043e\u0432\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 QTable \u043a\u0430\u043a \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 &#8212; js \u0431\u0430\u043d\u0434\u043b \u043f\u043e\u0434\u0440\u043e\u0441 \u043d\u0430 \u0435\u0449\u0435 30 \u041a\u0411<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u044b \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0438 \u0438\u0445 \u043d\u0430\u0434\u043e \u043c\u043d\u043e\u0433\u043e, \u0442\u043e <strong>Quasar<\/strong> \u0438 <strong>PrimeVue<\/strong> \u0432\u043d\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0446\u0438\u0438. <strong>Vuetify<\/strong> \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435\u043f\u043b\u043e\u0445\u043e, \u043d\u043e \u0434\u0438\u0441\u043a\u0440\u0435\u0434\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0441\u0435\u0431\u044f \u0434\u043e\u043b\u0433\u0438\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043d\u0430 Vue 3 (\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439) \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043d\u0435\u043f\u043e\u043b\u043d\u043e\u0442\u043e\u0439.<\/p>\n<p><strong>Ant Design for Vue<\/strong> \u0438 <strong>Element Plus<\/strong> \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u0432 \u0430\u0443\u0442\u0441\u0430\u0439\u0434\u0435\u0440\u0430\u0445.<\/p>\n<p><a href=\"https:\/\/www.naiveui.com\/\" rel=\"noopener noreferrer nofollow\"><strong>Naive UI<\/strong><\/a> \u0437\u0430\u0441\u0443\u043d\u0443\u043b\u0430 \u0441\u0442\u0438\u043b\u0438 \u0432 js \u0431\u0430\u043d\u0434\u043b (\u0438\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0438\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u043b\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0439 \u0441\u043e \u0441\u0442\u0438\u043b\u044f\u043c\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u043e\u0447\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0435\u0439 \u0447\u0442\u043e-\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e. \u041d\u043e \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u044b\u0439.<\/p>\n<p>\u041e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d <a href=\"https:\/\/vant-ui.github.io\/\" rel=\"noopener noreferrer nofollow\"><strong>Vant UI<\/strong><\/a> \u043a\u0430\u043a \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c, \u0442\u0430\u043a \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043f\u043e\u0434\u0431\u043e\u0440\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0438 \u043a\u043e\u043c\u043f\u043e\u0437\u0430\u0431\u043b\u043e\u0432. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u0441\u0432\u0430\u0439\u043f\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435). \u041f\u0440\u043e\u0435\u043a\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0443 \u043d\u0435\u0433\u043e GitHub \u0437\u0432\u0435\u0437\u0434 \u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a \u0443 Quazar-a, \u0445\u043e\u0442\u044f \u043e\u043d \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439.<\/p>\n<p>\u041d\u0443 \u0438 \u043f\u0435\u0440\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e &#8212; <a href=\"https:\/\/www.agnosticui.com\/\" rel=\"noopener noreferrer nofollow\"><strong>Agnostic UI<\/strong><\/a>. \u0423 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0447\u0438\u0441\u0442\u043e \u0441 CSS, \u043d\u043e \u0438 \u0441 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u044e\u0449\u0438\u0439. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043d\u0435 \u0442\u0430\u043a\u0438\u0435 \u0431\u043e\u0433\u0430\u0442\u044b\u0435 \u0438 \u043f\u0440\u0438\u043b\u0438\u0437\u0430\u043d\u043d\u044b\u0435, \u043a\u0430\u043a \u0443 Vuetify \u0438\u043b\u0438 Element Plus, \u043d\u043e \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0432\u0435\u0441\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430.<\/p>\n<p>\u0410, \u0432\u043e\u043e\u0431\u0449\u0435, \u0441\u0432\u043e\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b (\u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u0447\u0442\u043e-\u0442\u043e \u0442\u0438\u043f\u0430 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u0434\u0430\u0442\u044b) &#8212; \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043b\u044f \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041d\u0443 \u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b-\u043e\u0431\u0451\u0440\u0442\u043a\u0438, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0448\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <\/p>\n<div class=\"tm-article-poll-container\">\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-article-poll__notice tm-notice_positive\"><!----> <\/p>\n<div class=\"tm-notice__inner\"><!----> <\/p>\n<div class=\"tm-notice__content\"><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/745012\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__header\">\u041a\u0430\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0434\u043b\u044f Vue \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435?<\/div>\n<div class=\"tm-article-poll__answers\">\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             25%           <\/span> <span class=\"tm-article-poll__answer-label\">Quasar<\/span> <span class=\"tm-article-poll__answer-votes\">             6           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:25%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             25%           <\/span> <span class=\"tm-article-poll__answer-label\">Vuetify<\/span> <span class=\"tm-article-poll__answer-votes\">             6           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:25%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             20.83%           <\/span> <span class=\"tm-article-poll__answer-label\">PrimeVue<\/span> <span class=\"tm-article-poll__answer-votes\">             5           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:20.83%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Ant Design<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Vuestic UI<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             4.17%           <\/span> <span class=\"tm-article-poll__answer-label\">Element Plus<\/span> <span class=\"tm-article-poll__answer-votes\">             1           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:4.17%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             4.17%           <\/span> <span class=\"tm-article-poll__answer-label\">Naive UI<\/span> <span class=\"tm-article-poll__answer-votes\">             1           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:4.17%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Agnostic UI<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             4.17%           <\/span> <span class=\"tm-article-poll__answer-label\">Vanilla Vue<\/span> <span class=\"tm-article-poll__answer-votes\">             1           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:4.17%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Vant UI<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">             37.5%           <\/span> <span class=\"tm-article-poll__answer-label\">\u041f\u0438\u0448\u0443 \u0441\u0432\u043e\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b<\/span> <span class=\"tm-article-poll__answer-votes\">             9           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width:37.5%;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__stats\">        \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 24 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.           \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u0438\u0441\u044c 6 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.      <\/div>\n<\/div>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/745012\/\"> https:\/\/habr.com\/ru\/articles\/745012\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b \u0438 \u0443\u0434\u043e\u0431\u043d\u044b \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043d\u043e \u0443 \u043d\u0438\u0445 \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041e\u0434\u043d\u043e \u0434\u0435\u043b\u043e, \u043a\u043e\u0433\u0434\u0430 \u0434\u0435\u043b\u0430\u0435\u0448\u044c \u0430\u0434\u043c\u0438\u043d\u043a\u0443 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0448\u044c \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u0434\u0440\u0443\u0433\u043e\u0435 &#8212; \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u0431\u0435 \u043d\u0430\u0434\u043e \u0432\u0441\u0435\u0433\u043e \u043f\u0430\u0440\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442.<\/p>\n<p>\u0411\u044b\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 &#8212; \u0432\u0437\u044f\u0442\u044b \u0442\u0440\u0438 HTML \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: Button, Input \u0438 Select, \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0442\u0441\u044f js \u0438 css \u0431\u0430\u043d\u0434\u043b\u044b \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0438\u0445 \u043e\u0434\u043d\u0443 \u0438\u0437 10 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 UI \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f Vue 3.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0442\u0438\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u0436\u0435\u043b\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 Button &#8212; \u044d\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442 \u043a\u043e\u0434\u0430 \u0438 \u0441\u0442\u0438\u043b\u0435\u0439. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441, \u0441\u043a\u043e\u043b\u044c\u043a\u043e &#171;\u0434\u043e\u0432\u0435\u0441\u043a\u0430&#187; \u0434\u0430\u0451\u0442 \u043a\u0430\u0436\u0434\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043a \u044d\u0442\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442\u0430\u043c.<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442 javascript-a \u0434\u0430\u0451\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043f\u0440\u044f\u043c\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 UX. \u0418 \u043d\u0430 DX.<\/p>\n<h2>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>\u041f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043b\u044d\u0439\u0430\u0443\u0442\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0442\u0435\u043c \u0438 \u043f\u0440\u043e\u0447\u0438\u0439 \u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e footprint \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043d\u0430 \u043f\u0443\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435.<\/p>\n<p>\u041a\u043e\u0434 \u0442\u0435\u0441\u0442\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 <a href=\"https:\/\/github.com\/altrusl\/ui-kit-test\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/a>. \u041a\u0430\u0436\u0434\u043e\u0439 UI \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0432\u043e\u044f \u0432\u0435\u0442\u043a\u0430 (branch) \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.<\/p>\n<p>\u041a\u0430\u0436\u0434\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0435\u0451 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0437\u0430\u0432\u0435\u043b\u0438\u0441\u044c \u0441\u0440\u0430\u0437\u0443 CSS \u0441\u0442\u0438\u043b\u0438. \u041d\u0430\u0431\u043e\u0440\u044b \u0438\u043a\u043e\u043d\u043e\u043a \u0434\u043b\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u0441\u0442\u0430\u0432\u0438\u043b\u0438\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Select \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0435\u0444\u0435\u043a\u0442.<\/p>\n<p>\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438, \u043f\u043e\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0438 \u0441\u0435\u043b\u0435\u043a\u0442\u0430 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445:<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b<\/summary>\n<div class=\"spoiler__content\">\n<p>Vue 3 &amp; HTML<\/p>\n<figure class=\"\"><\/figure>\n<p>Vuetify<\/p>\n<figure class=\"\"><\/figure>\n<p>Quasar<\/p>\n<figure class=\"\"><\/figure>\n<p>PrimeVue<\/p>\n<figure class=\"\"><\/figure>\n<p>PrimeVue<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>Ant Design for Vue<\/p>\n<figure class=\"\"><\/figure>\n<p>Vant UI<\/p>\n<figure class=\"\"><\/figure>\n<p>Naive UI<\/p>\n<figure class=\"\"><\/figure>\n<p>Vuestic UI<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>Agnostic UI<\/p>\n<figure class=\"\"><\/figure>\n<p>Vanilla Components<\/p>\n<figure class=\"\"><\/figure>\n<\/p>\n<\/div>\n<\/details>\n<h2>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/h2>\n<p>\u0421\u0440\u0435\u0434\u0430:<em> Node v18, Pnpm v8.3, Vue v3.2, Vite v4.3.9<\/em><\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0431\u0430\u043d\u0434\u043b\u043e\u0432 (\u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u043d\u043e):<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"center\">\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"center\">Size <strong>js<\/strong>, KB<\/p>\n<\/td>\n<td>\n<p align=\"center\">Size <strong>css<\/strong>, KB<\/p>\n<\/td>\n<td>\n<p align=\"center\">GitHub stars (K)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vue 3 &amp; HTML<\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">52<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"right\">\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vuetify 3  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">203<\/p>\n<\/td>\n<td>\n<p align=\"right\">72<\/p>\n<\/td>\n<td>\n<p align=\"right\">37.4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Quasar  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">178<\/p>\n<\/td>\n<td>\n<p align=\"right\">201<\/p>\n<\/td>\n<td>\n<p align=\"right\">23.8<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> PrimeVue  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">138<\/p>\n<\/td>\n<td>\n<p align=\"right\">159<\/p>\n<\/td>\n<td>\n<p align=\"right\">3.9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Element Plus  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">843<\/p>\n<\/td>\n<td>\n<p align=\"right\">325<\/p>\n<\/td>\n<td>\n<p align=\"right\">20.4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Ant Design <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">1132<\/p>\n<\/td>\n<td>\n<p align=\"right\">598<\/p>\n<\/td>\n<td>\n<p align=\"right\">18.3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vant UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">87<\/p>\n<\/td>\n<td>\n<p align=\"right\">192<\/p>\n<\/td>\n<td>\n<p align=\"right\">21.5<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vuestic UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">515<\/p>\n<\/td>\n<td>\n<p align=\"right\">186<\/p>\n<\/td>\n<td>\n<p align=\"right\">2.9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Naive UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">313<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"right\">13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Agnostic UI  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">67<\/p>\n<\/td>\n<td>\n<p align=\"right\">97<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.64<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"> Vanilla Components  <\/p>\n<\/td>\n<td data-colwidth=\"129\" width=\"129\">\n<p align=\"right\">650<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"right\">0.15<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0435. Vuetify \u0438 Quasar \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u0442\u044f\u0436\u0435\u043b\u044b, \u043d\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u0443\u044e\u0442 \u0441\u0435\u0431\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043a\u0430\u043a &#171;<strong><em>lightweight<\/em><\/strong><em>, flexible &amp; customizale UI library for Vue 3<\/em>&#171;. \u041d\u0443 \u0438 \u0443 \u0432\u0441\u0435\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, <strong>tree-shaking<\/strong>. \u0420\u0430\u0434\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430, \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 \u043a\u0432\u0430\u0437\u0430\u0440\u043e\u0432\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 QTable \u043a\u0430\u043a \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 &#8212; js \u0431\u0430\u043d\u0434\u043b \u043f\u043e\u0434\u0440\u043e\u0441 \u043d\u0430 \u0435\u0449\u0435 30 \u041a\u0411<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u044b \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0438 \u0438\u0445 \u043d\u0430\u0434\u043e \u043c\u043d\u043e\u0433\u043e, \u0442\u043e <strong>Quasar<\/strong> \u0438 <strong>PrimeVue<\/strong> \u0432\u043d\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0446\u0438\u0438. <strong>Vuetify<\/strong> \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435\u043f\u043b\u043e\u0445\u043e, \u043d\u043e \u0434\u0438\u0441\u043a\u0440\u0435\u0434\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0441\u0435\u0431\u044f \u0434\u043e\u043b\u0433\u0438\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043d\u0430 Vue 3 (\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439) \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043d\u0435\u043f\u043e\u043b\u043d\u043e\u0442\u043e\u0439.<\/p>\n<p><strong>Ant Design for Vue<\/strong> \u0438 <strong>Element Plus<\/strong> \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u0432 \u0430\u0443\u0442\u0441\u0430\u0439\u0434\u0435\u0440\u0430\u0445.<\/p>\n<p><a href=\"https:\/\/www.naiveui.com\/\" rel=\"noopener noreferrer nofollow\"><strong>Naive UI<\/strong><\/a> \u0437\u0430\u0441\u0443\u043d\u0443\u043b\u0430 \u0441\u0442\u0438\u043b\u0438 \u0432 js \u0431\u0430\u043d\u0434\u043b (\u0438\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0438\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u043b\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0439 \u0441\u043e \u0441\u0442\u0438\u043b\u044f\u043c\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u043e\u0447\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0435\u0439 \u0447\u0442\u043e-\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e. \u041d\u043e \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u044b\u0439.<\/p>\n<p>\u041e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d <a href=\"https:\/\/vant-ui.github.io\/\" rel=\"noopener noreferrer nofollow\"><strong>Vant UI<\/strong><\/a> \u043a\u0430\u043a \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c, \u0442\u0430\u043a \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u043f\u043e\u0434\u0431\u043e\u0440\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0438 \u043a\u043e\u043c\u043f\u043e\u0437\u0430\u0431\u043b\u043e\u0432. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u0441\u0432\u0430\u0439\u043f\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435). \u041f\u0440\u043e\u0435\u043a\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0443 \u043d\u0435\u0433\u043e GitHub \u0437\u0432\u0435\u0437\u0434 \u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a \u0443 Quazar-a, \u0445\u043e\u0442\u044f \u043e\u043d \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439.<\/p>\n<p>\u041d\u0443 \u0438 \u043f\u0435\u0440\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e &#8212; <a href=\"https:\/\/www.agnosticui.com\/\" rel=\"noopener noreferrer nofollow\"><strong>Agnostic UI<\/strong><\/a>. \u0423 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0447\u0438\u0441\u0442\u043e \u0441 CSS, \u043d\u043e \u0438 \u0441 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u044e\u0449\u0438\u0439. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043d\u0435 \u0442\u0430\u043a\u0438\u0435 \u0431\u043e\u0433\u0430\u0442\u044b\u0435 \u0438 \u043f\u0440\u0438\u043b\u0438\u0437\u0430\u043d\u043d\u044b\u0435, \u043a\u0430\u043a \u0443 Vuetify \u0438\u043b\u0438 Element Plus, \u043d\u043e \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0432\u0435\u0441\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430.<\/p>\n<p>\u0410, \u0432\u043e\u043e\u0431\u0449\u0435, \u0441\u0432\u043e\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b (\u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u0447\u0442\u043e-\u0442\u043e \u0442\u0438\u043f\u0430 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u0434\u0430\u0442\u044b) &#8212; \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043b\u044f \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041d\u0443 \u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b-\u043e\u0431\u0451\u0440\u0442\u043a\u0438, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0448\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <\/p>\n<div class=\"tm-article-poll-container\">\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-article-poll__notice tm-notice_positive\"><!----> <\/p>\n<div class=\"tm-notice__inner\"><!----> <\/p>\n<div class=\"tm-notice__content\"><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/745012\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__header\">\u041a\u0430\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 UI \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0434\u043b\u044f Vue \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435?<\/div>\n<div class=\"tm-article-poll__answers\">\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             25%           <\/span> <span class=\"tm-article-poll__answer-label\">Quasar<\/span> <span class=\"tm-article-poll__answer-votes\">             6           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:25%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             25%           <\/span> <span class=\"tm-article-poll__answer-label\">Vuetify<\/span> <span class=\"tm-article-poll__answer-votes\">             6           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:25%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             20.83%           <\/span> <span class=\"tm-article-poll__answer-label\">PrimeVue<\/span> <span class=\"tm-article-poll__answer-votes\">             5           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:20.83%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Ant Design<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Vuestic UI<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             4.17%           <\/span> <span class=\"tm-article-poll__answer-label\">Element Plus<\/span> <span class=\"tm-article-poll__answer-votes\">             1           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:4.17%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             4.17%           <\/span> <span class=\"tm-article-poll__answer-label\">Naive UI<\/span> <span class=\"tm-article-poll__answer-votes\">             1           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:4.17%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Agnostic UI<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             4.17%           <\/span> <span class=\"tm-article-poll__answer-label\">Vanilla Vue<\/span> <span class=\"tm-article-poll__answer-votes\">             1           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:4.17%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">             0%           <\/span> <span class=\"tm-article-poll__answer-label\">Vant UI<\/span> <span class=\"tm-article-poll__answer-votes\">             0           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width:0%;\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">             37.5%           <\/span> <span class=\"tm-article-poll__answer-label\">\u041f\u0438\u0448\u0443 \u0441\u0432\u043e\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b<\/span> <span class=\"tm-article-poll__answer-votes\">             9           <\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width:37.5%;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__stats\">        \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 24 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.           \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u0438\u0441\u044c 6 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.      <\/div>\n<\/div>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/745012\/\"> https:\/\/habr.com\/ru\/articles\/745012\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-349607","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/349607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=349607"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/349607\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=349607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=349607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=349607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}