Pull to refresh
0
0
Александр@Iworb

WEB developer

Send message

Честно говоря, не так и часто приходилось что-то именно пробрасывать из хоста в дочерние приложения. Целью было как раз наоборот, отделить использование стилей.
А в современных фреймворках, когда они стали повсеместно использовать свои CSS переменные и появилась возможность их ложить не в Root, а в Shadow Root, все стало намного проще и прозаичнее.
Изначально мы с Александром решали проблему как раз с изоляцией стилей, а вот этот вопрос в виде "а что если таки надо пробросить?" был бонусным и нашел свой ответ как раз в CSS переменных, поскольку среди техник изоляции Shadow DOM был неоспоримым лидером.
Скелетон эффект достаточно просто реализуется в хостовом приложении, пока он грузит дочерние. В современном ангуляре так это стало сделать еще проще благодаря новым директивам. К тому же как раз за счет микрофронтендов и получается довольно быстрый первый отклик - изначально загружвется только ххостовое приложение, которое, как правило, весит очень мало и уже может показать базовые состояния и инициировать загрузку нужного микрофронтенда, который тоже будет весить суммарно с хостовым куда меньше полноценного монолита. Естественно, такой же оптимизации можно добиться и в пределах одного фреймворка и отложенной загрузки, но когда целью является создание системы, которая в перспективе будет иметь неизветное число суб-систем (например, какая-нибудь система управления организацией, где и сотрудники будут, и отчеты, и еще тонна всего), то хранить это в едином проекте - довольно рискованно и может быть большой порог вхождения. Для этой цели и есть микрофронтенды. Но, думаю, выбор архитектуры - это уже задача системного архитектора, т.е. вне контекста данного топика.

Создавать всегда свой UI Kit тоже дело хлопотное. Но что если можно склонировать готовое решение и подстроить его под себя? Не рассматривали shad cn? В частности, недавно под Angular вышел Zard UI - прямой наследник shad cn в нашей экосистеме.

Pokemon не развивается то? Я играл в него с 2016го года и забросил где-то в 2020. В том году вернулся в игру и офигел от количества контента. Сейчас, к слову, добавляют тоже много нового и полезного, что хотелось давно видеть в игре. Печально только то, что некоторые моменты закрыты пейволом.
Ну и комьюнити, не везде конечно, но живо и активно. На последний крупный ивент за неделю до конца лета пришло в крупном городе недалеко от меня около 400 человек.
Так что рано хороните, не смотря на то, что владелец у игры уже новый.

Потому что иногда не знаешь, во что хочешь поиграть, а стор - он как каталог

Поддерживаю. Почему-то о нём и не вспомнили, хотя тоже есть есть весь набор функций. Только поиск на десктопе хромает (этот баг уже давно не могут/не хотят чинить).

Продвинутые - это WeakMap, Intl, structuredClone и тому подобное. А тут перечислены базовые. Может в этом и была цель, чтобы в комментариях продвинутые собрать?

Я спросил у Яндекса, где моя любимая?
Яндекс не ответил мне, качая головой...

Таймкоды субтитров и разделов слетят, прокрутку тоже никто не отменял

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

И вот вы почти пришли к Module federation. Так встроить форму будет ещё дешевле за счёт того, что в родительском приложении уже будет готов ангуляр.

Вы бы хоть где-то на это намекнули. В заголовке, во вступлении, в тексте статьи... И так то есть бесплатные, которым карта не нужна. Конечно, и качество там не очень, доступность хромает, но вот например https://render.com - есть бесплатный тариф.

Странно не увидеть в списке самый стандартный GithubPages, который для всяких сайтов-визиток просто идеален.
Ну и в GitOps ещё можно добавить https://railway.app

Не припомню. Разве что стандартная штука для локализации от Ангуляра, но я не помню, чтобы ей часто вообще кто-то пользовался. transloco я в свое время стал использовать только из-за Scope, которые бы позволяли подгружать переводы с lazy модулями, а не все сразу.

Звучит интересно, но что на счёт динамических переводов?
Например, у меня есть такая часть:

enum Test { A, B }

И переводы

{
  "enums":
  {
    "Test":
    {
      "0": "Тип А",
      "1": "Тип Б"
    }
  }
}

А в коде будет что-то вроде

<div>{{ ('enums.Test.' + object.type) | translate }}</div>

Найдет ли все ключи?
И что на счёт других библиотек, например transloco?

Извиняюсь, что спрашиваю под этим комментарием, но мой вопрос касается как раз одной из тем, которую вы описали, но комментарии к тому посту уже закрыты.
Ранее вы писали, что можно через XRay отслеживать и заворачивать траффик торрентов, чего я и пытаюсь добиться, вот только ни в Nekoray, ни в v2RayN у меня это сделать не получилось. В первом слишком упрощенные настройки сниффинга, который должен быть активирован для опознавания траффика (ограничено выбором из выпадающего списка), во втором варианте же невозможно добавить правило для domain_suffix, которое также необходимо в наборе. Если вы сталкивались с подобным - буду благодарен за наводку.

Интересная статья. Последние пару недель тоже разбираюсь в микрофронтенде, в частности ModuleFederationPlugin, чтобы перейти с обычных микроприложений. Пока такого комплексного решения под разные системы еще не делал, но в планах.

Хотелось бы узнать как вы реализуете работу с ассетами в проектах? К примеру, есть у меня компоненты, которые помимо стилей, которые легко могут разместиться и в js, содержат в себе набор графики - кастомных иконок, различных состояний и т.п. С одной стороны можно конечно всё складировать где-то в одном месте главного приложения, но это нарушает саму идею, когда каждый отдельный проект не знает что там "сверху" или "у других".

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Фронтенд разработчик
Старший
Git
JavaScript
HTML
CSS
TypeScript
SCSS
Angular
Angular.js
Redux
React