Приложение размером 2 МБ, которое пугает Electron

Устали от раздутых настольных приложений, которые пожирают вашу оперативную память на завтрак? Новый фреймворк на основе Zig под названием Zero Native создает бинарные файлы размером менее 3 МБ, и он может положить конец господству Electron.

Stork.AI
Hero image for: Приложение размером 2 МБ, которое пугает Electron
💡

Кратко / Главное

Устали от раздутых настольных приложений, которые пожирают вашу оперативную память на завтрак? Новый фреймворк на основе Zig под названием Zero Native создает бинарные файлы размером менее 3 МБ, и он может положить конец господству Electron.

Эпоха цифрового ожирения закончилась

Современные настольные приложения раздулись до пожирателей ресурсов, требуя гигабайты хранилища и сотни мегабайт оперативной памяти даже для базовой функциональности. Пользователи регулярно сталкиваются с медленным запуском, неотзывчивыми интерфейсами и ноутбуками, которые слышно, как они борются с тепловой нагрузкой от повседневного программного обеспечения. Это повсеместное цифровое ожирение — не просто неудобство; оно представляет собой фундаментальный сбой в обещании эффективных вычислений, что приводит к широкому разочарованию пользователей и снижению производительности.

В основе этой проблемы лежит Electron, популярный фреймворк, позволяющий создавать кроссплатформенные настольные приложения с использованием веб-технологий. Предлагая беспрецедентное удобство для разработчиков, архитектура Electron требует включения целого движка браузера Chromium и среды выполнения Node.js.js в каждое отдельное приложение. Это громоздкое включение, часто превышающее 100 МБ для простейшего приложения "hello world", превращает простые утилиты в значительные загрузки и постоянные объемы памяти. Стоимость этой абстракции ложится непосредственно на конечного пользователя.

Это не просто компромисс для разработчиков; это глубокий кризис пользовательского опыта, который индустрия необъяснимо нормализовала. Мы коллективно приняли, что чат-клиент, такой как Discord, или редактор кода, такой как VS Code, нуждается в большем количестве системных ресурсов, чем когда-то требовалась целая операционная система, или что простое приложение для заметок должно потреблять сотни мегабайт. Пользователи часто устанавливают меньше приложений или терпят ухудшение производительности и сокращение срока службы батареи, вместо того чтобы требовать лучшего, что отражает смирение с повсеместной неэффективностью.

Но что, если это повсеместное раздувание принципиально излишне? Что, если кажущееся удобство написания кода один раз и развертывания везде привело нас по пути неприемлемой неэффективности, жертвуя пользовательским опытом на алтаре гибкости разработчиков? Новая волна фреймворков бросает вызов этому статус-кво. Они задаются вопросом, может ли приложение размером 2 МБ обеспечить такой опыт работы с настольными компьютерами, который не только конкурирует, но и радикально превосходит своих цифровых предшественников, страдающих ожирением. Эпоха принятия массивного, ресурсоемкого программного обеспечения как бесспорной нормы, возможно, наконец-то закончилась.

Представляем Zero Native: Бережливая революция

Иллюстрация: Представляем Zero Native: Бережливая революция
Иллюстрация: Представляем Zero Native: Бережливая революция

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

В своей основе Zero Native использует тонкую оболочку Zig для размещения webview, предоставляя разработчикам беспрецедентную гибкость. Эта оболочка может использовать либо встроенный системный webview для максимальной легкости и интеграции, либо включать полный экземпляр Chromium, когда критически важна специфическая согласованность рендеринга на разных платформах. Этот стратегический архитектурный выбор принципиально избегает присущих накладных расходов на поставку всей среды выполнения Node.js.js и полного движка браузера по умолчанию, что является значительным бременем, характерным для приложений Electron.

Главной особенностью остается его удивительно малый размер бинарного файла. В то время как приложения Electron обычно весят сотни мегабайт из-за включенных зависимостей Chromium и Node.js, Zero Native производит бинарные файлы на порядки меньше. Для примера, полноценное приложение Zero Native может занимать всего 2,9 МБ, при этом некоторые разработчики сообщают об успешных сборках размером менее одного мегабайта. Это значительно сокращает время загрузки, увеличивает скорость запуска и минимизирует потребление системных ресурсов.

Разработанный в Vercel Labs, выдающемся новаторе в веб-экосистеме, Zero Native использует язык программирования Zig для своей беспрецедентной эффективности и контроля. Уникальная способность Zig напрямую вызывать C, без какого-либо связующего кода Foreign Function Interface (FFI), обеспечивает максимально тонкую нативную оболочку. Это позволяет бесшовно и напрямую интегрироваться с API уровня операционной системы и любой библиотекой C через один импорт, давая веб-разработчикам возможность создавать по-настоящему производительные нативные приложения без традиционных накладных расходов на среду выполнения или сложных слоев взаимодействия.

Почему Zig — секретный ингредиент

Zig является основополагающей технологией, движущей революцию бережливого подхода Zero Native. Этот язык программирования общего назначения — не просто выбор, а стратегический краеугольный камень, позволяющий фреймворку выполнять свое обещание минимального размера и максимальной производительности. Его философия дизайна идеально соответствует цели избавления от цифрового раздувания.

В основе привлекательности Zig лежат его мощные преимущества: исключительная производительность, прямое ручное управление памятью без сложного borrow checker и удивительная простота. В отличие от языков, которые вводят тяжелые среды выполнения или сборщики мусора, Zig обеспечивает низкоуровневый контроль, способствуя эффективному использованию ресурсов. Это позволяет разработчикам создавать быстрые, отзывчивые приложения, потребляющие значительно меньше системных ресурсов.

Наиболее важной особенностью Zig для Zero Native является его бесшовная совместимость с C. Он напрямую вызывает функции и библиотеки C, не требуя никакого связующего кода Foreign Function Interface (FFI). Это означает, что любая нативная библиотека OS или существующий C SDK становится доступной через один простой импорт, позволяя Zero Native получать доступ к API системного уровня с беспрецедентной легкостью и скоростью.

Это прямое взаимодействие с базовой операционной системой радикально упрощает архитектуру по сравнению с другими фреймворками. Electron, например, включает в себя целые среды выполнения Chromium и Node.js, создавая толстый, ресурсоемкий слой. Даже Electrobun, стремясь к более легким бинарным файлам, маршрутизирует нативные вызовы через FFI Bun, задействуя слои C++ и Objective-C.

Zero Native, напротив, работает, имея в своей основе только бинарный файл Zig. Ему не требуется дополнительная среда выполнения JavaScript или Bun для своего нативного слоя; он напрямую взаимодействует с API OS и библиотеками C. Этот фундаментальный выбор дизайна позволяет Zero Native создавать абсолютно максимально тонкую нативную оболочку, что является решающим фактором в достижении размеров бинарных файлов менее 3 МБ, определяющих его привлекательность. Узнайте больше об этом инновационном подходе на Zero Native.

Ваше первое приложение менее чем за 5 минут

Создание приложения Zero Native на удивление просто, особенно для тех, кто привык к современной веб-разработке. Разработчики начинают с установки Zig, базового языка, затем устанавливают сам Zero Native. Одна команда, `zero-native init <project-name> --frontend <framework>`, создает новый проект, настраивая необходимые каталоги и начальную конфигурацию.

Этот процесс настройки сразу же подчеркивает приверженность Zero Native к удобству для разработчиков. Он поддерживает популярные frontend-фреймворки, позволяя командам использовать свой существующий опыт вместо изучения совершенно новой парадигмы. Разработчики могут выбирать из: - React - Svelte - Vue - Next.js - Или минимальную настройку на базе Vite

Навигация по новому проекту Zero Native раскрывает четкую, интуитивно понятную структуру. Ключевым файлом является `app.zon`, файл Zig Object Notation, который настраивает основные параметры приложения. Это включает иконку приложения, название проекта, выбор веб-движка (системный webview или встроенный Chromium), а также начальные размеры окна. Каталог `frontend`, знакомый любому JavaScript-разработчику, содержит весь код пользовательского интерфейса на основе веба.

Оказавшись внутри проекта, рабочий процесс разработки ощущается столь же оптимизированным. Запуск `zig build run` устанавливает зависимости и запускает приложение в новом окне. Для активной разработки `zig build dev` компилирует бинарный файл и запускает dev-сервер Zero Native, обеспечивая мгновенные обновления в реальном времени внутри нативного приложения по мере сохранения изменений кода. Когда приложение готово к распространению, `zig build package` компилирует окончательный, невероятно компактный нативный бинарный файл, часто размером менее 3 мегабайт.

Магия мгновенного цикла разработки

Иллюстрация: Магия мгновенного цикла разработки
Иллюстрация: Магия мгновенного цикла разработки

Современная кроссплатформенная разработка часто означает мучительно медленные циклы итераций. Разработчики сталкиваются с длительным временем сборки и постоянным переключением контекста — печально известным узким местом, которое истощает продуктивность и подавляет креативность. Zero Native радикально переосмысливает этот опыт, помещая гибкий, отзывчивый цикл разработки в основу своей философии дизайна, стремясь сделать создание нативных приложений по-настоящему приятным.

Zero Native использует мощь Zig для обеспечения мгновенного цикла разработки, который кажется революционным для нативных приложений. Выполнение `zig build dev` компилирует основной бинарный файл и запускает сервер разработки Zero Native. Эта единственная команда организует весь жизненный цикл frontend, бесшовно интегрируя изменения из слоя webview непосредственно в работающее нативное настольное приложение без необходимости полного перезапуска.

Разработчики наблюдают обновления в реальном времени по мере изменения кода, имитируя лучшие аспекты современной веб-разработки. Отредактируйте строку в вашем React, Svelte или Vue frontend, и нативное приложение мгновенно отразит это изменение на экране. Эта возможность горячей перезагрузки устраняет утомительное ожидание, связанное с традиционными нативными сборками, позволяя быстро экспериментировать и итеративно проектировать, не нарушая концентрации или рабочего потока.

Сравните это с часто вялой реальностью разработки на Electron, где пересборка и перезапуск приложения могут занимать ценные минуты, иногда даже дольше для крупных проектов. Внутренняя архитектура Electron, полагающаяся на включение полного Chromium и среды выполнения Node.js для каждой итерации, часто приводит к громоздким процессам и значительным накладным расходам. Разработчики тратят драгоценное время на наблюдение за индикаторами прогресса вместо создания функций.

Тонкая оболочка Zig от Zero Native, размещающая системный webview, полностью обходит эти неэффективности. Быстрый цикл обратной связи не просто повышает продуктивность; он преобразует само ощущение разработки нативных приложений. Он делает создание надежных настольных приложений таким же непосредственным и приятным, как создание современных веб-интерфейсов, способствуя творческой среде, где разработчики могут сосредоточиться на функциях и пользовательском опыте вместо ожидания компиляторов. Zero Native не просто обещает меньшие бинарные файлы; он обеспечивает опыт разработчика, который по-настоящему быстрее и увлекательнее, что является резким отходом от «цифрового ожирения», поражающего существующие решения.

Выпуск чуда размером менее 3 МБ

Выполнение `zig build package` превращает проект Zero Native в готовое к производству приложение. Эта важнейшая команда компилирует весь проект, включая тонкую оболочку Zig и упакованные веб-ресурсы, в единый, самодостаточный исполняемый файл. Непосредственный результат поразителен: бинарный файл часто занимает всего лишь 2,9 мегабайта.

Этот размер менее 3 МБ представляет собой радикальный отход от «цифрового ожирения», поражающего современные настольные приложения. Для пользователей это означает мгновенную загрузку, незначительное влияние на дисковое пространство и молниеносное время запуска, что повышает общую удовлетворенность пользователей. Для разработчиков и предприятий это означает значительно более простое распространение, снижение затрат на хостинг и оптимизированные обновления, особенно в средах с ограниченной пропускной способностью или хранилищем.

Достижение такого минимального размера обеспечивает ощутимые преимущества на протяжении всего жизненного цикла программного обеспечения. Приложения, созданные с помощью Zero Native, минимизируют потребление системных ресурсов, способствуя увеличению времени автономной работы ноутбуков и более быстрой реакции на различных аппаратных конфигурациях. Эта эффективность напрямую решает основную жалобу пользователей на более громоздкие альтернативы.

Сообщество уже расширяет эти границы. Целенаправленные усилия демонстрируют потенциал фреймворка для экстремальной оптимизации: разработчики успешно уменьшают размер бинарных файлов до менее 1 мегабайта. Такой уровень компактности практически неслыхан для многофункциональных настольных приложений, что демонстрирует агрессивный подход Zero Native к эффективности и управлению ресурсами.

Это техническое достижение напрямую выполняет основное обещание Zero Native: обеспечение по-настоящему производительности, ощущаемой как нативная, и эффективности при использовании знакомых веб-технологий. Отказываясь от тяжелого багажа традиционных сред выполнения, таких как Node.js и Chromium (при использовании системного webview), Zero Native обеспечивает опыт, неотличимый от традиционно написанного нативного приложения, но с быстрыми циклами разработки, которые ожидают веб-разработчики. Для более глубокого понимания архитектуры фреймворка и текущей разработки посетите vercel-labs/zero-native: Build desktop + mobile apps with Zig and web UI - GitHub.

Битва титанов: Zero Native против Electrobun

Новые претенденты быстро появляются всякий раз, когда возникает прорывная технология, такая как Zero Native. Electrobun выступает еще одним заметным игроком в этой зарождающейся категории, также обещая легкие, производительные настольные приложения, созданные с использованием веб-технологий. Однако Zero Native и Electrobun значительно расходятся в своих базовых архитектурных философиях, создавая различные компромиссы для разработчиков.

Zero Native придерживается чистого подхода Zig. Его основная конструкция включает тонкий бинарный файл Zig, который напрямую размещает системный webview. Вся связь между веб-интерфейсом и нативными API происходит через JSON bridges, при этом Zig напрямую обрабатывает все взаимодействия на уровне ОС и вызовы библиотек C, не требуя FFI glue или промежуточных слоев.

Electrobun, напротив, использует более гибридную архитектуру. Хотя он также начинается с бинарного файла Zig для загрузки приложения, его основной средой выполнения является Bun web worker runtime. Разработчики пишут свою основную логику процесса на TypeScript, используя обширную экосистему JavaScript. Затем FFI Bun обрабатывает связь с нативными API, маршрутизируя через слои C++ и Objective-C.

Это фундаментальное различие создает четкое различие. Zero Native предлагает «наитончайшую возможную нативную оболочку», отдавая приоритет минимальным накладным расходам и прямому доступу к оборудованию. Это означает, что разработчикам может потребоваться взаимодействовать с некоторым кодом Zig или файлами конфигурации, такими как `app.zon`, чтобы полностью настроить или расширить функциональность, что потенциально может создать кривую обучения для разработчиков, использующих только JavaScript.

Сила Zero Native заключается в его радикальной эффективности и прямоте. Он обеспечивает беспрецедентные размеры бинарных файлов, часто менее 3 МБ, и максимальную нативную производительность за счет устранения ненужных слоев абстракции. Однако фреймворк все еще находится в стадии развития; в видео отмечалось, что некоторые функции, такие как пользовательские стили заголовков или пункты меню, пока не поддерживаются напрямую через конфигурацию.

Electrobun, напротив, предоставляет надежную и привычную среду для разработчиков JavaScript и TypeScript. Он обеспечивает более глубокую интеграцию с экосистемой Bun и часто включает больше готовых функций, таких как расширенные настройки пользовательского интерфейса. Это удобство достигается за счет немного большего размера и дополнительных слоев между веб-воркером и нативными OS APIs.

В конечном итоге выбор зависит от приоритетов проекта. Zero Native подходит для приложений, требующих абсолютно минимального размера и пиковой нативной производительности, идеально для системных утилит или высокооптимизированных инструментов. Electrobun ориентирован на разработчиков, которые ставят во главу угла максимальную интеграцию с экосистемой JavaScript и производительность в мощной среде выполнения Bun, при этом достигая значительно меньших бинарных файлов, чем традиционные приложения Electron.

Архитектурное противостояние

Иллюстрация: Архитектурное противостояние
Иллюстрация: Архитектурное противостояние

Архитектурные философии определяют борьбу за доминирование в настольных приложениях. Electron, действующий лидер, работает на многослойном, монолитном стеке. Разработчики создают свои приложения на JavaScript, который затем взаимодействует с Node.js.js APIs. Эта среда выполнения Node.js.js, в свою очередь, встроена в полный экземпляр браузера Chromium, используя его V8 JavaScript engine для выполнения и рендеринга. Наконец, Chromium взаимодействует с базовой операционной системой. Эта надежная, но тяжелая архитектура лежит в основе широких возможностей Electron, но также и его печально известного потребления ресурсов, часто приводящего к установщикам размером в сотни мегабайт и значительному использованию оперативной памяти во время выполнения.

Zero Native представляет радикально иное видение, отдавая приоритет легкости и прямоте. Ваш фронтенд-код на JavaScript по-прежнему управляет пользовательским интерфейсом, но он находится внутри гораздо более тонкого webview. Этот webview, часто использующий нативный компонент системы (например, WebView2 в Windows или WKWebView в macOS), взаимодействует с основной логикой приложения через специализированный JSON Bridge. Этот мост облегчает структурированный обмен данными между веб-интерфейсом и нативной оболочкой Zig.

Сама оболочка Zig формирует нативное ядро приложения. Написанная на эффективном языке Zig, эта оболочка напрямую обращается к нативным OS APIs и C libraries. Важно отметить, что Zero Native устраняет всю среду выполнения Node.js.js и полный пакет браузера Chromium, который Electron поставляет по умолчанию. Вместо этого он полагается на существующий системный webview для рендеринга пользовательского интерфейса, что значительно сокращает размер бинарных файлов и накладные расходы на память. Этот прямой подход означает отсутствие избыточных JavaScript engines или конвейеров веб-рендеринга, дублирующих системные возможности.

Это архитектурное упрощение является секретом эффективности и производительности Zero Native. Устраняя тяжелые слои Node.js.js и полного браузера, приложения сокращают мегабайты в своих установщиках и миллисекунды во времени запуска. Нативная оболочка Zig обеспечивает легкий, производительный канал к операционной системе, позволяя напрямую вызывать системные функции без слоев абстракции или избыточных сред выполнения. Эта прямота приводит к более быстрому выполнению и меньшему потреблению ресурсов в целом.

JSON Bridge является критически важным компонентом в этой оптимизированной архитектуре. Он выступает в качестве единственного канала связи, управляя данными и командами между JavaScript, работающим в webview, и нативной логикой приложения на Zig. Этот четкий, явный интерфейс обеспечивает эффективную, структурированную связь, позволяя фронтенду запускать нативные операции, а бэкенду обновлять пользовательский интерфейс без присущих накладных расходов на среду встроенного браузера. Разработчики определяют эти JSON-контракты, обеспечивая точный контроль над взаимодействием между веб- и нативными слоями, что еще больше укрепляет приверженность Zero Native минимальному размеру и максимальной производительности.

Препятствия и трудности

Zero Native представляет убедительное видение для легковесных настольных приложений, однако его текущая итерация работает с определенными ограничениями. Хотя он радикально уменьшает размер бинарных файлов и обеспечивает мгновенную обратную связь для разработчиков, он остается фреймворком на ранней стадии развития. Разработчики, ищущие немедленного, полнофункционального паритета с устоявшимися платформами, неизбежно столкнутся с отсутствующими функциями и менее зрелой экосистемой.

По сравнению со зрелыми экосистемами, такими как Electron, или даже более новыми конкурентами, такими как Electrobun, Zero Native менее функционален «из коробки». Разработчики, привыкшие к обширным возможностям настройки элементов пользовательского интерфейса, обнаружат, что конфигурация `app.zon` в настоящее время не обеспечивает детального контроля над сложными функциями. Например, создание пользовательских заголовков окон, реализация сложных нативных пунктов меню или глубокая интеграция с системным треем пока не поддерживаются нативно. Для более подробного изучения функций конкурентов обратитесь к Electrobun Documentation.

Внедрение Zero Native также сопряжено с заметной кривой обучения, особенно для разработчиков, в основном владеющих JavaScript. Хотя фронтенд остается привычным, взаимодействие с нативным слоем часто требует написания «немного Zig» для более глубокой интеграции или настройки файлов Zig Object Notation (`.zon`). Это требование, хотя и минимальное для базовых настроек, представляет собой отход от чисто JavaScript/TypeScript-ориентированной кроссплатформенной разработки, требуя приобретения нового, хотя и краткого, навыка.

Экспериментальный характер фреймворка недвусмысленно ясен. Во время демонстрации у докладчика возникли проблемы со сборкой при попытке упаковать приложение для macOS, что подчеркивает его раннюю стадию разработки и потенциальные особенности, специфичные для платформы. Кроме того, Zero Native берет свое начало как проект Vercel Labs, что указывает на его статус исследовательского предприятия, а не полностью готового к производству продукта с корпоративной стабильностью и поддержкой. Его траектория развития все еще формируется.

Этот экспериментальный статус означает, что разработчики могут столкнуться с ошибками, менее полной документацией или меньшим сообществом по сравнению со старыми фреймворками. Хотя его открытый исходный код приглашает к участию, использование Zero Native для критически важных производственных приложений в настоящее время требует большей терпимости к новаторской работе и потенциальным обходным путям. Его будущий успех зависит от быстрого развития функций и принятия сообществом.

Это будущее настольных приложений?

Zero Native представляет собой радикальное переосмысление разработки настольных приложений, бросая вызов давнему доминированию парадигмы Electron, ориентированной на удобство. Предоставляя бинарные файлы размером менее 3 МБ и мгновенный цикл разработки, он напрямую решает основную жалобу пользователей на «цифровое ожирение» и разочарование разработчиков от медленного времени сборки. Эта легковесная архитектура, основанная на Zig, предлагает убедительный план того, как могут работать будущие кроссплатформенные приложения.

Этот фреймворк — не изолированная аномалия, а скорее мощный симптом растущей тенденции. Разработчики всё чаще дополняют стек веб-технологий высокопроизводительными системными языками, такими как Zig и Rust. Этот гибридный подход позволяет сочетать богатые, доступные возможности пользовательского интерфейса веб-представлений с минимальными накладными расходами и прямым доступом к системе, которые предоставляют такие языки, как Zig, обходя тяжёлые среды выполнения таких решений, как Electron или даже зависимость Electrobun от Bun's FFI.

Находимся ли мы в переломном моменте, когда разработчики начнут отдавать приоритет производительности и эффективности перед предполагаемым удобством «всё в одном» традиционных решений? Способность Zero Native использовать нативное веб-представление системы или опционально включать Chromium, напрямую взаимодействовать с библиотеками C без FFI-связующего слоя и поддерживать крошечный размер делает его убедительным аргументом. Его быстрый процесс разработки, демонстрирующий обновления в реальном времени и молниеносную пересборку, устраняет значительный барьер для внедрения более производительных стеков.

Будущее настольных приложений вполне может стать свидетельством этого гибридного подхода. Представьте новую эру по-настоящему кроссплатформенного программного обеспечения: приложения, которые запускаются мгновенно, потребляют минимум памяти и предлагают бесшовную нативную интеграцию, при этом используя привычные инструменты веб-фронтенда. Zero Native, несмотря на свои текущие ограничения, предвещает этот потенциальный сдвиг, обещая настольный опыт, который будет быстрым для пользователей и эффективным для разработчиков.

Часто задаваемые вопросы

Что такое Zero Native?

Zero Native — это экспериментальный фреймворк на базе Zig для создания кроссплатформенных настольных и мобильных приложений. Он использует тонкую оболочку Zig для размещения веб-представления, что приводит к невероятно маленьким бинарным файлам приложений и высокой производительности.

Является ли Zero Native официальным продуктом Vercel?

Zero Native находится в организации 'vercel-labs' на GitHub, что указывает на то, что это экспериментальный проект инженеров Vercel. Это ещё не полностью поддерживаемый, готовый к производству продукт Vercel.

Чем Zero Native отличается от Electron?

Ключевое отличие — среда выполнения. Electron включает в себя полный браузер Chromium и среду выполнения Node.js, что приводит к большим размерам приложений. Zero Native использует минимальный бинарный файл Zig и системное веб-представление, что приводит к значительно меньшим бинарным файлам и более низкому потреблению ресурсов.

Нужно ли знать Zig, чтобы использовать Zero Native?

Хотя фронтенд может быть построен с использованием стандартных веб-технологий, таких как React или Svelte, некоторое знакомство с Zig полезно для настройки приложения (файл app.zon) и для выполнения прямых вызовов нативной ОС.

Часто задаваемые вопросы

Это будущее настольных приложений?
Zero Native представляет собой радикальное переосмысление разработки настольных приложений, бросая вызов давнему доминированию парадигмы Electron, ориентированной на удобство. Предоставляя бинарные файлы размером менее 3 МБ и мгновенный цикл разработки, он напрямую решает основную жалобу пользователей на «цифровое ожирение» и разочарование разработчиков от медленного времени сборки. Эта легковесная архитектура, основанная на Zig, предлагает убедительный план того, как могут работать будущие кроссплатформенные приложения.
Что такое Zero Native?
Zero Native — это экспериментальный фреймворк на базе Zig для создания кроссплатформенных настольных и мобильных приложений. Он использует тонкую оболочку Zig для размещения веб-представления, что приводит к невероятно маленьким бинарным файлам приложений и высокой производительности.
Является ли Zero Native официальным продуктом Vercel?
Zero Native находится в организации 'vercel-labs' на GitHub, что указывает на то, что это экспериментальный проект инженеров Vercel. Это ещё не полностью поддерживаемый, готовый к производству продукт Vercel.
Чем Zero Native отличается от Electron?
Ключевое отличие — среда выполнения. Electron включает в себя полный браузер Chromium и среду выполнения Node.js, что приводит к большим размерам приложений. Zero Native использует минимальный бинарный файл Zig и системное веб-представление, что приводит к значительно меньшим бинарным файлам и более низкому потреблению ресурсов.
Нужно ли знать Zig, чтобы использовать Zero Native?
Хотя фронтенд может быть построен с использованием стандартных веб-технологий, таких как React или Svelte, некоторое знакомство с Zig полезно для настройки приложения и для выполнения прямых вызовов нативной ОС.
🚀Узнать больше

Будьте в курсе трендов ИИ

Откройте лучшие инструменты ИИ, агенты и MCP-серверы от Stork.AI.

Все статьи