Swift : au-delà d’Apple

Par:
ftonic

lun, 31/05/2021 - 10:46

On oublie souvent qu’Apple a développé Swift, le successeur d’Objective-C. Si la collaboration Swift-IBM n’est plus au beau fixe, le langage poursuit sa route. Apple l’a mis en open source et peu à peu, il commence à se déployer sur de nombreux usages. Aujourd’hui, la plateforme phare pour coder en Swift reste macOS et iOS. Mais, le langage est disponible officiellement sur : Ubuntu, CentOS, Amazon Linux 2, Windows 10. Bref, nous n’avons pas besoin d’un Mac, ni de Xcode  pour coder en Swift.

Contrairement à d’autres langages, Swift est surtout vu comme un langage desktop et mobile. Flutter a démontré toute la capacité de DART d’être porté sur x plateformes (web, mobile, desktop, IoT, etc.). C# est lui aussi très portables et ne parlons pas de JavaScript. 

Côté ARM et cartes de type Pi, Swift peut être utilisé. Swift-Arm est la version officielle pour les plateformes ARM. On peut installer le version complète ou minimale ou uniquement le runtime. Le langage est disponible sur architecture ARM64 (Amazon, Ubuntu et Debian). Il est possible de l’utiliser une Pi 4 et d’autres cartes utilisant un processeur ARM. 

Ce que l’on sait moins c’est que Swift est aussi disponible directement sur le web. En effet, il existe des frameworks web pour les projets Swift. Les principaux sont Vapor et Kitura. Vapor s’installe sur macOS et Linux puis on visualise son projet Swift directement sur le navigateur. Cette approche fait penser au Jamstack (JAM = javaScript, API, Markup). 

La question est de savoir si Swift saura évoluer loin d’Apple. On peut faire un parallèle avec Kotlin qui est aujourd’hui poussé par Google sur Android. Mais au-delà d’Android, Kotlin a encore du mal à émerger sur Linux ou Windows. Peut être aurons-nous quelques perspectives intéressantes durant la WWDC 2021.

Commentaires

C’est une offre commerciale, mais il est également intéressant de connaitre le compilateur multi langages et multi cibles « elements » de RemObjects (qui est gratuit dans le cas de Swift seul, c’est pourquoi je me permets de le mentionner ici).