Forwarded from Сова пишет…
Если не feature-sliced.design, то что?
Самой близкой альтернативой может быть разве что это: https://doka.guide/js/clean-architecture/
Самой близкой альтернативой может быть разве что это: https://doka.guide/js/clean-architecture/
Дока
Трёхслойная архитектура — JavaScript — Дока
Как поделить весь код приложения на три части так, чтобы добавлять новые фичи было быстрее, а править баги — легче
🔥8💩6
Forwarded from BEARlogin
Архитектура frontend
В отличие от бека, инфы про архитектуру фронта очень мало.
Но все-таки есть хорошие материалы.
Мне очень нравиться цикл статей https://khalilstemmler.com/articles/client-side-architecture/introduction//
Он поможет разобраться в принципах, философии и реализации архитектуры на фронте.
Так же могу посоветовать https://feature-sliced.design/ но там есть свои нюансы, о которых постараюсь написать позже.
#frontend #architecture #ddd
В отличие от бека, инфы про архитектуру фронта очень мало.
Но все-таки есть хорошие материалы.
Мне очень нравиться цикл статей https://khalilstemmler.com/articles/client-side-architecture/introduction//
Он поможет разобраться в принципах, философии и реализации архитектуры на фронте.
Так же могу посоветовать https://feature-sliced.design/ но там есть свои нюансы, о которых постараюсь написать позже.
#frontend #architecture #ddd
Khalilstemmler
Client-Side Architecture Basics [Guide] | Khalil Stemmler
Though the tools we use to build client-side web apps have changed substantially over the years, the fundamental principles behind designing robust software have remained relatively the same. In this guide, we go back to basics and discuss a better way to…
👍18🔥4🤩1
Forwarded from Reatom новости
По следам горячей дискусси о каунтере промисов в эффекторе и выявленных кейсах вокруг этого, запилил 80байтный пакет @reatom/all-settled для третьего реатома, который позволяет ожидать все порожденные эффекты от вызова одного экшена.
В отличии от эффектора, реализация в реатоме не требует каких-то дополнительных доменов и форков, а прозрачно работает на базовом апи.
Но самое крутое, то что allSettled реатома трекает вызовы порожденные именно выбранным экшеном, что позволяет использовать его не только в SSR или тестах, но и в проде, описывая бизнес логику вида: показать уведомление, после завершения всех связанных асинхронных операций (часть из которых вызывается не напрямую, а, например, реактивно)
В отличии от эффектора, реализация в реатоме не требует каких-то дополнительных доменов и форков, а прозрачно работает на базовом апи.
Но самое крутое, то что allSettled реатома трекает вызовы порожденные именно выбранным экшеном, что позволяет использовать его не только в SSR или тестах, но и в проде, описывая бизнес логику вида: показать уведомление, после завершения всех связанных асинхронных операций (часть из которых вызывается не напрямую, а, например, реактивно)
👍5
Forwarded from CherryTea
Help pick a syntax for CSS nesting - Chrome Developers
https://developer.chrome.com/blog/help-css-nesting/
https://developer.chrome.com/blog/help-css-nesting/
Chrome for Developers
Help pick a syntax for CSS nesting | Blog | Chrome for Developers
Two competing syntaxes need your help in determining which should be championed through to a specification candidate.
https://github.com/solidjs/solid-workgroup/discussions/2
Каждый раз радостно видеть как люди работают над теорией реактивного программирования и и ее связью с реальностью.
Ну, как каждый раз. Чаще всего на медиумах и dev.to пишут ясельный пересказа доки какой-то либы. Но конкретно Ryan Carniato (автор solidjs) имеет большой опыт в иследовании этого вопроса и может быть у него получится что-то интересное.
Из подобного есть еще старенький GTOR, но там больше про прикладное ФРП. Ну и статьи Карловского.
Напомню, что я уже рассказывал что такое РП концептуально и твердо уверен что это точное определение. Так же на вики есть хорошая статья на этот счет.
Каждый раз радостно видеть как люди работают над теорией реактивного программирования и и ее связью с реальностью.
Ну, как каждый раз. Чаще всего на медиумах и dev.to пишут ясельный пересказа доки какой-то либы. Но конкретно Ryan Carniato (автор solidjs) имеет большой опыт в иследовании этого вопроса и может быть у него получится что-то интересное.
Из подобного есть еще старенький GTOR, но там больше про прикладное ФРП. Ну и статьи Карловского.
Напомню, что я уже рассказывал что такое РП концептуально и твердо уверен что это точное определение. Так же на вики есть хорошая статья на этот счет.
GitHub
Reactivity Overview · solidjs solid-workgroup · Discussion #2
I may edit this over time so keep that in mind as I intend this to be extensive. Introduction Before we can talk about reactivity for the future we need to get on the same page. This is an extensiv...
👍8
Forwarded from Тanya 🚨 Denisyuk
Media is too big
VIEW IN TELEGRAM
Всем привет!
У нас хорошая новость: конференция «Я Люблю Фронтенд» пройдёт уже 12 августа.
Приходите послушать доклады, обменяться опытом и полезно провести время. Конференция пройдёт в смешанном оффлайн-онлайн формате. Посмотреть программу и зарегистрироваться можно на сайте http://ilovefrontend.ru.
До встречи!
У нас хорошая новость: конференция «Я Люблю Фронтенд» пройдёт уже 12 августа.
Приходите послушать доклады, обменяться опытом и полезно провести время. Конференция пройдёт в смешанном оффлайн-онлайн формате. Посмотреть программу и зарегистрироваться можно на сайте http://ilovefrontend.ru.
До встречи!
👍3
Решил запилить декоратор для эффекта, который в аргументы добавлял бы AbortController и выбрасывал бы сам ошибку, при запуске нового эффекта, до завершения предыдущего (стандартный last in win).
До этого с этим контроллером не работал, обходился простым счетчиком запросов, но для библиотеки решил сделать все “правильно”.
Ну кароч. Фича типа экспериментальная, но судя по поддержке в стандарте она появится точно, это же веб.
Я решил в
Попригорало и ладно, что там дальше. Тк мы передаем пользователю контроллер, нам нужно обрабатывать вызов сигнала. Было бы логично использовать
Кароч странно все это.
До этого с этим контроллером не работал, обходился простым счетчиком запросов, но для библиотеки решил сделать все “правильно”.
Ну кароч. Фича типа экспериментальная, но судя по поддержке в стандарте она появится точно, это же веб.
Я решил в
onReject игнорировать ошибки отмены и обычно это делается проверкой на instanceof, но в доках и глобальном скоупе я AbortError найти не смог. Оказалось это лишь name у ошибки DOMException (wat??).Попригорало и ладно, что там дальше. Тк мы передаем пользователю контроллер, нам нужно обрабатывать вызов сигнала. Было бы логично использовать
throwIfAborted, но у него поддержка в хроме только этой весной появилась (AbortController там 4 года уже) - wat?Кароч странно все это.
https://t.me/xufostation/758
В подкасте гость не разделяет РП и ФРП, потому что у нас в индустрии практически нет теоретических исследований РП в целом, но большинство материалов связано с практикой ФРП.
Я уже не раз говорил что MobX, Excel и кучка мелких ООРП либ доказывают что реактивность может быть совсем вне контекста функционального программирования.
Нужно понимать что ФП и ООП на столько огромны, что включают в себя синтаксические, семантические и архитектурные особенности описания кода и построения его интерфейсов в целом. Упрощенно можно разделить их на функции высшего порядка и композицию, против классов и их наследования. И это вообще никак не пересекается с реактивным программированием, как простым паттерном переноса явных связей в коде в рантайм, через интерфейс подписки. Одно другому не противорчечит и даже не помогает / мешает.
Как правильно было замечено в начале подкаста - реактивное программирование отлично решает проблему связанности одного источника и нескольких потребителей.
В подкасте гость не разделяет РП и ФРП, потому что у нас в индустрии практически нет теоретических исследований РП в целом, но большинство материалов связано с практикой ФРП.
Я уже не раз говорил что MobX, Excel и кучка мелких ООРП либ доказывают что реактивность может быть совсем вне контекста функционального программирования.
Нужно понимать что ФП и ООП на столько огромны, что включают в себя синтаксические, семантические и архитектурные особенности описания кода и построения его интерфейсов в целом. Упрощенно можно разделить их на функции высшего порядка и композицию, против классов и их наследования. И это вообще никак не пересекается с реактивным программированием, как простым паттерном переноса явных связей в коде в рантайм, через интерфейс подписки. Одно другому не противорчечит и даже не помогает / мешает.
Как правильно было замечено в начале подкаста - реактивное программирование отлично решает проблему связанности одного источника и нескольких потребителей.
Telegram
UfoStation
Прогулка по реактивному программированию
Гость выпуска:
Антон Назаров, iOS разработчик (twitter, telegram, youtube)
Содержание выпуска:
— 00:46 - Знакомство с гостем
— 01:45 - Что такое реактивное программирование (RP)
— 07:49 - RP используется только…
Гость выпуска:
Антон Назаров, iOS разработчик (twitter, telegram, youtube)
Содержание выпуска:
— 00:46 - Знакомство с гостем
— 01:45 - Что такое реактивное программирование (RP)
— 07:49 - RP используется только…
https://artalar.github.io/csb-trpr1/
Расскопал вот такое вот старье в песочницах. Игрался с генерацией анимированного задника для lofi.
(код)
- перезагрузкой страницы выбираем симпотичный цвет
- настраиваем скорость в левом верхнем углу
- по Enter включаем фулскрин
Там бы хорошо еще какой-то lofi стрим на фон добавить, контролы красивые запилить. И главный челендж, на котором я остановился, переписать на генерацию статического текста (кода) кейфрема (это возможно).
Если кто хочет - форкайте, поделитесь потом что вышло 🙂
Расскопал вот такое вот старье в песочницах. Игрался с генерацией анимированного задника для lofi.
(код)
- перезагрузкой страницы выбираем симпотичный цвет
- настраиваем скорость в левом верхнем углу
- по Enter включаем фулскрин
Там бы хорошо еще какой-то lofi стрим на фон добавить, контролы красивые запилить. И главный челендж, на котором я остановился, переписать на генерацию статического текста (кода) кейфрема (это возможно).
Если кто хочет - форкайте, поделитесь потом что вышло 🙂
👍3