TIL about specific Array combination types
https://dev.to/vanquard/til-about-specific-array-combination-types-28bo
Okay, so its not actually called "specific Array combination types", but that was the best description I had for it, before I looked it up.
Its actually called "Tuple Types" and the documentation can be found here: https://www.tutorialsteacher.com/typescript/typescript-tuple
I'll come back to why this blew my mind today, but first, lets scroll back a bit, to some of my first steps into JS/TS programming. I started my programming career in Java, and one of the things that annoyed the hell out of me, was the fact that I could only have 1 object returned from a function (This was before the Pair class was introduced).
But in JS we can easily just return an array with 2 values:
const someFunction = () => {
return ['Mathias', 28];
}
And combined with some destructuring on the recieving, it was all nice and easy:
const [myName, myAge] = someFunction();
Adding types
Until today I never had to add types onto a scenario like this, usually when I work with arrays, I either just do a basic string[], or when its required in complex object scenarios: Array<{name: string, age: number}>.
But with the tuples we can actually avoid naming them and just say the return type for our function is [string, number]:
const someFunction = (): [string, number] => {
return ['Mathias', 28];
}
Vue relation
I came across this when I working with Vue2 combined with TS, and was trying to create a v-for loop over a Map, but Vue2 did not support this, so I had to come up with a different approach that supported the same end goal.
So this is where the new tuples came in handy! Given an example with some data in a Map:
const map = new Map<string, object>();
map.set('key1', {data: 'lots of data'});
map.set('key2', {data: 'more data'});
I could then destructure it into an array like so:
const asArray = ...map.entries();
// Yielding:
[
['key1', {data: 'lots of data'}],
['key2', {data: 'more data'}],
]
And in order to Type this we now have:
const asArray: Array<[string, object]> = ...map.entries();
Thank you for reading this far, hope you gained something from this post.
https://dev.to/vanquard/til-about-specific-array-combination-types-28bo
Okay, so its not actually called "specific Array combination types", but that was the best description I had for it, before I looked it up.
Its actually called "Tuple Types" and the documentation can be found here: https://www.tutorialsteacher.com/typescript/typescript-tuple
I'll come back to why this blew my mind today, but first, lets scroll back a bit, to some of my first steps into JS/TS programming. I started my programming career in Java, and one of the things that annoyed the hell out of me, was the fact that I could only have 1 object returned from a function (This was before the Pair class was introduced).
But in JS we can easily just return an array with 2 values:
const someFunction = () => {
return ['Mathias', 28];
}
And combined with some destructuring on the recieving, it was all nice and easy:
const [myName, myAge] = someFunction();
Adding types
Until today I never had to add types onto a scenario like this, usually when I work with arrays, I either just do a basic string[], or when its required in complex object scenarios: Array<{name: string, age: number}>.
But with the tuples we can actually avoid naming them and just say the return type for our function is [string, number]:
const someFunction = (): [string, number] => {
return ['Mathias', 28];
}
Vue relation
I came across this when I working with Vue2 combined with TS, and was trying to create a v-for loop over a Map, but Vue2 did not support this, so I had to come up with a different approach that supported the same end goal.
So this is where the new tuples came in handy! Given an example with some data in a Map:
const map = new Map<string, object>();
map.set('key1', {data: 'lots of data'});
map.set('key2', {data: 'more data'});
I could then destructure it into an array like so:
const asArray = ...map.entries();
// Yielding:
[
['key1', {data: 'lots of data'}],
['key2', {data: 'more data'}],
]
And in order to Type this we now have:
const asArray: Array<[string, object]> = ...map.entries();
Thank you for reading this far, hope you gained something from this post.
DEV Community
TIL about specific Array combination types
Okay, so its not actually called "specific Array combination types", but that was the best...
NuxtJS v.2.15.8. How to hide private keys?
https://dev.to/vadiminsk/nuxtjs-v2158-how-to-hide-private-keys-3h62
Hello everyone! Currently I am working on PWA project. We build pwa with nuxt and drupal as backend. So I have a lot of secrets from backend and don`t know where store it.
Can you share your best practices?
https://dev.to/vadiminsk/nuxtjs-v2158-how-to-hide-private-keys-3h62
Hello everyone! Currently I am working on PWA project. We build pwa with nuxt and drupal as backend. So I have a lot of secrets from backend and don`t know where store it.
Can you share your best practices?
DEV Community
NuxtJS v.2.15.8. How to hide private keys?
Hello everyone! Currently I am working on PWA project. We build pwa with nuxt and drupal as backend....
Simple Black Friday
https://dev.to/core_ui/simple-black-friday-1eep
Not long ago, a guy, let’s name him “Kyle” asked us about CoreUI’s Tips for developers to create stunning web or app.
Answer was easy: “keep it simple” :)
“Everything should be made as simple as possible, but no simpler.”
Albert Einstein
You probably know Steve Krug’s “Don’t let me think” — it also a “bible” for CoreUI’s team. When you keep your design simple, then you’ll easily understand the principles of intuitive navigation and information design.
There’re too many overloaded products available on the market, that’s why we’ve always wanted to keep CoreUI as simple as it’s possible.
So we decided to master a CoreUI as one, comprehensive ecosystem or rather tool for the most significant UI needs.
When designing a stunning web or an app, it’s good to stick to valuable tools which will make your work easier. As an example, we can have “CoreUI’s Triada”:
Admin Templates
UI Components
Icons
They are all available for the most popular frameworks like Angular, Vue, Bootstrap and React. Such universal tools let the designer to be more flexible when working on different projects.
Keep it simple and responsive — the rest will follow.
PS Black Friday obliges… If you’re ready for -70% bounce here: Simple CoreUI Black Friday
https://dev.to/core_ui/simple-black-friday-1eep
Not long ago, a guy, let’s name him “Kyle” asked us about CoreUI’s Tips for developers to create stunning web or app.
Answer was easy: “keep it simple” :)
“Everything should be made as simple as possible, but no simpler.”
Albert Einstein
You probably know Steve Krug’s “Don’t let me think” — it also a “bible” for CoreUI’s team. When you keep your design simple, then you’ll easily understand the principles of intuitive navigation and information design.
There’re too many overloaded products available on the market, that’s why we’ve always wanted to keep CoreUI as simple as it’s possible.
So we decided to master a CoreUI as one, comprehensive ecosystem or rather tool for the most significant UI needs.
When designing a stunning web or an app, it’s good to stick to valuable tools which will make your work easier. As an example, we can have “CoreUI’s Triada”:
Admin Templates
UI Components
Icons
They are all available for the most popular frameworks like Angular, Vue, Bootstrap and React. Such universal tools let the designer to be more flexible when working on different projects.
Keep it simple and responsive — the rest will follow.
PS Black Friday obliges… If you’re ready for -70% bounce here: Simple CoreUI Black Friday
DEV Community
Simple Black Friday
Not long ago, a guy, let’s name him “Kyle” asked us about CoreUI’s Tips for developers to create...
A Vue wrapper for HubSpot Forms
https://vuejsexamples.com/a-vue-wrapper-for-hubspot-forms/
A Vue wrapper for HubSpot Forms
https://vuejsexamples.com/a-vue-wrapper-for-hubspot-forms/
A Vue wrapper for HubSpot Forms
Webpack/Rollup/Vite plugin to add multiple root-node support to Vue 2 SFCs
https://vuejsexamples.com/webpack-rollup-vite-plugin-to-add-multiple-root-node-support-to-vue-2-sfcs/
Webpack/Rollup/Vite plugin to add multiple root-node support to Vue 2 SFCs
https://vuejsexamples.com/webpack-rollup-vite-plugin-to-add-multiple-root-node-support-to-vue-2-sfcs/
Webpack/Rollup/Vite plugin to add multiple root-node support to Vue 2 SFCs
Petite-vue: 6kb subset of Vue optimized for progressive enhancement
https://vuejsexamples.com/petite-vue-6kb-subset-of-vue-optimized-for-progressive-enhancement/
Petite-vue: 6kb subset of Vue optimized for progressive enhancement
https://vuejsexamples.com/petite-vue-6kb-subset-of-vue-optimized-for-progressive-enhancement/
Petite-vue: 6kb subset of Vue optimized for progressive enhancement
Museum of Ordinary Objects Web Application using Vue
https://vuejsexamples.com/museum-of-ordinary-objects-web-application-using-vue/
Museum of Ordinary Objects Web Application using Vue
https://vuejsexamples.com/museum-of-ordinary-objects-web-application-using-vue/
Museum of Ordinary Objects Web Application using Vue
Import types in Vue SFC for defineProps
https://vuejsexamples.com/import-types-in-vue-sfc-for-defineprops/
Import types in Vue SFC for defineProps
https://vuejsexamples.com/import-types-in-vue-sfc-for-defineprops/
Import types in Vue SFC for defineProps
Как локализовать Vue.js приложение
https://habr.com/ru/post/573894/?utm_campaign=573894&utm_source=habrahabr&utm_medium=rss
Как локализовать Vue.js приложениеОднажды мне понадобилось перевести готовый Vue сайт на несколько языков. Немного погуглив я нашел несколько полу рабочих вариантов как это сделать и решил показать свой рабочий вариант. Подробнее
https://habr.com/ru/post/573894/?utm_campaign=573894&utm_source=habrahabr&utm_medium=rss
Как локализовать Vue.js приложениеОднажды мне понадобилось перевести готовый Vue сайт на несколько языков. Немного погуглив я нашел несколько полу рабочих вариантов как это сделать и решил показать свой рабочий вариант. Подробнее
Хабр
Как локализовать Vue.js приложение
ИнструментыVue.js вместе с Vue CLI.vue-i18nVSCodeBabelEditVue.js вместе с Vue CLIДля тех кто не знает как работать с Vue CLI вот документация. Если кратко, то для установки нам нужно ввести две...
Что такое v9s, и почему потребовалось писать еще одну библиотеку валидации?
https://habr.com/ru/post/574044/?utm_campaign=574044&utm_source=habrahabr&utm_medium=rss
Примерно год назад фронтенд нашего проекта, в качестве фреймворка для которого используется Vue.js 2, дошел до состояния, хорошо описываемого словами "проще сжечь".К тому времени наш нетипизированный корабль уже трещал по всем швам, и решено было убить сразу нескольких зайцев одним выстрелом: полностью перевести проект на TypeScript, внедрить Vue Composition API и решить проблемы валидации сложных форм.А проблемы были. Vuelidate - отличная библиотека с массой готовых валидаторов и остается таковой до тех пор, пока мы имеем дело с, так сказать, плоскими формами - формами, не использующими вложенных компонентов, также требующих валидации. Vuelidate работает на уровне компонента, требует наличия миксина, содержит массу правил, которые нам не были нужны, но все равно тянулись в составе пакета, поддержка TypeScript и Composition API на тот момент отсутствовала, и мы не могли более с этим миритьcя. Читать далее
https://habr.com/ru/post/574044/?utm_campaign=574044&utm_source=habrahabr&utm_medium=rss
Примерно год назад фронтенд нашего проекта, в качестве фреймворка для которого используется Vue.js 2, дошел до состояния, хорошо описываемого словами "проще сжечь".К тому времени наш нетипизированный корабль уже трещал по всем швам, и решено было убить сразу нескольких зайцев одним выстрелом: полностью перевести проект на TypeScript, внедрить Vue Composition API и решить проблемы валидации сложных форм.А проблемы были. Vuelidate - отличная библиотека с массой готовых валидаторов и остается таковой до тех пор, пока мы имеем дело с, так сказать, плоскими формами - формами, не использующими вложенных компонентов, также требующих валидации. Vuelidate работает на уровне компонента, требует наличия миксина, содержит массу правил, которые нам не были нужны, но все равно тянулись в составе пакета, поддержка TypeScript и Composition API на тот момент отсутствовала, и мы не могли более с этим миритьcя. Читать далее
Хабр
Что такое v9s, и почему потребовалось писать еще одну библиотеку валидации?
Предупреждение Хотелось бы сразу предупредить о том, что все изложенное ниже, скорее, рассуждения на тему современных реалий мира JavaScript, нежели описание конкретного решения. Предыстория Примерно...
Сервис просмотра и редактирования библиотек геометок
https://habr.com/ru/post/574716/?utm_campaign=574716&utm_source=habrahabr&utm_medium=rss
В 2018 решил освоить Vue.js, так, для общего развития, а как известно, лучший способ освоить язык/фреймворк/etc — начать писать. В голову пришла довольно простая идея, которая со временем выросла в довольно большой проект — онлайн сервис «Места», позволяющий создавать свои коллекции мест на карте, геометок, с подробной информацией о них. Собирать их в альбомы, сортировать в дереве папок, просматривать, редактировать, обмениваться с другими, открывать для просмотра другим пользователям сервиса. Привязывать к местам фотоальбомы, экспортировать свои библиотеки в файлы JSON и GPX (для навигаторов, например), импортировать в свои библиотеки места других людей.Идея была проста. Есть множество средств создания фотоальбомов, музыкальных плейлистов — с описаниями, возможностью сортировки, ссылками, преферансом и барышнями. А похожей полноценной картографической реализации толком нет. По крайней мере, я не нашёл.Представьте, что вы пошли с другом в поход. Каждый у себя в навигаторе смартфона отмечал какие-то интересные места — удобные стоянки, опасные пороги, прохождение которых описывал. Потом вернулись домой, и каждый остался при своих. Сервис позволяет собрать их вместе, слив оба набора в один, отсортировать, разложить по папкам, отредактировать описания в удобном интерфейсе на компе, добавить фотографии, ссылки, сделать при желании видимыми другим пользователям сервиса, экспортировать потом, в конце концов, для использования в навигаторах и т. д.Проект свободный (https://github.com/assador/places, сам действующий сервис пока здесь: https://places.scrofa-tridens.ru). Сейчас в планах помимо API Яндекс.Карт, которые отвечают, собственно, за карту, подключить и другие — OSM, 2ГИС и пр. Хочу добавить возможность добавлять к местам не только фото-, но и видео-, и аудиоальбомы. Развивать структуру прав и ролей пользователей, их связь друг с другом на сервисе, расшаривать библиотеки в соцсети и пр. Короче, для меня штука интересная. Читать далее
https://habr.com/ru/post/574716/?utm_campaign=574716&utm_source=habrahabr&utm_medium=rss
В 2018 решил освоить Vue.js, так, для общего развития, а как известно, лучший способ освоить язык/фреймворк/etc — начать писать. В голову пришла довольно простая идея, которая со временем выросла в довольно большой проект — онлайн сервис «Места», позволяющий создавать свои коллекции мест на карте, геометок, с подробной информацией о них. Собирать их в альбомы, сортировать в дереве папок, просматривать, редактировать, обмениваться с другими, открывать для просмотра другим пользователям сервиса. Привязывать к местам фотоальбомы, экспортировать свои библиотеки в файлы JSON и GPX (для навигаторов, например), импортировать в свои библиотеки места других людей.Идея была проста. Есть множество средств создания фотоальбомов, музыкальных плейлистов — с описаниями, возможностью сортировки, ссылками, преферансом и барышнями. А похожей полноценной картографической реализации толком нет. По крайней мере, я не нашёл.Представьте, что вы пошли с другом в поход. Каждый у себя в навигаторе смартфона отмечал какие-то интересные места — удобные стоянки, опасные пороги, прохождение которых описывал. Потом вернулись домой, и каждый остался при своих. Сервис позволяет собрать их вместе, слив оба набора в один, отсортировать, разложить по папкам, отредактировать описания в удобном интерфейсе на компе, добавить фотографии, ссылки, сделать при желании видимыми другим пользователям сервиса, экспортировать потом, в конце концов, для использования в навигаторах и т. д.Проект свободный (https://github.com/assador/places, сам действующий сервис пока здесь: https://places.scrofa-tridens.ru). Сейчас в планах помимо API Яндекс.Карт, которые отвечают, собственно, за карту, подключить и другие — OSM, 2ГИС и пр. Хочу добавить возможность добавлять к местам не только фото-, но и видео-, и аудиоальбомы. Развивать структуру прав и ролей пользователей, их связь друг с другом на сервисе, расшаривать библиотеки в соцсети и пр. Короче, для меня штука интересная. Читать далее
Хабр
Сервис просмотра и редактирования библиотек геометок
В 2018 решил освоить Vue.js, так, для общего развития, а как известно, лучший способ освоить язык/фреймворк/etc — начать писать. В голову пришла довольно простая идея, которая...
Vuetify — создаем свое простое приложение
https://habr.com/ru/post/575050/?utm_campaign=575050&utm_source=habrahabr&utm_medium=rss
В этой небольшой статье мы с вами напишем свое простое приложение по типу "заказа еды". Само приложение если что будет статичным и здесь главный упор будет сделан на использование компонентов Vuetify и рассмотрение того как именно они работают. Также добавлю что здесь мы не будем рассматривать отдельную библиотеку Bootstrap Vue которую использует Vuetify чтобы строить гриды. Читать далее
https://habr.com/ru/post/575050/?utm_campaign=575050&utm_source=habrahabr&utm_medium=rss
В этой небольшой статье мы с вами напишем свое простое приложение по типу "заказа еды". Само приложение если что будет статичным и здесь главный упор будет сделан на использование компонентов Vuetify и рассмотрение того как именно они работают. Также добавлю что здесь мы не будем рассматривать отдельную библиотеку Bootstrap Vue которую использует Vuetify чтобы строить гриды. Читать далее
Хабр
Vuetify — создаем свое простое приложение
Хоть UI библиотек или фреймворков для Vue.js не так уж и много, но Vuetify как раз здесь больше всего выделяется и по функционалу просто впереди других. Сегодня в этой небольшой статье я расскажу об...
[Перевод] Создаём одинаковое приложение 5 раз
https://habr.com/ru/post/575416/?utm_campaign=575416&utm_source=habrahabr&utm_medium=rss
На написание этой статьи меня вдохновил YouTube-канал Fireship, записывающий отличные видео о веб-разработке, крайне рекомендую их посмотреть, если вам интересна эта тема.
Вот видео с канала, в котором в 10 фреймворках создают todo-приложение:
Я решил, что не хочу тратить на это кучу времени, и в основном использовал статью как оправдание для изучения нескольких новых фреймворков, поэтому пять раз собрал одно и то же приложение. Я планирую создать простое приложение для добавления заметок, в котором пользователи могут писать текст и сохранять его как отдельные заметки. Некоторые из этих фреймворков я уже использовал для создания подобных приложений, а в других не делал ничего похожего, или даже не использовал их вообще, поэтому это будет чуть сложнее.
Читать дальше →
https://habr.com/ru/post/575416/?utm_campaign=575416&utm_source=habrahabr&utm_medium=rss
На написание этой статьи меня вдохновил YouTube-канал Fireship, записывающий отличные видео о веб-разработке, крайне рекомендую их посмотреть, если вам интересна эта тема.
Вот видео с канала, в котором в 10 фреймворках создают todo-приложение:
Я решил, что не хочу тратить на это кучу времени, и в основном использовал статью как оправдание для изучения нескольких новых фреймворков, поэтому пять раз собрал одно и то же приложение. Я планирую создать простое приложение для добавления заметок, в котором пользователи могут писать текст и сохранять его как отдельные заметки. Некоторые из этих фреймворков я уже использовал для создания подобных приложений, а в других не делал ничего похожего, или даже не использовал их вообще, поэтому это будет чуть сложнее.
Читать дальше →
Компактные Vue компоненты из самописных SVG иконок
https://habr.com/ru/post/577202/?utm_campaign=577202&utm_source=habrahabr&utm_medium=rss
История вопроса
В этой статье пойдёт речь о том, как я пришёл к тому, чтобы взяться писать плагин, создающий на лету vue компоненты из самописных svg иконок во время сборки проекта, о том, как я это делал, и о том, что в итоге получилось.
Мне уже давно и прочно нравится мир Vue. Особенно завораживает скорость, с которой в нём рождаются новые возможности писать код более лёгким и понятным. Недавно появились Composition API, VueUse, Vite… По ходу освоения этих новых инструментов я нашёл шаблон Vitesse, буквально насыщенный удобными средствами — и для управления макетами (layout), и для маршрутизации, и для локализации и ещё для много чего… Возможно, есть смысл написать отдельный обзор этого арсенала по русски (чего в Интернете пока ещё нет). Но сейчас речь не об этом. Читать дальше →
https://habr.com/ru/post/577202/?utm_campaign=577202&utm_source=habrahabr&utm_medium=rss
История вопроса
В этой статье пойдёт речь о том, как я пришёл к тому, чтобы взяться писать плагин, создающий на лету vue компоненты из самописных svg иконок во время сборки проекта, о том, как я это делал, и о том, что в итоге получилось.
Мне уже давно и прочно нравится мир Vue. Особенно завораживает скорость, с которой в нём рождаются новые возможности писать код более лёгким и понятным. Недавно появились Composition API, VueUse, Vite… По ходу освоения этих новых инструментов я нашёл шаблон Vitesse, буквально насыщенный удобными средствами — и для управления макетами (layout), и для маршрутизации, и для локализации и ещё для много чего… Возможно, есть смысл написать отдельный обзор этого арсенала по русски (чего в Интернете пока ещё нет). Но сейчас речь не об этом. Читать дальше →
Vite.js и Vue.js
https://habr.com/ru/post/580064/?utm_campaign=580064&utm_source=habrahabr&utm_medium=rss
Я нашёл только 3 статьи по Vite.js на Хабр, там были некие обзоры функционала и описание фишек данного инструмента.Хорошо, тогда вопрос, что же это за инструмент такой и в чем преимущества использовать его при разработке? Если мы зайдем на официальный сайт - то здесь выделяется 6 основных фишек: Читать далее
https://habr.com/ru/post/580064/?utm_campaign=580064&utm_source=habrahabr&utm_medium=rss
Я нашёл только 3 статьи по Vite.js на Хабр, там были некие обзоры функционала и описание фишек данного инструмента.Хорошо, тогда вопрос, что же это за инструмент такой и в чем преимущества использовать его при разработке? Если мы зайдем на официальный сайт - то здесь выделяется 6 основных фишек: Читать далее
Хабр
Vite.js и Vue.js
Я нашёл только 3 статьи по Vite.js на Хабр, там были некие обзоры функционала и описание фишек данного . Хорошо, тогда вопрос, что же это за инструмент такой и в чем преимущества использовать его при...
Разработка документации на VuePress
https://habr.com/ru/post/580894/?utm_campaign=580894&utm_source=habrahabr&utm_medium=rss
VuePress представляет собой минималистичный генератор статичных сайтов, оптимизированный для написания технической документации.Изначальной целью VuePress, была поддержка фреймворка Vue.js и сопутствующей инфраструктуры. Для примера, можно посмотреть любую документацию по Vue: Vue.js, Vue Router, Vuex, где применяется единый стиль, заложенный в основе VuePress.В ходе статьи мы разберем архитектуру VuePress, разработаем базовое приложение и выложим на GitHub Pages. Читать далее
https://habr.com/ru/post/580894/?utm_campaign=580894&utm_source=habrahabr&utm_medium=rss
VuePress представляет собой минималистичный генератор статичных сайтов, оптимизированный для написания технической документации.Изначальной целью VuePress, была поддержка фреймворка Vue.js и сопутствующей инфраструктуры. Для примера, можно посмотреть любую документацию по Vue: Vue.js, Vue Router, Vuex, где применяется единый стиль, заложенный в основе VuePress.В ходе статьи мы разберем архитектуру VuePress, разработаем базовое приложение и выложим на GitHub Pages. Читать далее
Хабр
Разработка документации на VuePress
Описание инструментаVuePress представляет собой минималистичный генератор статичных сайтов, оптимизированный для написания технической документации.Изначальной целью VuePress, была поддержка...
Создание унифицированного UI без мам, пап и кредитов
https://habr.com/ru/post/581616/?utm_campaign=581616&utm_source=habrahabr&utm_medium=rss
Всем привет! Меня зовут Артём и я разработчик в команде Operations & Support Tools. Наша команда занимается разработкой софта для взаимодействия поддержки с пользователями, с целью решения любых возникших у пользователей проблем.В прошлый раз один из моих коллег рассказывал, как реализовано взаимодействие сервисов у нас в Платформе. Те, кто пропустили эту статью, могут найти её по ссылке. Сегодня я хочу рассказать про приложение, которое раскрыло возможности Contract API с новой стороны. Знакомьтесь, Contract UI. Читать далее
https://habr.com/ru/post/581616/?utm_campaign=581616&utm_source=habrahabr&utm_medium=rss
Всем привет! Меня зовут Артём и я разработчик в команде Operations & Support Tools. Наша команда занимается разработкой софта для взаимодействия поддержки с пользователями, с целью решения любых возникших у пользователей проблем.В прошлый раз один из моих коллег рассказывал, как реализовано взаимодействие сервисов у нас в Платформе. Те, кто пропустили эту статью, могут найти её по ссылке. Сегодня я хочу рассказать про приложение, которое раскрыло возможности Contract API с новой стороны. Знакомьтесь, Contract UI. Читать далее
Хабр
Создание унифицированного UI без мам, пап и кредитов
Всем привет! Меня зовут Артём и я разработчик в команде Operations & Support Tools. Наша команда занимается разработкой софта для взаимодействия поддержки с пользователями, с целью решения любых...
[Перевод] Создание веб-компонентов с помощью Vue 3.2
https://habr.com/ru/post/581954/?utm_campaign=581954&utm_source=habrahabr&utm_medium=rss
Вы когда-нибудь работали над несколькими проектами и хотели иметь набор настраиваемых компонентов, которые можно было бы использовать во всех из них? Будь то работа или просто побочные проекты, набор компонентов, к которым вы можете обратиться, - отличный способ ускорить работу в новом или существующем проекте. Но что, если не все ваши проекты используют одну и ту же структуру пользовательского интерфейса? Или, что, если у вас есть тот, который вообще не использует какой-либо фреймворк JavaScript и полностью отрисован на сервере?Как разработчик Vue, в идеале мы хотели бы просто использовать наш фреймворк для создания сложных пользовательских интерфейсов. Но иногда мы оказываемся в описанной выше ситуации, работая с другим фреймворком JavaScript, таким как React или Angular, или используя внутреннюю систему рендеринга, такую как Rails или Laravel. Как мы можем создать многоразовый пользовательский интерфейс для различных вариантов внешнего интерфейса?В Vue 3.2 у нас теперь есть решение этой проблемы: веб-компоненты на базе Vue! Читать далее
https://habr.com/ru/post/581954/?utm_campaign=581954&utm_source=habrahabr&utm_medium=rss
Вы когда-нибудь работали над несколькими проектами и хотели иметь набор настраиваемых компонентов, которые можно было бы использовать во всех из них? Будь то работа или просто побочные проекты, набор компонентов, к которым вы можете обратиться, - отличный способ ускорить работу в новом или существующем проекте. Но что, если не все ваши проекты используют одну и ту же структуру пользовательского интерфейса? Или, что, если у вас есть тот, который вообще не использует какой-либо фреймворк JavaScript и полностью отрисован на сервере?Как разработчик Vue, в идеале мы хотели бы просто использовать наш фреймворк для создания сложных пользовательских интерфейсов. Но иногда мы оказываемся в описанной выше ситуации, работая с другим фреймворком JavaScript, таким как React или Angular, или используя внутреннюю систему рендеринга, такую как Rails или Laravel. Как мы можем создать многоразовый пользовательский интерфейс для различных вариантов внешнего интерфейса?В Vue 3.2 у нас теперь есть решение этой проблемы: веб-компоненты на базе Vue! Читать далее
Хабр
Создание веб-компонентов с помощью Vue 3.2
Эта статья — перевод оригинальной статьи Lindsay Wardell " Building Web Components with Vue 3.2 " Также я веду телеграм канал “ Frontend по-флотски ”, где рассказываю про интересные вещи из мира...