IBM place Swift d’Apple sur le Cloud et titille AWS Lambda

Surfer sur le succès de Swift en Open Source ne suffit pas à IBM qui lui confère une dimension serveur. Tandis que BlueMix OpenWhisk débarque dans l’aire de jeu d’AWS Lambda et autres Google Cloud Functions.

Opération séduction: IBM a fait la part belle aux développeurs tout au long de son événement Interconnect à Las Vegas. Il semblerait que tous les éditeurs ont pris conscience que le succès sur le Cloud passera par l’administration, mais aussi par les applications, les API, etc. IBM arrive un peu après ses concurrents dans plusieurs domaines, mais force est de constater que l’éditeur met les bouchées doubles !

L’open source accélère le mouvement Swift

Brian Croll, Apple
Brian Croll, Apple

IBM et Apple se sont montrés bien discrets depuis leur accord autour d’iOS et du Big Data “pour conquérir les entreprises”, annoncé en juillet 2014. Feu de paille? Apparemment non. En effet, les équipes d’IBM développent une version Cloud (ou serveur) du langage de programmation Swift d’Apple, qui pourrait bien lui conférer la dimension Entreprise qui lui fait défaut.

En décembre dernier, Apple décidait de proposer son langage Swift en Open Source, fidèle à son annonce de juin 2015.

Pourquoi Swift ? Pour développer des applications pour Mac OSX, iOS, watchOS ou tvOS, Apple propose son environnement de développement Xcode (gratuit) fonctionnant sous MacOS ou Unix. Deux API maison permettent d’utiliser plusieurs langages de développement dans Xcode : Carbo pour le C et le C++, et Cocoa pour Objective-C, AppleScript, Java et Swift.
« Nous avons créé Xcode pour proposer un environnement de développement complet et simple à utiliser, et intégrant toutes les libraires nécessaires afin de ne pas avoir à réinventer la roue,» explique Brian Croll, vice-président marketing Produits chez Apple. […] « Cela ne suffisait pas pour répondre aux attentes des utilisateurs: rapidité, interfaces responsives, simplicité d’utilisation… afin de concevoir des applications natives riches pouvant utiliser tous les composants matériels du smartphone. Cependant, développer en C ou en C++ est très puissant, mais reste compliqué. C’est pourquoi Apple a créé le langage Swift. En à peine plus d’an d’existence, Swift s’est hissé au rang parmi les langages de programmation les plus utilisés au monde. C’est le premier langage à rejoindre le Top 20 des langages les plus utilisés en un an seulement ! »

Le langage Swift est proposé sous licence Open Source Apache 2, disponible aussi sous GitHub, avec de nombreuses contributions attendues pour sa future version 3.
Dès l’annonce d’Apple en décembre, IBM a proposé aux développeurs de s’essayer à Swift via un container sous Bluemix (IBM Swift Sandbox) à partir d’un simple navigateur, et avec un environnement d’exécution complet. «En deux mois, l’IBM Swift Sandbox a séduit plus de 100 000 développeurs et exécuté plus de 500 000 codes », s’enthousiasme John Ponzo, directeur technique d’IBM Mobile First.

Kitura et GitHub rapprochent Swift du Cloud/serveur

John Ponzo, IBM
John Ponzo, IBM

« Grâce au nouveau serveur web open source Kitura initié par IBM sous Linux et OSX, il est désormais possible de déployer côté serveur du Swift compilé Swift,» explique Michael Gilfix, directeur MobileFirst Product Management chez IBM. «Un framework web open source qui rend ces applications serveur accessibles aussi par d’autres environnements

L’objectif consiste à simplifier le développement des applications web côté serveur, tout en proposant un langage commun avec la partie cliente en utilisant donc des compétences identiques. Néanmoins, les API permettant de générer de Swift pour d’autres environnements qu’Apple devraient aussi être promues. Pas sûr que ce scénario séduit l’enseigne à la pomme.

IBM compte aussi sur la communauté Swift pour améliorer, optimiser et adapter le langage à un utilisation serveur. Ainsi, plusieurs développeurs interrogés sur Interconnect mettent en avant des problèmes de gestion de la capacité mémoire…

Le code Swift créé par les développeurs sous Bluemix pourra être mis à disposition de la communauté Swift via un Package Catalog sous GitHub, le très populaire logiciel référentiel de code source, qui a fait l’objet d’une attention toute particulière.

Avec OpenWhisk, IBM investit à son tour l’event-driven computing

Toujours pour simplifier le développement et proposer une infrastructure permettant une force de frappe ponctuelle facturée à l’usage, IBM annonce la preview de son service Bluemix OpenWhisk, dans le domaine de l’event-driven computing. Une réplique à des offres déjà présentes chez ses concurrents. Open source, OpenWhisk utilise le langage Swift pour créer ses micro-services, mais peut aussi enchainer divers traitements, internes ou externes.
Comme nous l’expliquions lors de son lancement, le service Cloud AWS Lambda exécute du code ou du script en réponse à des événements (réception d’une information en streaming par exemple). Évidemment, l’infrastructure sous-jacente s’adapte selon les besoins. Il est possible d’exécuter plusieurs traitements en parallèle, et de combiner des interactions avec d’autres services Cloud, AWS ou non. Plus récemment, Google a d’ailleurs lancé son offre Google Cloud Functions.

Néanmoins, la solution IBM se distingue sous plusieurs aspects. OpenWhisk fonctionne avec le framework node.js, et Watson peut aussi interagir pour aider le développeur à dénicher la meilleure API à utiliser. De plus, le service est accessible en ligne de commande ou en mode Web Service. Les développeurs apprécieront l’apport de l’API Swagger facilitant la documentation des codes et API par détection automatisée des points d’entrée et autres paramètres entrants ou sortants.

Ces deux initiatives illustrent les manœuvres de séduction d’IBM envers les développeurs. Il faut reconnaître que l’approche ne manque pas d’arguments. Et d’autres seront développés dans notre article à suivre…

A lire aussi :