-
-
Apple veut faciliter l’accès au Full Stack Dev

Apple veut faciliter l’accès au Full Stack Dev

J’ai récemment assisté au dotSwift 2016. Conférence Européenne qui rassemble des développeurs de tous horizons et ayant un intérêt pour le langage dernier né de Apple. Le challenge de cette conférence est grand: Créer un évènement à la hauteur des Ted Talks pour les développeurs Swift.

Swift ?

Si vous êtes à ce niveau de lecture, ce paragraphe ne devrait peut-être pas exister. Mais soit, je l’écris quand même.

Le Swift est un langage de programmation, lancé par Chris Lattner et son équipe en 2010 au sein d’Apple. Présenté au grand public lors de la WWDC 2014 puis ouvert en open-source fin 2015,  le Swift est décrit comme une alternative à l’Objective-C.

Plus clair, intégrant de multiples paradigmes, Swift a été créé dans le but d’améliorer la productivité des développeurs avec une syntaxe plus simple et naturelle que celle de l’Objective-C.

Quelle est la particularité de Swift ?

Chez AppStud, nous utilisons Swift depuis ses premiers jours et avons pu constater son évolution. En cours de route il y a eu pas moins de 4 versions majeures en 2 ans. L’objectif principal de Swift est de rendre les méthodes moins verbeuses et plus efficaces. 

Par exemple, en Swift 2, une methode comme celle-ci:

NSBundle.mainBundle().pathForResource

devient en Swift 3: 

Bundle.main.path

Server Side Swift

La thématique la plus excitante de cette rencontre: Le server-side en Swift. Aujourd’hui, un développeur iOS qui ne maîtrise que le développement front (client) doit apprendre un nouveau langage s’il souhaite développer une infrastructure serveur (ou utiliser des solutions en mBaaS comme Firebase) contrairement à un ingénieur Java qui peut être en mesure, sans trop de difficultés, de concevoir une app client – serveur en Java.

Avec Swift, Apple a la volonté de permettre à ses développeurs d’intégrer la couche back end.

Aujourd’hui sur le site officiel de Swift, une section est dédiée à la compatibilité de Swift avec un développement serveursUne mailing list est disponible et la communauté peut participer librement au projet. 

Il est intéressant de noter que la team swift s’appuie sur des membres actifs de la communauté open-source pour la coordination des efforts de réflexion sur le sujet. Ces membres ont déjà réalisé des travaux importants qui conditionnent l’orientation technique du langage. 

Durant la dotSwift, j’ai eu l’opportunité de rencontrer 2 des membres les plus actifs de la communauté, Chris Bailey (IBM Kitura)  et Logan Wright (Vapor)

En tout 4 projets portant Swift sur du développement serveur ressortent du lot:

Kitura: http://www.kitura.io

Vapor: https://vapor.codeszewo

Zewo: http://www.zewo.io

Perfect: http://perfect.org

Tous, proposent des approches de l’implémentation de Swift coté serveur sensiblement similaires.

Mais que peut apporter Swift de plus que des langages comme le Javascript ou encore le Ruby ?

Pour répondre à cette question, IBM a effectué plusieurs comparatifs en utilisant un algorithme de processing lourd afin de comparer les performances de différents langages. Il apparaît que: 

  • Swift est très peu gourmand en mémoire:

Swift Memory Usage

  • Présente des intérêt évidents sur la rapidité de calcul: 

Measurement Program Source code Swift Performance

Théoriquement, pour une même application, celle développée en swift prendrait moins de ressources sur le serveur que celle en Javascript et donc permettrait des économies non-négligeables pour un produits à fortes sollicitations, considérant le fait que les cloud providers facturent généralement à la mémoire consommée. 

En résumé, Swift, langage open source,  permettrait d’écrire du meilleur code, plus rapidement, moins gourmand en ressource et nativement compatible client-serveur. Belle promesse qu’Apple nous fait en tout cas !

Où en sommes nous aujourd’hui ?

Swift a évolué très rapidement ces deux dernières années et démarre sa phase de stabilisation.

La version 4 de Swift est attendue à fin 2017 et améliorera la stabilité entre les applications et le système d’exploitation tout en offrant une résilience forte entre les versions 3 et 4. 

Vous avez une idée, Appstud vous aide à la développer !

Product thinking • Design • Développement • Acquisition • Evolution de produits
Écrit par
Tech Enthusiast • Entrepreneur • Maker • Blogger

Ces articles pourraient également vous intéresser

Qu’est-ce que le NoCode? Une révolution numérique. La possibilité de créer des solutions technologiques sans connaissances en programmation.
191
Les micro-interactions jouent un rôle essentiel dans l’optimisation UX. Ces détails interactifs, souvent discrets, façonnent l’expérience utilisateur (UX) de manière significative. En examinant leur importance, leur fonctionnement et leur conception efficace, nous découvrons comment ces micro-actions deviennent des éléments clés pour améliorer l’interaction entre utilisateur et interface.
214
Et s’il était possible de prévenir les pannes techniques avant la grande période des fêtes ?
231