Dmitrii Pashkevich @dipiash
Full-stack developer
Информация
- В рейтинге
- Не участвует
- Откуда
- Лимассол, Government controlled area, Кипр
- Зарегистрирован
- Активность
Специализация
Frontend Developer, Fullstack Developer
Lead
JavaScript
TypeScript
Node.js
React
NextJS
GraphQL
Docker
GitLab
Unix Shell Scripting
CSS
Финально все конфигурации объединяются тут: в index.js файле
На текущий момент в набор компонентов, которые мы модифицировали, вошли около 40. Еще около 10 компонентов используются без модификации, как сервисные комплненты врапперы. Также используем хуки и провайдеры (формы, нотификации и пр.)
Некоторые компоненты было сложно модифицировать так, как нам нужно по дизайну и поэтому их исходный код мы взяли из исходной библиотеки и уже модифицировали его (например компоненты для работы с календарем/выбором дат).
В целом такого нет. Единственный компонент, который претерпел большое обсуждение это MultiSelect, так как у него есть несколько контекстов использования и не хотелось собирать из него франкинштейна
А какой кейс нужно решить: просто взять готовый и использовать или нужно собирать несложный кастомный дизайн?
И этот вариант:
Вернут одинаковые результаты.
Однако результат асинхронной функции уже завернут в Promise.resolve (не явно). Т.о. в первой функции дополнительный await накладывает небольшой оверхед — по сути делается таже самая работа 2а раза.
Пожалуйста не делайте так:
Почему можно посмотреть тут:
1. Why Using `return await` Is a Bad Idea?
2. Disallows unnecessary return await (no-return-await)
Залил видео в github или ссылка на прямое скачивание с github.
Просто показалось странным снимать экран телефона и выкладывать в статью, поэтому делал на эмуляторе.
Все может зависить от устройства, поэтому на 100% утверждать не могу, что нигде не работает. Но у коллег с iPhone'ами на работе тоже в фоне не воспроизводится.
upd.
Если не блокировать экран, то треки переключаются как надо.
Когда я тестировал на эмуляторе, то сталкивался с таким (на каких-то работает, на каких-то нет). Предположу, что вы заменяете src у audio тэга. На реальном девайсе это не работает :(
И потреять львиную долю пользователей из за того, что человек не может получить доступ к какой-то «условной фиче» здесь и сейчас?
Нет уж, в такие игры я не играю. И предпочту охватить большинство платформ через различные решения, что бы дать человеку чем-то пользоваться в том месте, куда он пришел сразу, а не прошел через 100500 редиректов.
Опыт показывает, что большинство пользователей даже не задумываются о приорететах процессов браузера, они просто пользуются.
Если быть честным и говорить об универсальности, то в контексте какой либо платформы. В универсальность нативных приложений на iOS / Android — я могу еще поверить, но утверждать со 100% гарантией я бы не стал. Что касается web браузеров, я бы вообще не говорил о какой-то универсальноти с учетом всего зоопарка.
Хорошая статья, спасибо!
А что насчёт следующих моментов:
1) перезапуск
приложения или контейнера при падении
2) graceful reload при деплое новой версии приложения
Могли бы вы поделиться своим видением как это делать?
Так что, давайте оставим статическое статическому, а динамическое динамическому и не будем пытаться сделать из одного другое и наоборот
Google bot не имитирует события клика. Он парсит ссылки на странице, по которым потом ходит. Эти ссылки(страницы) в свою очередь также будут отрендерены на сервере.
Подробнее можно посмотреть, например, тут — support.google.com/webmasters/answer/81766?hl=ru
Спасибо за уточнение. Поправил.