En bref / Points clés
L'ère de l'obésité numérique est révolue
Les applications de bureau modernes sont devenues des gouffres à ressources, exigeant des gigaoctets de stockage et des centaines de mégaoctets de RAM pour des fonctionnalités même basiques. Les utilisateurs sont régulièrement confrontés à des démarrages lents, des interfaces peu réactives et des ordinateurs portables qui peinent audiblement sous la charge thermique des logiciels quotidiens. Cette obésité numérique omniprésente n'est pas seulement un inconvénient ; elle représente une rupture fondamentale de la promesse d'une informatique efficace, entraînant une frustration généralisée des utilisateurs et une productivité diminuée.
Au cœur de ce problème se trouve Electron, le framework populaire permettant de créer des applications de bureau multiplateformes avec des technologies web. Bien qu'il offre une commodité inégalée aux développeurs, l'architecture d'Electron exige l'intégration d'un moteur de navigateur Chromium complet et d'un runtime Node.js.js avec chaque application. Cette inclusion lourde, dépassant souvent les 100 Mo pour une application "hello world" de base, transforme de simples utilitaires en téléchargements importants et en empreintes mémoire persistantes. Le coût de cette abstraction est directement supporté par l'utilisateur final.
Ce n'est pas seulement un compromis pour les développeurs ; c'est une crise profonde de l'expérience utilisateur que l'industrie a inexplicablement normalisée. Nous avons collectivement accepté qu'un client de chat comme Discord ou un éditeur de code comme VS Code ait besoin de plus de ressources système qu'un système d'exploitation entier autrefois, ou qu'une simple application de prise de notes consomme des centaines de mégaoctets. Les utilisateurs installent souvent moins d'applications, ou tolèrent des performances dégradées et une autonomie de batterie réduite, au lieu d'exiger mieux, reflétant une résignation à l'inefficacité omniprésente.
Mais que se passerait-il si cette lourdeur omniprésente était fondamentalement inutile ? Et si la commodité perçue d'écrire une fois et de déployer partout nous avait menés sur une voie d'inefficacité inacceptable, sacrifiant l'expérience utilisateur sur l'autel de l'agilité des développeurs ? Une nouvelle vague de frameworks remet en question ce statu quo. Ils se demandent si une application de 2 Mo peut offrir une expérience de bureau qui non seulement rivalise avec, mais surpasse radicalement, ses prédécesseurs numériquement obèses. L'ère de l'acceptation de logiciels massifs et gourmands en ressources comme norme incontestée pourrait enfin être révolue.
Voici Zero Native : La Révolution Mince
Zero Native arrive comme une solution radicale à l'obésité numérique qui afflige les applications de bureau modernes. Ce framework innovant s'attaque directement au problème de la lourdeur en repensant fondamentalement la manière dont les technologies web alimentent les expériences natives. Il promet un avenir où les applications puissantes n'exigeront plus des gigaoctets de stockage ou des centaines de mégaoctets de RAM, mais livreront plutôt des binaires légers et performants.
À la base, Zero Native utilise un shell Zig léger pour héberger une webview, offrant aux développeurs une flexibilité inégalée. Ce shell peut exploiter soit la webview intégrée au système pour une légèreté et une intégration maximales, soit inclure une instance Chromium complète lorsque la cohérence de rendu spécifique entre les plateformes est primordiale. Ce choix architectural stratégique évite fondamentalement la surcharge inhérente à l'expédition d'un runtime Node.js.js entier et d'un moteur de navigateur complet par défaut, un fardeau significatif commun aux applications Electron.
La caractéristique principale reste sa taille binaire étonnamment petite. Là où les applications Electron pèsent régulièrement des centaines de mégaoctets en raison de leurs dépendances Chromium et Node.js.js incluses, Zero Native produit des binaires des ordres de grandeur plus petits. Par exemple, une application Zero Native complète peut ne peser que 2,9 Mo, certains développeurs signalant des builds réussies de moins d'un mégaoctet. Cela réduit considérablement les temps de téléchargement, améliore la vitesse de démarrage et minimise l'empreinte des ressources système.
Issu de Vercel Labs, un innovateur de premier plan dans l'écosystème web, Zero Native exploite le langage de programmation Zig pour son efficacité et son contrôle inégalés. La capacité unique de Zig à appeler directement le C, sans aucune colle Foreign Function Interface (FFI), assure la coque native la plus fine possible. Cela permet une intégration directe et transparente avec les API au niveau du système d'exploitation et toute bibliothèque C via une seule importation, permettant aux développeurs web de créer des applications natives véritablement performantes sans la surcharge d'exécution traditionnelle ou les couches d'interopérabilité complexes.
Pourquoi Zig est la sauce secrète
Zig est la technologie fondamentale qui alimente la révolution légère de Zero Native. Ce langage de programmation à usage général n'est pas seulement un choix, mais une pierre angulaire stratégique, permettant au framework de tenir sa promesse d'empreinte minimale et de performances maximales. Sa philosophie de conception s'aligne parfaitement avec l'objectif de se débarrasser de l'encombrement numérique.
Au cœur de l'attrait de Zig se trouvent ses puissants avantages : des performances exceptionnelles, une gestion manuelle directe de la mémoire sans vérificateur d'emprunt complexe, et une simplicité surprenante. Contrairement aux langages qui introduisent des runtimes lourds ou des ramasse-miettes, Zig offre un contrôle de bas niveau, favorisant une utilisation efficace des ressources. Cela permet aux développeurs de créer des applications rapides, réactives et consommant beaucoup moins de ressources système.
La caractéristique la plus critique de Zig pour Zero Native est son interopérabilité C transparente. Il appelle directement les fonctions et bibliothèques C sans nécessiter de code de liaison Foreign Function Interface (FFI). Cela signifie que toute bibliothèque OS native ou SDK C existant devient une simple importation directe, permettant à Zero Native d'accéder aux API au niveau du système avec une facilité et une rapidité inégalées.
Cette interaction directe avec le système d'exploitation sous-jacent simplifie radicalement l'architecture par rapport à d'autres frameworks. Electron, par exemple, regroupe des runtimes Chromium et Node.js.js entiers, créant une couche épaisse et gourmande en ressources. Même Electrobun, tout en visant des binaires plus légers, achemine les appels natifs via le FFI de Bun, impliquant des couches C++ et Objective-C.
Zero Native, en revanche, fonctionne avec seulement le binaire Zig en son cœur. Il ne nécessite aucun runtime JavaScript ou Bun supplémentaire pour sa couche native, communiquant directement avec les API OS et les bibliothèques C. Ce choix de conception fondamental permet à Zero Native de créer la coque native la plus fine possible, un facteur crucial pour atteindre les tailles binaires inférieures à 3 Mo qui définissent son attrait. Explorez davantage cette approche innovante sur Zero Native.
Votre première application en moins de 5 minutes
Construire une application Zero Native est étonnamment simple, surtout pour ceux habitués au développement web moderne. Les développeurs commencent par installer Zig, le langage fondamental, puis installent Zero Native lui-même. Une seule commande, `zero-native init <project-name> --frontend <framework>`, initialise un nouveau projet, configurant les répertoires nécessaires et la configuration initiale.
Ce processus de configuration met immédiatement en évidence l'engagement de Zero Native envers la familiarité des développeurs. Il prend en charge les frameworks frontend populaires, permettant aux équipes de tirer parti de leur expertise existante au lieu d'apprendre un paradigme entièrement nouveau. Les développeurs peuvent choisir parmi : - React - Svelte - Vue - Next.js - Ou une configuration Vite minimale
La navigation dans un nouveau projet Zero Native révèle une structure claire et intuitive. Un fichier crucial est `app.zon`, un fichier Zig Object Notation qui configure les paramètres de base de l'application. Cela inclut l'icône de l'application, le nom du projet, le choix du moteur web (webview système ou Chromium intégré) et les dimensions initiales de la fenêtre. Le répertoire `frontend`, familier à tout développeur JavaScript, contient tout le code d'interface utilisateur basé sur le web.
Une fois à l'intérieur du projet, le flux de travail de développement est tout aussi rationalisé. L'exécution de `zig build run` installe les dépendances et lance l'application dans une nouvelle fenêtre. Pour le développement actif, `zig build dev` compile le binaire et démarre le serveur de développement de Zero Native, permettant des mises à jour instantanées et en temps réel au sein de l'application native à mesure que les modifications de code sont enregistrées. Lorsque l'application est prête pour la distribution, `zig build package` compile le binaire natif final, incroyablement léger, souvent de moins de 3 mégaoctets.
La Magie d'une Boucle de Développement Instantanée
Le développement multiplateforme moderne implique souvent des cycles d'itération frustrants et lents. Les développeurs sont confrontés à des temps de compilation longs et à des changements de contexte constants, un goulot d'étranglement notoire qui sape la productivité et étouffe la créativité. Zero Native redéfinit radicalement cette expérience, plaçant une boucle de développement fluide et réactive au cœur de sa philosophie de conception, visant à rendre la création d'applications natives véritablement agréable.
Zero Native tire parti de la puissance de Zig pour offrir une boucle de développement instantanée qui semble révolutionnaire pour les applications natives. L'exécution de `zig build dev` compile le binaire principal et lance le serveur de développement de Zero Native. Cette commande unique orchestre l'ensemble du cycle de vie du frontend, intégrant de manière transparente les modifications de la couche webview directement dans l'application de bureau native en cours d'exécution sans nécessiter un redémarrage complet.
Les développeurs constatent des mises à jour en temps réel lorsqu'ils modifient le code, imitant les meilleurs aspects du développement web moderne. Modifiez une ligne dans votre frontend React, Svelte ou Vue, et l'application native reflète instantanément ce changement à l'écran. Cette capacité de rechargement à chaud élimine l'attente fastidieuse associée aux builds natifs traditionnels, permettant une expérimentation rapide et une conception itérative sans rompre la concentration ou le flux.
Contrastez cela avec la réalité souvent lente du développement Electron, où la reconstruction et le redémarrage d'une application peuvent consommer de précieuses minutes, parfois même plus longtemps pour les projets plus importants. L'architecture inhérente d'Electron, qui repose sur l'intégration d'un runtime Chromium et Node.js.js complet pour chaque itération, entraîne fréquemment des processus lourds et des surcharges importantes. Les développeurs passent un temps précieux à regarder des barres de progression au lieu de créer des fonctionnalités.
La fine enveloppe Zig de Zero Native, hébergeant une webview système, contourne entièrement ces inefficacités. La boucle de rétroaction rapide fait plus que simplement stimuler la productivité ; elle transforme la sensation même du développement d'applications natives. Elle rend la création d'applications de bureau robustes aussi immédiate et agréable que l'élaboration d'expériences web modernes, favorisant un environnement créatif où les développeurs peuvent se concentrer sur les fonctionnalités et l'expérience utilisateur au lieu d'attendre les compilateurs. Zero Native ne promet pas seulement des binaires plus petits ; il offre une expérience développeur qui est véritablement plus rapide et plus engageante, un net départ de l'obésité numérique qui afflige les solutions existantes.
Livrer une Merveille de Moins de 3 Mo
L'exécution de `zig build package` transforme un projet Zero Native en une application prête pour la production. Cette commande cruciale compile l'ensemble du projet, y compris la fine enveloppe Zig et les ressources web groupées, en un seul exécutable autonome. Le résultat immédiat est frappant : un fichier binaire mesurant souvent à peine 2,9 mégaoctets.
Cette empreinte inférieure à 3 Mo représente un départ radical de l'obésité numérique qui afflige les applications de bureau modernes. Pour les utilisateurs, cela signifie des téléchargements instantanés, un impact négligeable sur l'espace disque et des temps de lancement ultra-rapides, améliorant la satisfaction globale de l'utilisateur. Pour les développeurs et les entreprises, cela se traduit par une distribution considérablement plus facile, des coûts d'hébergement réduits et des mises à jour simplifiées, en particulier dans les environnements à bande passante ou à stockage limités.
Atteindre une taille aussi minimale offre des avantages tangibles tout au long du cycle de vie du logiciel. Les applications construites avec Zero Native minimisent la consommation des ressources système, contribuant à une meilleure autonomie de la batterie sur les ordinateurs portables et à une sensation plus réactive sur diverses configurations matérielles. Cette efficacité répond directement à la principale plainte des utilisateurs concernant les alternatives plus lourdes.
La communauté repousse déjà ces limites. Des efforts dédiés démontrent le potentiel du framework pour une optimisation extrême, les développeurs réussissant à réduire les binaires à moins de 1 mégaoctet. Ce niveau de compacité est pratiquement inédit pour des applications de bureau riches en fonctionnalités, ce qui témoigne de l'approche agressive de Zero Native en matière d'efficacité et de gestion des ressources.
Cette prouesse technique concrétise directement la promesse fondamentale de Zero Native : offrir des performances et une efficacité véritablement natives tout en tirant parti des technologies web familières. En se débarrassant du lourd bagage des runtimes traditionnels comme Node.js et Chromium (lors de l'utilisation de la webview système), Zero Native offre une expérience indiscernable d'une application native traditionnellement écrite, mais avec les cycles de développement rapides que les développeurs web attendent. Pour des informations plus approfondies sur l'architecture du framework et son développement continu, visitez vercel-labs/zero-native: Build desktop + mobile apps with Zig and web UI - GitHub.
Choc des Titans : Zero Native vs. Electrobun
De nouveaux concurrents émergent rapidement chaque fois qu'une technologie disruptive comme Zero Native apparaît. Electrobun se présente comme un autre acteur notable dans cette catégorie naissante, promettant également des applications de bureau légères et performantes construites avec des technologies web. Cependant, Zero Native et Electrobun divergent significativement dans leurs philosophies architecturales sous-jacentes, créant des compromis distincts pour les développeurs.
Zero Native défend une approche pure Zig. Sa conception de base comprend un binaire Zig mince qui héberge directement une webview système. Toute la communication entre le frontend web et les API natives se fait via des ponts JSON, Zig gérant directement toutes les interactions au niveau de l'OS et les appels de bibliothèques C, ne nécessitant aucune colle FFI ou couches intermédiaires.
Electrobun, à l'inverse, emploie une architecture plus hybride. Bien qu'il commence également avec un binaire Zig pour démarrer l'application, son environnement d'exécution principal est un runtime de worker web Bun. Les développeurs écrivent leur logique de processus principal en TypeScript, tirant parti de l'écosystème JavaScript étendu. Le FFI de Bun gère ensuite la communication avec les API natives, en passant par des couches C++ et Objective-C.
Cette différence fondamentale crée une distinction claire. Zero Native offre la « coque native la plus fine possible », privilégiant un minimum de surcharge et un accès direct au matériel. Cela signifie que les développeurs pourraient avoir besoin de s'engager avec du code Zig ou des fichiers de configuration, comme `app.zon`, pour personnaliser ou étendre pleinement les fonctionnalités, ce qui pourrait représenter une courbe d'apprentissage pour les développeurs JavaScript purs.
La force de Zero Native réside dans son efficacité radicale et sa directivité. Il offre des tailles binaires inégalées, souvent inférieures à 3 Mo, et des performances natives maximales en éliminant les couches d'abstraction inutiles. Cependant, le framework est encore en cours de maturation ; la vidéo a noté que certaines fonctionnalités, comme les styles de barre de titre personnalisés ou les éléments de menu, ne sont pas encore directement prises en charge via la configuration.
Electrobun, en revanche, offre un environnement robuste et familier aux développeurs JavaScript et TypeScript. Il permet une intégration plus poussée avec l'écosystème Bun et inclut souvent plus de fonctionnalités prêtes à l'emploi, telles que des personnalisations avancées de l'interface utilisateur. Cette commodité a un coût : une empreinte légèrement plus grande et des couches supplémentaires entre le web worker et les API du système d'exploitation natif.
En fin de compte, le choix dépend des priorités du projet. Zero Native convient aux applications exigeant une taille minimale absolue et des performances natives optimales, idéal pour les utilitaires de niveau système ou les outils hautement optimisés. Electrobun s'adresse aux développeurs qui privilégient une intégration maximale de l'écosystème JavaScript et la productivité au sein d'un puissant runtime Bun, tout en obtenant des binaires nettement plus petits que les applications Electron traditionnelles.
Un affrontement architectural
Les philosophies architecturales définissent la bataille pour la domination des applications de bureau. Electron, l'acteur en place, fonctionne sur une pile monolithique et stratifiée. Les développeurs construisent leurs applications avec JavaScript, qui s'interface ensuite avec les API Node.js.js. Ce runtime Node.js.js est, à son tour, intégré dans une instance complète du navigateur Chromium, exploitant son moteur JavaScript V8 pour l'exécution et le rendu. Enfin, Chromium communique avec le système d'exploitation sous-jacent. Cette architecture robuste mais lourde soutient les vastes capacités d'Electron, mais aussi son empreinte notoire en matière de ressources, conduisant souvent à des installateurs de plusieurs centaines de mégaoctets et à une utilisation significative de la mémoire en runtime.
Zero Native présente une vision radicalement différente, privilégiant la légèreté et la directivité. Votre code frontend JavaScript alimente toujours l'interface utilisateur, mais il réside dans une webview beaucoup plus mince. Cette webview, exploitant souvent le composant natif du système (comme WebView2 sur Windows ou WKWebView sur macOS), communique avec la logique d'application principale via un JSON Bridge spécialisé. Ce pont facilite l'échange de données structurées entre l'interface utilisateur web et le shell natif Zig.
Le shell Zig lui-même constitue le cœur natif de l'application. Écrit dans le langage Zig efficace, ce shell accède directement aux API du système d'exploitation natif et aux bibliothèques C. De manière cruciale, Zero Native élimine l'intégralité du runtime Node.js.js et le bundle complet du navigateur Chromium qu'Electron livre par défaut. Au lieu de cela, il s'appuie sur la webview existante du système pour le rendu de l'interface utilisateur, réduisant drastiquement la taille binaire et la surcharge mémoire. Cette approche directe signifie qu'il n'y a pas de moteurs JavaScript ou de pipelines de rendu web redondants dupliquant les capacités du système.
Cette simplification architecturale est le secret de l'efficacité et des performances de Zero Native. En supprimant les lourdes couches Node.js.js et de navigateur complet, les applications perdent des mégaoctets de leurs installateurs et des millisecondes de leurs temps de démarrage. Le shell natif Zig fournit un conduit léger et performant vers le système d'exploitation, permettant l'invocation directe des fonctionnalités de niveau système sans couches d'abstraction ni runtimes redondants. Cette directivité se traduit par une exécution plus rapide et une consommation de ressources plus faible à tous les niveaux.
Le JSON Bridge est un composant essentiel de cette architecture rationalisée. Il agit comme le seul canal de communication, acheminant les données et les commandes entre le JavaScript exécuté dans la webview et la logique d'application native Zig. Cette interface claire et explicite assure une communication efficace et structurée, permettant au frontend de déclencher des opérations natives et au backend de mettre à jour l'interface utilisateur sans la surcharge inhérente à un environnement de navigateur intégré. Les développeurs définissent ces contrats basés sur JSON, assurant un contrôle précis sur l'interaction entre les couches web et natives, renforçant ainsi l'engagement de Zero Native envers une empreinte minimale et une performance maximale.
Les Obstacles et les Difficultés
Zero Native présente une vision convaincante pour des applications de bureau légères, mais son itération actuelle fonctionne avec des limitations distinctes. Bien qu'il réduise radicalement la taille des binaires et permette des boucles de rétroaction instantanées pour les développeurs, il reste un framework en phase précoce. Les développeurs recherchant une parité immédiate et complète avec les plateformes établies rencontreront inévitablement des fonctionnalités manquantes et un écosystème moins mature.
Comparé aux écosystèmes matures comme Electron, ou même aux nouveaux concurrents tels que Electrobun, Zero Native est moins riche en fonctionnalités prêtes à l'emploi. Les développeurs habitués aux options de personnalisation étendues pour les éléments d'interface utilisateur constateront que la configuration `app.zon` manque actuellement de contrôle granulaire sur les fonctionnalités sophistiquées. Par exemple, la création de barres de titre personnalisées, l'implémentation d'éléments de menu natifs complexes ou les intégrations profondes dans la barre d'état système ne sont pas encore prises en charge nativement. Pour une exploration plus approfondie des fonctionnalités des concurrents, consultez la Documentation Electrobun.
L'adoption de Zero Native introduit également une courbe d'apprentissage notable, en particulier pour les développeurs principalement versés en JavaScript. Bien que le frontend reste familier, interagir avec la couche native nécessite souvent d'écrire un "petit peu de Zig" pour une intégration plus profonde ou de configurer des fichiers Zig Object Notation (`.zon`). Cette exigence, bien que minimale pour les configurations de base, représente un éloignement du développement multiplateforme purement centré sur JavaScript/TypeScript, exigeant l'acquisition d'une nouvelle compétence, bien que concise.
La nature expérimentale du framework est sans équivoque. Lors de la démonstration, le présentateur a rencontré des problèmes de compilation en tentant de packager une application macOS, soulignant sa phase de développement précoce et ses potentielles particularités spécifiques à la plateforme. De plus, Zero Native est un projet Vercel Labs, signalant son statut d'entreprise exploratoire plutôt que de produit entièrement éprouvé en production avec une stabilité et un support de niveau entreprise. Sa trajectoire de développement est encore en évolution.
Ce statut expérimental signifie que les développeurs pourraient rencontrer des bugs, une documentation moins complète ou une communauté plus petite par rapport aux frameworks plus anciens. Bien que sa nature open-source invite aux contributions, s'appuyer sur Zero Native pour des applications de production critiques exige actuellement une tolérance plus élevée pour le travail de pionnier et les solutions de contournement potentielles. Son succès futur dépend du développement rapide de fonctionnalités et de l'adoption par la communauté.
Est-ce l'avenir des applications de bureau ?
Zero Native représente une réinvention radicale du développement d'applications de bureau, défiant la domination de longue date du paradigme de la commodité d'abord d'Electron. En livrant des binaires de moins de 3 Mo et une boucle de développement instantanée, il répond directement à la principale plainte des utilisateurs concernant l'obésité numérique et à la frustration des développeurs face aux temps de compilation lents. Cette architecture légère, enracinée dans Zig, offre un plan convaincant pour la manière dont les futures applications multiplateformes pourraient fonctionner.
Ce framework n'est pas une anomalie isolée, mais plutôt un symptôme puissant d'une tendance croissante. Les développeurs augmentent de plus en plus la pile technologique web avec des langages système haute performance comme Zig et Rust. Cette approche hybride permet d'associer les riches capacités d'interface utilisateur (UI) accessibles des webviews avec la surcharge minimale et l'accès direct au système que des langages comme Zig offrent, évitant ainsi les runtimes lourds de solutions comme Electron ou même la dépendance d'Electrobun à l'égard du FFI de Bun.
Sommes-nous à un point de basculement où les développeurs commenceront à privilégier la performance et l'efficacité par rapport à la commodité perçue du tout-en-un des solutions traditionnelles ? La capacité de Zero Native à utiliser la webview native d'un système ou à inclure optionnellement Chromium, à communiquer directement avec les bibliothèques C sans colle FFI, et à maintenir une empreinte minuscule plaide fortement en sa faveur. Son expérience de développement rapide, présentant des mises à jour en temps réel et des reconstructions ultra-rapides, élimine un obstacle majeur à l'adoption de piles plus performantes.
L'avenir des applications de bureau pourrait bien être un témoignage de cette approche hybride. Imaginez une nouvelle ère de logiciels véritablement multiplateformes : des applications qui se lancent instantanément, consomment une mémoire minimale et offrent une intégration native transparente, tout en tirant parti des outils de développement web frontend familiers. Zero Native, malgré ses limitations actuelles, annonce ce changement potentiel, promettant une expérience de bureau à la fois rapide pour les utilisateurs et efficace pour les développeurs.
Foire aux questions
Qu'est-ce que Zero Native ?
Zero Native est un framework expérimental basé sur Zig pour la création d'applications de bureau et mobiles multiplateformes. Il utilise une fine enveloppe Zig pour héberger une webview, ce qui se traduit par des binaires d'application incroyablement petits et des performances élevées.
Zero Native est-il un produit officiel de Vercel ?
Zero Native est hébergé sous l'organisation 'vercel-labs' sur GitHub, ce qui indique qu'il s'agit d'un projet expérimental d'ingénieurs de Vercel. Ce n'est pas encore un produit Vercel entièrement pris en charge et prêt pour la production.
En quoi Zero Native est-il différent d'Electron ?
La différence clé est le runtime. Electron regroupe un navigateur Chromium complet et un runtime Node.js, ce qui entraîne des applications de grande taille. Zero Native utilise un binaire Zig minimal et la webview du système, ce qui se traduit par des binaires considérablement plus petits et une consommation de ressources inférieure.
Dois-je connaître Zig pour utiliser Zero Native ?
Bien que le frontend puisse être construit avec des technologies web standard comme React ou Svelte, une certaine familiarité avec Zig est bénéfique pour la configuration de l'application (le fichier app.zon) et pour effectuer des appels directs au système d'exploitation natif.