
sur lequel il serait possible de compiler une application pour Mac et l'exécuter
Airyx est un nouveau projet d'OS open source qui vise à fournir une expérience similaire et une certaine compatibilité avec macOS sur les systèmes x86-64. Il s'appuie sur les solides fondations de FreeBSD, les paquets open source existants dans le même espace, et du nouveau code pour combler les lacunes. Airyx a pour but d'être élégant, stable, familier et intuitif, de gérer vos tâches quotidiennes et de fournir autant de compatibilité que possible avec l'OS commercial qui l'a inspiré. L'OS est actuellement développé par Zoé Knox (et d'autres) et le code source est disponible sur GitHub.
Airyx : un système d'exploitation qui s'inspire de macOS
Pourquoi Airyx s'appuie-t-il sur BSD au lieu de Linux ? Selon l'équipe, en théorie, il sera plus facile de construire du code Mac sur FreeBSD, car il est plus proche de macOS que de Linux. Les noyaux BSD supportent également une interface d'appel système étrangère, ce qui devrait faciliter l'émulation des appels système Mach, et éliminer le besoin d'émuler les appels système BSD comme le fait Darling (sur Linux). Airyx place les éléments du système principalement dans /System, /Library, et /usr. L'arbre /usr/local est réservé aux ajouts de l'utilisateur (comme les paquets FreeBSD).
Les répertoires personnels des utilisateurs sont placés de manière appropriée dans /Users, et chacun dispose d'un dossier ~/Library pour les applications Cocoa. Zsh est le Shell système par défaut, comme c'est le cas sur les Mac dont Airyx s'inspire. En effet, Apple a remplacé Bash par Zsh (Z Shell) comme Shell par défaut depuis macOS Catalina sorti en 2019. Bash est toutefois toujours disponible. Les développeurs pourront continuer à utiliser par défaut, sur macOS Mojave et les versions antérieures, Bash comme interpréteur de ligne de commande pour le Shell de connexion et le Shell interactif.
À l'époque, Apple avait tout de même encouragé les développeurs à commencer à se familiariser avec Zsh qui est beaucoup plus moderne et interactif que Bash. Pour en revenir à Airyx, l'équipe note que les applications correctement empaquetées se trouvent généralement sous /Applications ou ~/Applications et sont construites sous la forme d'un paquet .app ou d'une AppImage. Les applications traditionnelles de type Unix sont installées dans des répertoires fixes comme d'habitude. Airyx fournit une implémentation de Cocoa (encore incomplète) et un runtime Objective-C moderne installés dans /System/Library/Frameworks.
Les compilateurs et les linkers ont été corrigés pour supporter les frameworks, et les arguments standard -F et -framework fonctionnent comme prévu. Le support des fichiers de projet XCode est prévu, mais des Makefiles de style BSD sont disponibles aujourd'hui pour construire facilement des Bundles .app et .framework. En outre, la prise en charge de Swift est également prévue sur la feuille de route. Les principaux objectifs de conception sont les suivants :
- la compatibilité des sources avec les applications macOS (c'est-à-dire que vous pouvez compiler une application Mac sur Airyx et l'exécuter) ;
- métaphores GUI similaires et UX familier (gestionnaire de fichiers, lanceur d'applications, barre de menu supérieure qui reflète l'application ouverte, etc.) ;
- Airyx est compatible avec les systèmes de fichiers macOS (HFS+ et APFS) et la disposition des dossiers (/Bibliothèque, /Système, /Utilisateurs, /Volumes, etc.) ;
- des applications autonomes dans des dossiers ou un seul fichier et une expérience (presque) sans installateur pour /Applications ;
- Airyx maintient principalement la compatibilité avec le système de base FreeBSD et X11 - un environnement Unix standard sous le capot ;
- Airyx est compatible avec les binaires Linux via le support Linux de FreeBSD ;
- l'équipe prévoit une compatibilité avec les binaires macOS x86-64 (Mach-O) et les bibliothèques ;
- l'OS se veut agréable à utiliser, sûr, stable, et performant.
Autres caractéristiques/fonctionnalités et objectifs
- barre de menu globale ;
- raccourcis clavier et menus cohérents ;
- installation et désinstallation d'applications par glisser-déposer - pas de gestionnaire de paquets, pas d'installateurs ;
- compatibilité source avec les API Cocoa ;
- commandes familières comme launchctl et open ;
- design fluide et élégant rappelant Aqua
- etc.
Une image d'aperçu d'Airyx pour les développeurs est actuellement disponible sur GitHub. Elle est ouverte à tous, mais l'équipe a déclaré qu'elle est principalement destinée aux développeurs qui aident à construire le système et n'est pas encore prête pour une utilisation quotidienne. Il est recommandé de l'exécuter dans une machine virtuelle, bien qu'elle devrait fonctionner sur tout matériel supporté par FreeBSD 12.2 avec au moins 4GB de RAM. (8GB est recommandé).
Source : Airyx, Référentiel GitHub du projet
Et vous ?

Voir aussi





Vous avez lu gratuitement 4 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.