Le nouveau langage de programmation Swift d'Apple est meilleur pour les codeurs iOS et Mac

  • Sep 07, 2023

Alors que la poussière retombait après l'introduction de Swift par la WWDC, le nouveau et futur langage de programmation d'Apple, les développeurs Mac et iOS avaient de quoi réfléchir. Beaucoup se tournent vers Swift après avoir exprimé leurs premières inquiétudes.

Les développeurs Mac et iOS s'intéressent de près à Swift, le nouveau langage de programmation d'Apple présenté ce mois-ci à la WWDC de San Francisco. Certaines questions urgentes concernent notamment la question de savoir si Swift est bon ou mauvais, s'il doit être utilisé pour les besoins actuels et projets futurs, et si les programmeurs doivent ou non revenir en arrière et recoder leur travail Objective-C passé.

Le nouveau langage de programmation Swift d'Apple est meilleur pour les codeurs iOS et Mac

David Owens, de l'équipe MS Office pour Mac et iPad de Microsoft, avait déjà publié sur Medium que le l'introduction de Swift a été une mauvaise journée pour les programmeurs ObjC.

Cela me rend très triste pour l’avenir du développement iOS et OS X. Je ne vois pas, pour le moment, de changements majeurs arriver à Swift. Il y a de nombreux éléments fondamentaux à propos de Swift dont je ne suis tout simplement pas fan et qui, je pense, brisent l'esprit de l'ObjC: le pragmatisme.

Cependant, dans un article récent, Owens a déclaré il avait changé d'avis. Il bloguait sur la création d'une bibliothèque JSON (JavaScript Object Notation) légère qui fournit le "l'expressivité" qu'il avait avec ObjC, "tout en restant fidèle à la sémantique de Swift". Il était optimiste quant au reportage de Swift sur Cabriolets.

Avec juste un peu de travail (et beaucoup de temps à lutter contre les bogues actuels dans Xcode et Swift), Swift permet de franchir la frontière entre la sécurité du type et l'expressivité. Je ne peux qu'imaginer que lorsque nous aurons une documentation appropriée pour tout cela, la plupart de mes problèmes de frappe statique disparaîtront tout simplement.

Je me sens beaucoup plus optimiste sur Swift aujourd’hui. =)

Sur le blog Cocoanetics, Oliver Drobnik a répondu à la question de savoir si les programmeurs devraient passer à Swift ainsi que s'il est judicieux de migrer le code existant vers Swift. Bien sûr, sa réponse à la première question pourrait être résumée par « cela dépend », principalement en fonction du moment où une application particulière sera publiée. Cependant, en ce qui concerne la migration vers l'arrière, Drobnik a déclaré qu'il y avait de bonnes raisons d'attendre.

Nous avons plusieurs projets fermés et open source utilisant Objective-C. Il n’y a rien à gagner à tout réécrire dans une nouvelle langue. Apple vous permet de mélanger et d'associer les langues. Si vous ajoutez une nouvelle classe à un projet existant, vous risquez de vous laisser tenter par l'attrait de Swift et de l'utiliser pour l'implémentation. Ou même une nouvelle application est quelque chose que vous pouvez aborder dans Swift dès le début pour en savoir plus et pouvoir donner votre avis à Apple. Je ne vois pas Swift remplacer immédiatement tout le développement Objective-C.

À mon sens, l'approche de Drobnik était semblable à celle du démarrage d'une nouvelle relation. Il a dit qu'il continuerait à coder en Objective-C pour les projets existants et que lorsque Appledoc prendrait en charge Swift, il pourrait envisager d'y réaliser un projet. Mais il n’y avait aucune raison de « se précipiter dans une nouvelle relation avec une nouvelle langue et d’abandonner celle que l’on aime depuis plusieurs années ». Prenez votre temps pour apprendre à vous connaître d'abord."

Rob Napier, co-auteur de Programmation iOS 7 repoussant les limites, publié sur le blog Cocoaphony qui, malgré les informations selon lesquelles Swift était un langage de programmation fonctionnel, il y avait peu de "fonctionnel" là-dedans. Il a dit qu'il s'agissait d'un "langage orienté objet assez traditionnel". Mais ça allait.

J'aurais aimé que tout le développement de Cocoa devienne fonctionnel, mais simplement parce que j'apprécie ça. Je ne sais pas si cela aurait permis d'atteindre l'objectif de créer des applications iOS et Mac vraiment fantastiques, du moins à court terme. Ce n’est pas que le FRP ne soit pas une bonne idée. Je n'ai pas d'opinion bien arrêtée là-dessus. C'est juste que la courbe d'apprentissage est élevée pour les programmeurs ObjC par rapport à Swift.3 Et nous devrons intégrer Swift avec ObjC (non fonctionnel) pendant longtemps.

Vérifier:Les développeurs Mac réfléchissent au nouveau langage Swift d'Apple

Napier espère que Swift intégrera davantage de fonctionnalités fonctionnelles. Si c'est le cas, dit-il, "Swift pourrait être un langage étonnamment important et pourrait améliorer la programmation". discipline car les programmeurs devraient apprendre la programmation fonctionnelle pour développer sur un support très populaire. plate-forme... Ou rien de tout cela ne peut arriver, et Swift pourrait bien être un langage permettant d'écrire des applications iOS et Mac vraiment fantastiques, et ce n'est pas grave aussi.

Practical Swift a publié une liste de 74 fonctions intégrées (dont seulement 7 sont actuellement documentés). "La définition utilisée pour la 'fonction intégrée' utilisée dans cet article est une fonction disponible dans Swift sans importer de modules (tels que Foundation, etc.) ni référencer de classes."

En vedette

  • Windows 10 est-il trop populaire pour son propre bien?
  • 5 façons de trouver le meilleur endroit pour démarrer votre carrière
  • C’est ainsi que l’IA générative va améliorer l’économie des petits boulots
  • 3 raisons pour lesquelles je préfère cet Android à 300 $ au Pixel 6a de Google

Michael Ash, auteur de Questions et réponses complètes du vendredi: sujets avancés dans la programmation Mac OS X et iOS, a publié une analyse de ce qu'il a appelé "fonctionnalités intéressantes" dans Swift. La liste comprend :

Options explicites. Swift fait des valeurs facultatives une construction de langage de première classe et exige que tout type facultatif soit explicitement marqué comme tel.

Plusieurs valeurs de retour. Swift permet à une fonction de renvoyer plusieurs valeurs.

Génériques. C’est une question énorme. Swift prend en charge les classes et fonctions génériques.

Inférence de type. Le typage statique est agréable, mais il peut entraîner une redondance douloureuse dans le code.

Structures de type classe. Comme Objective-C, Swift possède à la fois des classes et des structures. Contrairement à Objective-C, les structures Swift peuvent contenir des méthodes.

Fermetures traînantes. Il s’agit d’une fonctionnalité astucieuse qui est à la fois inutile et vraiment sympa.

Surcharge des opérateurs. J'imagine que celui-ci sera controversé.

Ash dit qu'il a hâte d'utiliser Swift. "Il possède de nombreuses fonctionnalités qui peuvent sembler étrangères à quelqu'un venant d'Objective-C, mais je pense qu'en fin de compte, elles ont beaucoup de sens et seront agréables à utiliser."

Nous en sommes aux premiers jours de la transition d’ObjC à Swift et il y aura sans aucun doute des opposants. Finalement, il y aura des fans. Cette transition, cependant, ne sera pas – oserais-je le dire – rapide.