Il n'y a pas si longtemps, Apple a surpris les développeurs iOS avec Swift. Depuis peu de temps depuis, il a été adopté rapidement par la communauté du développement. En fait, dans une enquête menée par Stack Overflow, Swift a été nommé le langage de programmation le plus apprécié.
Le 3 décembre, Apple est resté fidèle à sa parole et a officiellement rendu Swift entièrement open source. Compte tenu de la popularité de Swift, il est certainement passionnant de penser aux implications de ce déménagement. Que réserve l'avenir à Swift et que pouvons-nous faire en tant que développeurs pour façonner son évolution??
Pas tout à fait sûr de ce que signifie open source? Lisez l'article de Sam Berson sur l'open source ici.
En tant que personne qui aime faire du développement iOS en tant que gagne-pain, j'ai toujours été quelque peu jalouse de la communauté open source. S'il est vrai que GitHub prospère avec les projets iOS open source, à la fois dans Swift et Objective-C, Apple n'a pas laissé historiquement la communauté iOS apporter beaucoup à ses outils, frameworks, IDE ou langages à des fonctions officielles autres que ResearchKit..
Maintenant, avec Swift, nous avons été invités à contribuer à l’avenir de la langue. Il s’agit d’une nouvelle frontière pour la communauté iOS et je pense qu’elle étendra également un peu de bonne volonté d’Apple aux développeurs qui travaillent quotidiennement sur leurs plateformes. De plus, l'avenir de Swift peut désormais aller bien au-delà d'iOS - nous en discuterons plus tard..
L'un des avantages immédiats de cette initiative, du moins pour moi, est que nous pouvons maintenant apprécier un aperçu intime des pratiques et processus de développement d'Apple. En fait, le référentiel de Swift sur GitHub contient tous les commits que tout le monde peut visualiser, depuis la date du commuté initial du 17 juillet 2010..
Si vous n'avez pas pensé à l'impact du passage d'Apple au logiciel open source Swift, je pense qu'il est important de prendre du recul et de l'examiner. L'histoire montre que l'open source d'un projet logiciel présente de nombreux avantages.
En général, un projet open source qui gagne du terrain dans la communauté mûrit rapidement, devenant plus stable au fil du temps. Si la communauté est activement impliquée, de nouvelles fonctionnalités peuvent être implémentées rapidement.
Outre des itérations plus rapides, la communauté aide le logiciel à évoluer de manière bénéfique pour ceux qui l'utilisent le plus. L'open sourcing d'un projet entraîne souvent davantage de collaboration au sein de la communauté, ce qui est gagnant pour toutes les personnes impliquées..
La liste se rallonge de plus en plus. Dans un monde dépendant de la technologie et des outils qui la sous-tendent, je vous dirais qu'il n'a jamais été aussi important et pertinent de faire appel à un logiciel open source. Le pouvoir d’une communauté travaillant sur les logiciels peut être une initiative enrichissante et, surtout, productive..
En fait, nous avons même vu Apple s'associer à d'autres sociétés de technologie de premier plan pour aider Swift à atteindre un niveau supérieur. IBM semble avoir tout intérêt à implémenter Swift en tant que langage côté serveur et vous pouvez déjà profiter d'un projet incroyable grâce à leurs efforts dans leur sandbox en ligne rapide..
À la fin, l’approvisionnement ouvert Swift signifie qu’il va changer rapidement. En règle générale, un changement rapide peut entraîner des maux de tête pour les ingénieurs. Nous avons même vu cela dans une certaine mesure à Swift. Swift 2 a introduit de nombreuses modifications rendant le code Swift 1 obsolète et incomparable.
La principale différence est que Apple et et la communauté sont les moteurs du changement. En jetant un regard ouvert sur ce qui arrive à Swift, les développeurs peuvent être mieux préparés aux changements à venir. Les itérations dans les logiciels ne devraient pas être un exercice frustrant, mais une pratique bénéfique et bienvenue. Le logiciel open source excelle à cet égard.
Pour illustrer cela, prenez en compte les mesures que le référentiel Swift a connues depuis peu de temps qu’il est en direct:
Au moment de la rédaction de cet article, Swift se positionne régulièrement à la première place de GitHub. C'est tout un exploit en peu de temps et cela montre clairement que la communauté du développement dans son ensemble est prête et disposée à contribuer.
En tant que développeur, il est stimulant de voir le langage s'adapter déjà à un rythme «open source». Par exemple, Erica Sadun, auteur et développeur iOS très connu, a déjà démontré de manière convaincante la nécessité de supprimer C-Style en boucle dans Swift. aditionellement, --
et ++
les opérateurs sont probablement sur leur chemin, aussi.
Compte tenu de ces faits, nous constatons déjà que Swift tire avantage de son statut d'open source. Non seulement il mûrit, il est compatible avec d’autres plates-formes que iOS, mais les développeurs peuvent également voir les changements se dérouler publiquement. L'adaptation des bases de code pour Swift 3 ne devrait vraiment pas poser de problème, car nous n'avons plus besoin d'attendre que la prochaine WWDC soit informée des avancées de la langue..
Compte tenu de l'impact de l'open source, vous vous demandez peut-être comment vous impliquer vous-même. Les logiciels open source peuvent être un peu intimidants au début si vous n'y avez jamais participé. Ici, je voudrais indiquer quelques façons d’avoir une meilleure idée des logiciels open source, et de Swift en particulier..
Les discussions sont un bon endroit pour commencer à s’impliquer avec Swift Open Source. Sans surprise, beaucoup de ces discussions ont pour origine Twitter. Certaines corrections de bugs notables mentionnées sur Twitter ont même été corrigées avant que Swift ne soit ouvert en source ouverte..
Les développeurs peuvent facilement exprimer leurs idées pour Swift en utilisant le faible obstacle à l'entrée de Twitter. De plus, vous n'avez pas encore besoin de contribuer au code. C'est une manière peu stressante de commencer à contribuer à Swift.
C'est aussi amusant et éducatif d'interagir avec les développeurs de Swift. Ils ont été très actifs sur Twitter, menant au mouvement open source, et encore plus après. Cela dit, voici quelques ingénieurs Apple immédiatement impliqués dans Swift.
Chris est responsable de nous avoir amené à Swift et il était également l'auteur original de l'infrastructure de compilateur LLVM. Naturellement, il est toujours impliqué dans la communauté Swift. En fait, il a même accepté les demandes de tirage à 22 heures le samedi. Dire qu'il participe activement au projet serait un euphémisme.
Jordan est un autre ingénieur Apple de premier plan qui se concentre principalement sur Swift. Comme Chris, Jordan est également une excellente ressource pour soulever des questions ou des préoccupations pour Swift..
Joe est également un ingénieur talentueux travaillant sur Swift. Il a répondu à plusieurs questions sur Swift et est toujours heureux de s'engager avec la communauté..
L'initiative open source de Swift est gérée par la plate-forme populaire GitHub. Si vous n'êtes pas familier avec GitHub, ou Git en général, contribuer à Swift peut être une perspective assez intimidante. Si tel est votre cas, je vous recommande vivement de vous familiariser d’abord avec ces outils, c’est un bon point de départ..
Pour commencer, vous devez configurer un environnement local. Le fichier LISEZMOI GitHub de Swift est un excellent guide à suivre. Par conséquent, je ne vais pas répéter ces étapes ici. Fondamentalement, après seulement quelques commandes de la ligne de commande et des interactions avec le référentiel, vous serez opérationnel..
Lorsque vous contribuez à un logiciel open source ou à un logiciel en général, il est bon de commencer avec un objectif simple et gérable. En fait, Chris Lattner encourage.
Essayez de trouver quelques éléments de la base de code et familiarisez-vous avec eux. À partir de là, vous serez mieux placé pour voir ce qui pourrait être amélioré. Personnellement, je commencerais par lire le Guide de contribution de Swift.
L'annonce de l'open source de Swift a généré des nouvelles passionnantes (et surprenantes) concernant des projets en développement avec la langue. Quelques-uns d'entre eux étaient attendus, tels que le compilateur et la bibliothèque standard, et certains étaient de toutes nouvelles initiatives.
Chacun des quatre grands projets est développé ouvertement, les contributions sont les bienvenues. Jetons un bref regard sur chacun d'eux maintenant.
Tiré de swift.org, le compilateur de Swift "est principalement responsable de la traduction du code source de Swift en un code machine efficace et exécutable". Même si vous ne comprenez pas bien les compilateurs ni leur fonctionnement, il est fascinant de parcourir son code si seulement à des fins éducatives.
Le deuxième composant de ce projet, la bibliothèque standard, est probablement quelque chose que la plupart des développeurs connaissent bien. Il abrite tout des types de données les plus fondamentaux, tels que Int
et Double
types, à des types de collection avancés, tels que Tableau
et dictionnaire
.
Si vous êtes un développeur avide de Swift, vous avez maintenant le pouvoir d’aider à mieux comprendre le fonctionnement de ces types. Ou, si vous vouliez un ensemble de fonctionnalités spécialisées spécifiques à vos besoins, vous pouvez même créer un répertoire et personnaliser les types de Swift à votre guise..
La communauté iOS a connu plusieurs voies différentes pour distribuer du code. Cocoapods et Carthage sont quelques-uns des choix les plus populaires. Maintenant, nous pouvons ajouter le gestionnaire de paquets Swift à cette liste..
Bien que ce soit au tout début de son développement, c'est le projet que je trouve le plus intéressant. En fait, il ne prend actuellement pas en charge iOS, tVOS ou watchOS. Bien que le support de ces plates-formes vienne certainement, à mesure qu’il évolue, il pourrait potentiellement être utilisé pour distribuer du code Swift bien au-delà d’iOS ou d’OS X.
Le projet Swift Core Library est étroitement lié à la bibliothèque standard, à l'exception du fait qu'il fournit des fonctionnalités d'ordre supérieur. Les outils inclus dans ce projet sont généralement des concepts agnostiques de plates-formes.
Par exemple, le projet de bibliothèque principale contient des fonctionnalités pour l'analyse JSON, les tests unitaires et l'interaction avec le système de fichiers. Ce sont des outils sur lesquels on comptera, peu importe la plate-forme ou le projet en question..
Pour mettre ce projet en termes plus pertinents pour les développeurs iOS et OS X, libdispatch est hébergé ici. Vous êtes probablement familier avec cela puisque c'est de là que provient Grand Dispatch. Cela dit, il est logique de l'inclure dans les bibliothèques principales, car l'exécution de code simultané n'est pas une tâche spécifique à iOS ou OS X..
Enfin, les projets REPL et Debugger s’expliquent probablement un peu. Ce projet est responsable de la mise en œuvre de la suite de débogage complète de Swift. Le débogueur LLDB est quelque chose que les développeurs utilisent depuis un certain temps maintenant, car il est inclus dans Xcode..
Le REPL et le débogueur sont fortement couplés, ce qui est logique car ils fournissent une valeur similaire à bien des égards. REPL signifie «Read Eval Print Loop» (lire la boucle d’évaluation d’évaluation) et il est très pratique à utiliser pour le code Swift léger. Si vous ouvrez un terminal et tapez «Swift», vous commencerez à exécuter le REPL de Swift localement.
Comme vous pouvez le constater, les projets ou composantes de Swift ne manquent pas. Bien que, cliché comme cela puisse paraître, ce n’est que le début et plusieurs nouveaux projets vont émerger au fil du temps.
Pour terminer, j'aimerais vous laisser quelques ressources que vous pouvez utiliser pour approfondir votre connaissance du paysage open source de Swift..
C'est la destination officielle de tout le développement de Swift. Il comprend des guides de mise en route, des résumés de tous les projets en cours, etc. Cela devrait être votre premier arrêt si vous voulez vous impliquer.
Bien que celui-ci existe depuis un certain temps, si vous ne l'avez pas déjà visité, vous devriez le faire. Il contient de nombreuses informations utiles sur Swift et son architecture rédigée par Chris Lattner. Bien qu'il reste à voir s'il sera maintenu au lieu de swift.org, il reste une ressource précieuse.
Je l'ai déjà mentionné à quelques reprises, mais c'est là que tout le développement de Swift a lieu. Si vous souhaitez parcourir du code, créer des référentiels ou soumettre des demandes d'extraction, c'est ici que cela se produit..
C'est une excellente liste de diffusion à laquelle vous inscrire si vous souhaitez avant tout savoir comment Swift va évoluer et quelle direction prend la langue. En outre, il existe plusieurs autres listes de diffusion à considérer, qui traitent toutes de divers aspects du développement de Swift. Vous pouvez tous les voir ici.
Comme tout autre logiciel, Swift a des bugs. C’est l’emplacement central que l’équipe Swift utilise pour suivre les bogues et les suivre jusqu’à ce qu’ils soient résolus. Outre les bugs, des améliorations peuvent également être suggérées ici.
Swift va jouer un grand rôle dans le développement iOS à l'avenir. Je pense que les développeurs le savent depuis l'annonce de la WWDC 14. Ce qui est passionnant, c'est que cela va désormais se manifester en dehors des plateformes d'Apple. Imaginez utiliser Swift comme langage côté serveur lors du développement d'une API?
Peut-être plus important que la croissance de Swift est le fait que la communauté sera le moteur du changement. Open sourcing Swift ouvrira de nombreuses portes pour vous et pour la langue. Il est maintenant temps de vous impliquer, alors commencez à lire les directives de contribution et j'ai hâte de voir votre prochain commit dans le référentiel Swift.