Дайджесты новостей
Европейский комикс BD: мобильный разработчик тестирует сборку React Native 0.88 и Expo SDK 58 с аппаратным рендерингом FastImage на смартфонах.

Мобильный стек на React: релиз React Native 0.88, Expo SDK 58 и FastImage 10

Разработка кроссплатформенных мобильных приложений на React Native вступает в фазу зрелости. Эпоха экспериментов с мостом (Bridge) и нестандартными проприетарными API уходит в прошлое.

Главный вектор развития современного мобильного стека — абсолютная конвергенция с веб-стандартами W3C и бесшовная интеграция с новейшими возможностями операционных систем iOS 18 и Android 15.

В сегодняшнем обзоре мы препарируем сразу три важнейших релиза мобильной экосистемы: ядро React Native 0.88, платформенный каркас Expo SDK 58 и долгожданный мажорный выпуск библиотеки кэширования изображений FastImage 10.

Давай посмотрим, что изменилось под капотом и как это ускорит наши приложения.

React Native 0.88

Релиз React Native 0.88 продолжает масштабную полировку Новой Архитектуры (New Architecture), включенной по умолчанию.

Ключевое архитектурное новшество релиза — полная стандартизация подсистемы событий на базе спецификации W3C EventTarget:

// Использование стандартного EventTarget в React Native 0.88
import { useEffect } from 'react';
import { AppState, type NativeEventSubscription } from 'react-native';

export function useNetworkMonitor() {
  useEffect(() => {
    // Теперь нативные модули реализуют полноценный интерфейс EventTarget!
    const controller = new AbortController();

    window.addEventListener(
      'focus',
      () => {
        console.log('Приложение вернулось в активный фокус (W3C standard)');
      },
      { signal: controller.signal }
    );

    return () => {
      controller.abort(); // Отписка через стандартный AbortSignal!
    };
  }, []);
}

Раньше каждый нативный модуль React Native использовал собственный велосипед для подписки на события (NativeEventEmitter), требующий вызова .remove() на возвращенном объекте подписки. Теперь разработчики могут использовать стандартный метод addEventListener с поддержкой AbortSignal, что устраняет сотни строк бойлерплейта и предотвращает утечки памяти.

Кроме того, в версии 0.88 улучшен рендеринг текстовых полей на Android 15 и оптимизирован расход памяти JavaScript-движка Hermes при сборке мусора. О том, как устроена New Architecture в боевом проде, мы ранее рассуждали в исследовании React Native в 2026 году: New Architecture и нативный слой.

Expo SDK 58

Фреймворк Expo де-факто стал стандартным способом создания приложений на React Native. Релиз SDK 58 сфокусирован на поддержке новейших возможностей операционных систем:

  1. Интеграция с App Intents (iOS 18 / Siri Shortcuts): теперь разработчик может объявлять действия приложения, доступные голосовому ассистенту и системному поиску Spotlight, прямо в JavaScript-коде.
  2. Оптимизация Hermes Static Analysis: время холодного запуска приложений на устройствах среднего ценового сегмента снизилось на 18%.
  3. Обновленный Expo Device Hub: возможность запускать и тестировать облачные эмуляторы мобильных устройств прямо из окна браузера без установки тяжелого Xcode на локальную машину.
// app.json — включение нативных App Intents в Expo SDK 58
{
  "expo": {
    "name": "NeuroTrack",
    "slug": "neuro-track",
    "version": "1.0.0",
    "ios": {
      "supportsTablet": true,
      "entitlements": {
        "com.apple.developer.app-intents": true
      }
    }
  }
}

FastImage 10

Отображение сотен картинок в ленте мобильного приложения (например, в каталоге товаров или социальной сети) — традиционный источник просадки FPS и мерцания интерфейса. Стандартный компонент <Image> часто не справляется с агрессивным кэшированием и декодированием графики.

Библиотека FastImage 10 вернулась с фундаментальным переосмыслением:

  • Полная переработка под Новую Архитектуру (TurboModules и Fabric).
  • Аппаратное декодирование форматов AVIF и WebP на уровне графических чипов iOS и Android.
  • Гранулярный контроль приоритетов загрузки (priority: FastImage.priority.high) и предзагрузка пачек изображений в фоновый кэш оперативной памяти.
import FastImage from 'react-native-fast-image';

export function ProductCard({ imageUrl }) {
  return (
    <FastImage
      style={{ width: 200, height: 200, borderRadius: 12 }}
      source={{
        uri: imageUrl,
        headers: { Authorization: 'Bearer token' },
        priority: FastImage.priority.normal,
        cache: FastImage.cacheControl.immutable,
      }}
      resizeMode={FastImage.resizeMode.cover}
    />
  );
}

Итог по мобильному стеку

Связка React Native 0.88, Expo SDK 58 и FastImage 10 делает мобильную разработку на React быстрой, предсказуемой и максимально приближенной к стандартам нативных платформ.