Reading view

React Fiber: как React научился прерывать рендер и расставлять приоритеты

Банальный пример — когда печатаешь в input, а интерфейс начинает лагать на большом списке: классическая боль старого React. Я решил разобраться, как и почему React переписал свою архитектуру: отказался от рекурсивного обхода дерева, изобрел новую структуру данных и научился прерывать рендер ради нашего ввода.

В статье рассмотрю проблемы синхронной отрисовки и переход к новой архитектуре,  почему пришлось отказаться от методов жизненного цикла с приставкой *will, что такое Fiber, почему первый вариант приоритизации с ExpirationTime не сработал и как пришли к React Lanes.

Читать далее
  •  

Локальный компаньон для Genshin, HSR и ZZZ: как я упаковал три игры в офлайн‑приложение без бэкенда

Забыли забрать ежедневные гемы или потеряли счёт круткам до гаранта? Рассказываю, как я решил собственную проблему и разработал GachaPoint — бесплатный офлайн‑компаньон для Genshin Impact, Honkai: Star Rail и Zenless Zone Zero без бэкенда и рекламы.

В статье разбираю техническую изнанку проекта для Android (Java / Architecture Components): Зачем использовал «плоскую» таблицу в SQLite (Room) для календаря и как это ускоряет выборки за один запрос, Почему для сетки дней кастомный GridLayout оказался удобнее RecyclerView, Как настроить точные ежедневные напоминания через WorkManager с учётом жестких ограничений Doze Mode в Android 12/13+.

Исходники проекта открыты, буду рад обсудить архитектуру и UI‑решения в комментариях!

Читать далее
  •  

Когда продукт считать готовым? Или мы обречены на вечный допил…

Привет, Хабр! (И тебе, случайный читатель, который открыл эту статью в перерыве между двадцатой правкой того, что ты ещё месяц назад гордо назвал финальной версией).

Сегодня давайте без кода и без нытья пофилософствуем на тему:

Когда же продукт готов? И будет ли готов когда-нибудь...?

Читать далее
  •  

Фреймворк WebDesktopGL для запуска веб-сайтов как десктопных приложений в Astra Linux и Linux системах. Через Chromium

WebDesktopGL — это фреймворк для преобразования веб-сайтов в настольные приложения на основе Chromium. Совместим с Astra Linux и другими системами Linux. В статье рассказано о следующем:

Как использовать браузер Chromium в качестве отдельного графического движка (параметры запуска Chromium).

Как на виртуальном экране Xephyr или Xvfb (X-сервере) реализованном над Xorg, добавить поддержку GPU видеокарты.

Как реализовать буфер обмена между дисплеями с помощью xclip в Astra Linux и других системах Linux.

Цель работы — это создание аналога фреймворка Electron, альтернативного программного продукта WebDesktopGL, для Astra Linux и других систем Linux. Фреймворк WebDesktopGL был протестирован в средах Wayland и X11 в Ubuntu 24.04 (KDE), в X11 Ubuntu 22.04 (KDE) и Astra Linux 1.8.

Читать далее
  •  

Почему мне больше не весело делать игры

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

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

Особенно остро это бьет по тем, кто отдал профессии порядка 15-20 лет. Поколению, которое до сих пор относится к своей работе как к особому виду искусства, тошно от коллег, пришедших только за деньгами и не желающих по-настоящему учиться и развиваться.

Согласно статистике последних лет, до 75% сеньоров и лидов сталкиваются с глубоким выгоранием, а каждый пятый «возрастной» специалист всерьез рассматривает радикальный дауншифтинг или полный уход из профессии. Отпуск или смена галеры уже не помогают. Стресс вызывает одна только мысль об открытии проекта на рабочем ПК.

Под катом мы поговорили с коллегой из сферы геймдева, который давным-давно нашел и потерял себя в этой нише и хотим поделиться с вами его историей.

Читать далее
  •  
❌