В рамках одного из последних проектов было реализовано современное кроссплатформенное приложение, ориентированное на настольные операционные системы — Windows и macOS. Основная цель заключалась в разработке производительного и удобного в использовании клиента, взаимодействующего с низкоуровневой библиотекой Leaf, а также предоставляющего пользователю гибкую настройку и контроль соединения.
Стек технологий и архитектура NotVPN
Ключевые технологии:
- React Native + React Native Windows + React Native macOS — база для кроссплатформенного UI.
- C++/Objective-C Native Modules — мост между React Native и низкоуровневыми библиотеками (Leaf и WinTun).
- Leaf (форк v2ray) — движок, обрабатывающий сетевой трафик через TUN-интерфейс.
- WinTun — виртуальный сетевой адаптер TUN для Windows, обязательный для корректной работы Leaf.
На Windows клиент использует связку Leaf + WinTun, что позволяет реализовать полноценное туннелирование трафика через TUN-интерфейс, обеспечивая высокий уровень контроля и безопасности. На macOS интеграция выполняется с использованием нативного фреймворка, предоставленного заказчиком.
Интерфейс: акцент на UX
В дизайне приложения особое внимание было уделено удобству пользователя:


Ключевые возможности:
- Частичное и полное шифрование трафика.
- Выбор протокола (Auto, Shadowsocks, VLESS TLS, VLESS Reality).
- Настройка DNS (операторский, пользовательский).
- Выбор стран и городов (с сохранением избранного).
- Режим туннелирования для отдельных приложений.
- Блокировка локальной сети при полном шифровании.
Пользователь может выбрать конкретные приложения, трафик которых будет проходить через тунель, что особенно удобно при необходимости обойти ограничения только для браузера или одного мессенджера.
Кроссплатформенность без компромиссов
Одно из ключевых требований — реализация интерфейса на React Native с поддержкой как Windows, так и macOS. Благодаря мощной интеграции через нативные модули, удалось обеспечить:
- минимальное потребление ресурсов;
- мгновенный запуск и отклик;
- полноценную работу TUN-интерфейса на обеих платформах;
- одинаковый UI/UX на всех устройствах.
Вывод
Этот проект наглядно демонстрирует, как с помощью React Native и правильно реализованной нативной прослойки можно создать кроссплатформенное приложение без ущерба для производительности или пользовательского опыта.
Если вам нужно разработать приложение — будь то VPN-клиент, медиаплеер, админ-интерфейс или любое другое ПО с нативным функционалом — вы можете быть уверены, что я обладаю необходимыми навыками и опытом для реализации задачи любого уровня сложности.
Хочешь такой же клиент под свою инфраструктуру? Свяжись со мной, и мы обсудим детали!