и посмотреть медиа
Библиотека фронтендера - JS React
и посмотреть медиа
Все полезное для фронтенда: JavaScript, React.js, Angular.js, Vue.js в одном канале.
Все полезное для фронтенда: JavaScript, React.js, Angular.js, Vue.js в одном канале.
Комплексный ресурс по фронтенд-технологиям. Статьи, гайды и примеры по JS, React, Angular, Vue. Идеально для изучения и применения в проектах.
🤩 А что, если написать свой текстовый редактор? «VS Code слишком тяжёлый. Сделаю свой редактор!» — примерно так начался эксперимент одного разработчика. 🔘 Первый вариант — всё рисовать через . Курсор, текст, подсветка строки, ввод с клавиатуры — работает. Но почти всё приходится реализовывать самостоятельно: canvas.addEventListener("pointerdown", positionCursor); document.addEventListener("keydown", moveCursor); И быстро выясняется проблема: canvas ничего не знает о тексте. Нет нормального выделения, undo/redo, скроллинга и доступности. 🔘 Тогда появляется идея использовать contenteditable: Браузер сразу берёт на себя выделение текста, историю изменений и часть accessibility. Но на больших текстах производительность становится непредсказуемой. 🔘 Поэтому следующий кандидат — обычный : И неожиданно он оказывается лучшим вариантом для длинных файлов. Правда, синтаксическую подсветку приходится строить отдельным слоем поверх текста. 📍 А потом начинается самое интересное: Unicode. "🍋🟩".length; // 5 [..."🍋🟩"].length; // 3 const segmenter = new Intl.Segmenter("en", { granularity: "grapheme" }); [...segmenter.segment("🍋🟩")].length; // 1 Один визуальный символ может состоять из нескольких UTF-16 code units и нескольких Unicode code points. В итоге автор получил редактор, который выглядит примерно на 90% готовым, но имеет лишь 1% возможностей настоящего редактора. И именно оставшиеся 10% — выделение, виртуализация, подсветка, табуляция, скроллинг, Unicode и accessibility — превращают «простой текстовый редактор» в огромный проект. 📍 Навигация: [Вакансии] 🐸 Библиотека фронтендера #under_hood
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!
Информационный канал о репликах модных брендов: обзоры, фото, сравнения качества. Только для ознакомления с миром fashion-копий.
Агентство по продвижению каналов и чатов в Telegram с проверенными стратегиями и кейсами.