Это выступление о подходе, который позволяет эмулировать компьютерные системы с использованием веб-технологий (TypeScript, Сanvas, web audio). Расскажу, как устроена архитектура компьютеров на примере NES — процессор, программа, периферийные устройства, отображение io на память. Мой доклад можно разделить на три части. В первой поговорим, как устроен процессор 6502 и как его эмулировать, используя JavaScript. Во второй — как работает устройство вывода графики и как игры хранят свои ресурсы. В третьей — как синтезируется звук с использованием веб аудио и как это дело параллелится на два потока с помощью аудиоворклета. Поделюсь советами об оптимизации (всё же эмуляция — дело такое, при 60 FPS остаётся мало времени для выполнения кода).
Многих останавливает разработка на WASM, потому что придётся учить С или Rust, популярные в WASM-сообществе, но есть решение — AssemblyScript. Он позволяет писать на TypeScript и компилировать бинарн…
We’ve all looked at a chunk of code and had no idea what it does - only to realize that we were the ones who wrote it, six or so months ago. If we can’t read our own code after a few months, how can …
Будет рассказано об истории создания одной анимации от получения макета до сдачи клиенту. История включает в себя язык WebGL, Three.js, GLSL, Canvas 2D, графы и немного математики.
Новости фронтенда за прошедшую неделю в специальном выпуске подкаста «Веб-стандарты» в видеоформате.
Опенсорс открывает две дороги: использовать существующие решения или написать своё, учитывая опыт предков. В какой момент пора создавать новый репозиторий? Как поддерживать инструмент? Зачем вкладыва…
Расскажу про то, как делать веб быстрым, почему нужно заниматься скоростью, как измерять скорость и покажу примеры из жизни настоящих ускорений.
Вы написали библиотеку. Но чтобы ей начали пользоваться, к ней должна прилагаться хорошая и понятная документация. Как её писать? Что делать, если нужна многоязычность? Как создать понятную навигацию…
Ушла эпоха веб-мастеров, когда можно было научиться делать сайты с помощью книг и CHM-файлов. Как теперь учиться писать веб? Какую школу выбрать? Нужен ли ментор? Нужно ли образование во фронтенде? П…
-
Мы очень часто работаем с состояниями. По большей части на фронте, но также и на бэке, не говоря уже о GameDev-e. Даже турникеты и вендорные автоматы имеют state machine. Несмотря на это, многие не п…
Скорее всего, вы сталкивались с проблемой, когда ваш React-компонент становится большим, сложным и в нем появляется куча условий. Согласитесь, такие компоненты сложно читать, ревьюить и вообще понима…
Поговорим о доступности цифрового контента и сервисов, вместе попробуем ответить на важные вопросы: Почему важно проводить тесты с незрячими пользователями? Почему автоматизированных тестов или само…
Фронтенд продолжает расширять свое присутствие не только в вебе, но и в области мобильных и десктопных приложений. Однако, остается вопрос: как фронтенд-разработчикам навигировать в этом разнообразии…
Доклад будет полезен разработчикам, которые создают свою библиотеку компонентов и заботятся о доступности интерфейсов.
Бывает такое, что находишь инструмент, похожий на молоток — и всё понятно, инструкцию читать не нужно. Просто берёшь и начинаешь забивать гвозди. Время идёт, а за это время молоток стал уже мультитул…
Фронтенд — это огромное количество форм, представляющих собой однотипный код, который нужно писать и поддерживать для разных платформ. Нашего брата, фронтендера, порой называют обидным словом «Формаш…
Как использовать компилятор TS для разбора и парсинга самого языка с последующей перегонкой в другие языки программирования? На примере своего проекта спикер покажет, как решали проблему связывания …
Каждый когда-то слышал, что десктопные приложения можно разрабатывать с использованием web-технологий. Но как? Для чего? Именно на эти вопросы я постараюсь вам ответить и показать, насколько мощным …
Вагиф — разработчик бэкенда, как и многие из вас. Что ему делать, когда нужно показать какие-нибудь данные? Написать программу для консоли (вздох)? Или, может быть, выучить CSS и JavaScript (глубокий…