Fuchsia : le mystérieux OS de Google fera tourner des applications développées en Swift
Un langage supplémentaire après Go, Rust et Python
Le 2017-11-21 12:27:15, par Patrick Ruiz, Chroniqueur Actualités
Fuchsia, le nouvel OS de Google dont la vidéo de présentation a filtré sur cette plateforme au mois de mai continue son bout de chemin de façon plus ou moins furtive. Si ce dernier dispose bien d’un dépôt sur une des plateformes de partage open source les plus en vue du moment, il faut bien souligner que la firme de Mountain View ne communique pas trop à son sujet. De récentes publications font cependant état de ce que Google s’intéresse au langage de développement Swift d’Apple.
À la réalité, la firme de Mountain View va au-delà de l’intérêt. À date, il existe un dépôt GitHub pour la prise en charge du langage Swift par le mystérieux système d’exploitation. L’information est de Zack Bowling de Google, l’un des développeurs qui ont travaillé sur le portage du langage Objective-C sur la plateforme Android. Des exemples de code d’applications développées en langage Swift pour l’OS Fuchsia sont fournis. Se référer aux liens dans les sources pour le détail. À noter que Swift vient allonger une liste de langages plus ou moins fournie avec Java, Dart, Go, Python, Rust et bien sûr C/C++ pour le développement d’applications natives, le système d’exploitation lui-même étant principalement développé en C/C++.
Swift est un langage de programmation développé par le géant de la marque à la pomme pour la création d’applications destinées aux systèmes d’exploitation iOS, macOS, tvOS et watchOS. La perspective de pouvoir compiler des applications développées en langage Swift pour la plateforme Fuchsia ne signifie aucunement qu’une application développée pour l’un des OS précités est de facto portable sur ce dernier. Noter à ce propos qu’il faudra retravailler les éléments d’interface utilisateur dont les bases de code sont maintenues sous licence propriétaire par Apple.
Si l’on fait le parallèle avec les PC, la prise en charge d’un nouveau langage de programmation par cet OS en développement ne peut qu’être une bonne chose. Dans ces conditions en effet, la plateforme devient plus attrayante pour les développeurs du fait de la liberté qui leur est accordée d’utiliser le langage avec lequel ils sont le plus à leur aise. Rien n’a pour le moment filtré sur le rôle que Google réserve effectivement à cet OS en gestation dans un écosystème où il retrouve au moins le très répandu Android et Chrome OS. Toutefois, d’après des confidences de développeurs, Fuchsia intègre l’API Mojo de Chromium.
Mojo permet le support d’applications Android sous Chrome OS. De plus, l’API serait le socle sur lequel le support des langages de programmation pris en charge repose. Il semble donc que Fuchsia est destiné à être un pont entre les plateformes logicielles que sont Android et Chrome OS. Vu sous cet angle il y a en effet du boulot. Fuchsia devrait corriger des soucis avec les applications Android qui, dit-on, s’exécutent uniquement via le shell sous Chrome OS. Il ne s’agit que d’hypothèses ; on demeure dans l’attente d’une communication de Google qui viendra lever le mystère qui entoure cet OS.
Sources
The Verge
GitHub
Codes source d’applications Swift pour Fuchsia
Votre avis
Quel commentaire faites-vous de la disponibilité du langage Swift sur Fuchsia ?
Voir aussi
Projet Fuchsia : Google serait en train de développer un nouvel OS destiné à faire tourner des appareils allant des objets connectés aux ordinateurs
À la réalité, la firme de Mountain View va au-delà de l’intérêt. À date, il existe un dépôt GitHub pour la prise en charge du langage Swift par le mystérieux système d’exploitation. L’information est de Zack Bowling de Google, l’un des développeurs qui ont travaillé sur le portage du langage Objective-C sur la plateforme Android. Des exemples de code d’applications développées en langage Swift pour l’OS Fuchsia sont fournis. Se référer aux liens dans les sources pour le détail. À noter que Swift vient allonger une liste de langages plus ou moins fournie avec Java, Dart, Go, Python, Rust et bien sûr C/C++ pour le développement d’applications natives, le système d’exploitation lui-même étant principalement développé en C/C++.
Swift est un langage de programmation développé par le géant de la marque à la pomme pour la création d’applications destinées aux systèmes d’exploitation iOS, macOS, tvOS et watchOS. La perspective de pouvoir compiler des applications développées en langage Swift pour la plateforme Fuchsia ne signifie aucunement qu’une application développée pour l’un des OS précités est de facto portable sur ce dernier. Noter à ce propos qu’il faudra retravailler les éléments d’interface utilisateur dont les bases de code sont maintenues sous licence propriétaire par Apple.
Si l’on fait le parallèle avec les PC, la prise en charge d’un nouveau langage de programmation par cet OS en développement ne peut qu’être une bonne chose. Dans ces conditions en effet, la plateforme devient plus attrayante pour les développeurs du fait de la liberté qui leur est accordée d’utiliser le langage avec lequel ils sont le plus à leur aise. Rien n’a pour le moment filtré sur le rôle que Google réserve effectivement à cet OS en gestation dans un écosystème où il retrouve au moins le très répandu Android et Chrome OS. Toutefois, d’après des confidences de développeurs, Fuchsia intègre l’API Mojo de Chromium.
Mojo permet le support d’applications Android sous Chrome OS. De plus, l’API serait le socle sur lequel le support des langages de programmation pris en charge repose. Il semble donc que Fuchsia est destiné à être un pont entre les plateformes logicielles que sont Android et Chrome OS. Vu sous cet angle il y a en effet du boulot. Fuchsia devrait corriger des soucis avec les applications Android qui, dit-on, s’exécutent uniquement via le shell sous Chrome OS. Il ne s’agit que d’hypothèses ; on demeure dans l’attente d’une communication de Google qui viendra lever le mystère qui entoure cet OS.
Sources
Votre avis
Voir aussi
-
AoCannailleExpert confirméJe suis d'accord avec le reste de ton message. Mais pas avec ça.
Quand on voit ce que consomme Android, qui demande autant que windows 7, en n'en faisant moins que windows XP (et en reprennant tous ses défauts), on voit que beaucoup de dev arrivent à la même conclusion que toi, et que du coup font n'importe quoi. Tout explose sans que ce ne soit nécessaire... Android est l'OS le plus catastrophique de l'histoire des OS à succès...
Un peu de rigueur bon sang!le 13/04/2018 à 11:46 -
sergio_is_backExpert confirméle 13/04/2018 à 12:06
-
AoCannailleExpert confirméToutafé, je suis d'accord pour une utilisation intensive unique, par exemple ton jeux vidéo. Ou un gros IDE.
Mais déjà :
- Dés que tu atteins les 100%, tu swap. Du coup tu divises les perf par 10 et tu uses prématurément une mémoire dont l'espérence de vie se compte en cycle de lecture/écriture (contrairement à la ram on est d'accord)
- Si tu fais tes efforts de dev, et que tu prend 200Mo au lieu de 400Mo, tu te charges toujours à 100%, donc tu laisse plus de place aux voisins et avant d'user la mémoire.
Et encore, là on parle d'optim basique... à l'origine, la RAM à justement pour objectif de swap le cache processeur... En C++ on peut encore faire ce genre d'optim, en java on déborde du cache processeur, de la ram, et des fois même de la swap...le 13/04/2018 à 14:57 -
sergio_is_backExpert confirméY'a le pour et le contre.
Si tu n'utilise "qu'une seule" (entre guillemets) application à la limite rien n’empêche de monopoliser le maximum de RAM dispo (charger toutes les bibliothèques et tout ce qui
peut lui être utile d'un seul coup) elle sera d'autant plus réactive
Le problème est que sur les OS multi-utilisateurs/multi taches lorsque l'on passe d'une tache à l'autre ça va entrainer du SWAP et donc fatalement finir par dégrader les performancesle 13/04/2018 à 15:26 -
Tout à fait, et si les applis étaient bien codées, comment on ferait pour saturer la ram, vendre des iphones à un smic obsolètes en deux an et gaspiller les ressources de la planète inutilement ?le 13/04/2018 à 15:18
-
stef-13013Membre actifBon la, en même temps, si on regarde rapidement juste la portion de code du post, cela ressemble plus à du "C++ as better C"
qu'à du C++ pur et dur (classes, template, STL, ...)
Pourquoi pas...le 13/04/2018 à 9:24 -
Aurelien.Regat-BarrelExpert éminent séniorCa me rappelle cette citation :Y'a deux types de développeurs kernel : ceux qui disent qu'il y a 36 façons de faire les choses, et ceux qui expliquent pourquoi les 35 autres ne fonctionnent pas.
Quant à Python ou "n'importe quel langage", faut déjà pouvoir produire un binaire exécutable qui ne soit lié à aucun runtime ! (pour rappel Python s'appuie sur un interpréteur développé en C).
Sinon, à mi-chemin entre le vrai kernel et l'application C++ il y a includeOS, un "unikernel" C++ : https://github.com/hioa-cs/IncludeOSle 15/04/2018 à 20:39 -
hl037Membre du Club...On peut aussi faire du C++ sans allocation dynamique...
Pour ma part, entre C et C++, la question ne se pose pas trop : C++.
D'abord, c'est (à quelques différences sémantiques prêt) presque un superset du C. Ensuite, C++ atteint un niveau de fiabilité côté les compilateurs assez proche du C.
Et puis... On n'est pas non plus obligé d'accepter TOUTES les fonctionnalité de C++, par exemple, on peut interdire l'allocation dynamique, ainsi que certaines syntaxes obscures. Par contre, les templates, ainsi que la possibilité de redéfinir les opérateurs peuvent s'avérer vachement pratique côté lisibilité et facilité / vitesse de développement, et permettent parfois une analyse statique plus fine. ...On a aussi accès à un héritage pris en charge par le langage et éviter ainsi des hack avec les structures du C...le 20/04/2018 à 20:07 -
UndeadangerousKMembre habituéMême si green OS (comme Android, avant leur rachat en 2005) n'a pas été spécifiquement initié par Google, il reste très orienté Google. On pourrait presque dire que c'est aussi un OS Google.. Même s'il n'est pas maintenu. Du coup, ca fait 4 OS a leur actif.le 03/01/2018 à 10:05
-
nhugodotMembre habituéJava n'est sûrement pas supporté nativement par Fuschia: c'est justement parce que Java a été racheté par Oracle via le rachat de Sun que Google, poursuivi, harcelé, par Oracle, veut s'en défaire, comme il s'est défait de GWT, et a donc créé Go et Dart (hop, Java et Javascript à la poubelle, une page se tourne... idem C et C++ remplacés par Rust autant que possible: bienvenue dans le 21e siècle)
Quant à Swift, ce serait beau... On aurait ainsi Dart (avec Flutter) et Swift capables de tourner sur 2 OS... Mais comme alors Google aurait aussi accepté Swift sur Android pour nous faciliter la tâche, je ne vois pas pourquoi il l'accepte sur Fuschia et pas Android? Donc là aussi, j'ai un gros doute...le 07/01/2018 à 11:49