Qu’est-ce que Mono et comment peut-il aider les débutants Linux à changer de Windows ?
Linux a beaucoup de choses. C’est un composant central d’un grand nombre de distributions, l’épine dorsale de grandes plates-formes mobiles, et c’est mieux (certainement pas une opinion) que d’autres systèmes d’exploitation plus populaires.
L’un de ses inconvénients, cependant, est sa faible popularité sur le bureau : la convivialité du programme. Heureusement, quelque chose peut aider à cela, mononucléose comme l’un d’eux.
Frameworks logiciels : blocs de construction
Les frameworks logiciels ne sont pas les choses les plus excitantes, mais ils sont utiles à leur manière, travaillant dans les coulisses. Ils permettent aux gens de développer facilement des applications pour les autres sans avoir à repartir complètement de zéro. mononucléose en fait partie, tout comme le .NET Framework.
Ces frameworks peuvent aller d’être utilisés pour un environnement de bureau spécifique à quelque chose qui peut être utilisé pour plusieurs systèmes d’exploitation. Par exemple, le bureau KDE Plasma dispose de plusieurs logiciels qui facilitent l’écriture d’applications natives intégrées. Cela inclut leur propre IDE (environnement de développement intégré) appelé KDevelop.
Cela peut également apporter de nombreux avantages à l’utilisateur final. Les développeurs peuvent créer des applications plus rapidement et plus facilement, ce qui leur permet d’apporter plus rapidement des modifications et des améliorations. Lorsque vous vous tenez sur les épaules de géants, atteindre cette hauteur supplémentaire est un peu moins douloureux.
Certains frameworks sont intrinsèquement multiplateformes – les programmes écrits avec eux fonctionnent sur différents systèmes d’exploitation. Ceci est utile pour les développeurs et les utilisateurs finaux. D’une part, ces programmes peuvent atteindre plus de personnes et, d’autre part, une base d’utilisateurs plus large offre une plus grande fiabilité.
Faire une vidéo du jour
C’est quoi mono ?
Mono est un exemple de framework multiplateforme disponible pour Windows, macOS, Linux, etc. Il a été conçu à l’origine comme une implémentation open source du .NET Framework sous Linux. À partir de là, il s’est transformé en quelque chose de plus, prenant en charge un certain nombre de systèmes d’exploitation différents.
Mono (comme .NET) est étroitement lié au langage de programmation C#, qui est connu pour son haut degré de portabilité. Par exemple, le moteur de jeu Unity utilise C# comme moyen multiplateforme pour créer des jeux vidéo. Cela est dû en partie à la conception du langage. C# peut devenir CIL (Common Intermediate Language), soit compilé en code natif (plus rapide, moins portable), soit exécuté via une machine virtuelle (plus lent, plus portable). Mono fournit des méthodes pour compiler et exécuter des programmes C#, similaires au .NET Framework.
De nos jours, il est développé par les propriétaires du logiciel qu’il essaie d’émuler : Microsoft. Avec le framework .NET open source, Mono est plus similaire que jamais, capable d’intégrer son code dans ses propres conceptions. Le projet comprend également un IDE spécial (environnement de développement intégré) appelé MonoDevelop, un peu comme l’équivalent Linux de Visual Studio.
Applications mono et multiplateformes
Avec tout cela à l’esprit, il est clair que la nature multiplateforme de Mono est très utile pour les personnes migrant de Windows vers Linux. Il agit comme un autre point de pont entre les deux systèmes d’exploitation pour éliminer l’un des plus gros problèmes de la commutation : le logiciel propriétaire.
Il existe de nombreux programmes écrits en Mono. Il y a de fortes chances que ces applications soient multiplateformes et disponibles sur plusieurs systèmes d’exploitation. En plus de cela, Mono prend en charge de nombreux fichiers binaires .NET prêts à l’emploi (c’est-à-dire des fichiers C# EXE écrits dans Visual Studio). Par conséquent, les programmes .NET qui ne sont pas encore apparus sur Linux sont susceptibles d’apparaître à l’avenir.
Vous utilisez peut-être même l’une de ces applications sans le savoir !
mémoire
KeePass est un excellent gestionnaire de mots de passe hors ligne. Cela signifie que contrairement à LastPass, vos informations ne sont pas liées au serveur pour votre commodité. Mais c’est probablement un prix à payer pour un niveau de contrôle plus élevé.
Il est également écrit en Mono et peut fonctionner sur de nombreuses plates-formes différentes. Bien qu’il soit principalement destiné à Windows, cela signifie également qu’il prend en charge macOS et Linux. Bien que cela puisse ne pas sembler très natif, cela fonctionne très bien. Aussi, il est bon de rendre votre mot de passe accessible.
Pinta
La meilleure façon de décrire Pinta est la version multiplateforme de Paint.NET (qui à son tour est une meilleure version de Microsoft Paint). C’est une application assez simple avec une capacité considérable pour éditer et créer des images. Contrairement à KeePass, il semble un peu mieux sur différents systèmes d’exploitation.
Malheureusement, il présente également certaines des limites de Mono. Paint.NET en est l’inspiration, après tout, il est écrit à l’aide du framework .NET, mais il reste uniquement Windows. Bien que la plupart des choses fonctionnent entre les deux, si votre programme dépend de composants spécifiques à Windows du framework, vous devrez rechercher des alternatives.
Wine + Mono = meilleure compatibilité
Mono peut également aider le sélecteur Windows en étendant Wine, une couche de compatibilité qui permet aux utilisateurs d’exécuter des applications Windows. Wine procède à la rétro-ingénierie de nombreuses fonctionnalités de Windows et traduit ce comportement en leurs équivalents Linux. Par conséquent, il peut exécuter de nombreux programmes non conçus pour Linux comme s’ils étaient identiques.
Le fichier d’installation de Mono contient de nombreuses bibliothèques de logiciels, des composants que d’autres programmes peuvent créer. Ils sont conçus pour implémenter autant de .NET Framework que possible (bien que multiplateforme). Pour cette raison, de nombreuses choses écrites pour Windows à l’aide des frameworks ci-dessus fonctionnent également sous Mono.
Wine peut prendre tout le travail que Mono a fait au fil des ans, en l’utilisant pour aider à exécuter des applications .NET, même des programmes contenant les composants ci-dessus. Par exemple, certains jeux dépendent du framework dans une certaine mesure.
Mono dans le monde .NET open source
Comme mentionné, de nombreux frameworks .NET sont désormais open source, et il y en a d’autres à venir. Il est déjà possible (dans une certaine mesure) d’en profiter sur d’autres plates-formes que Windows. Ensuite, on peut se demander comment Mono peut encore être utile aux gens.
La réponse est simple : de nombreux composants disponibles de .NET sont invisibles pour les utilisateurs finaux. Il est encore assez difficile de créer des applications graphiques multiplateformes en utilisant uniquement les frameworks open source actuels de Microsoft. Mono, d’autre part, est suffisamment mature pour qu’il existe plusieurs façons d’écrire des programmes d’apparence native avec peu ou pas de tracas. il ne fera que continuer à croître,
Bien sûr, à mesure que les composants open source de .NET gagneront en maturité, il bénéficiera de nombreux avantages que Mono offre actuellement. Cela ne peut être qu’une bonne chose pour Linux et les utilisateurs qui pourraient vouloir y passer. Après tout, plus d’applications portables sont toujours les bienvenues.
Comment gérez-vous les lacunes des applications sous Linux ?
Crédit image : OndrejProsicky/Depositphotos
A propos de l’auteur