Apple veut vous apprendre à développer en Swift

Pierre Dandumont |

Probablement pour préparer l'arrivée de la WWDC 2024, son grand raout des développeurs, Apple a mis en ligne quelques pages pour ceux qui veulent apprendre le Swift, le langage conçu par Apple.

La première partie est dédiée à SwiftUI, qui permet de construire des interfaces graphiques facilement. Le tutoriel est découpé en cinq chapitres : découvrir Xcode, utiliser les vues et autres structures, layout and style, un chapitre sur les boutons et un autre sur les listes (l'ensemble reste en anglais). La seconde partie, découpée en trois chapitres, s'intéresse aux données et aux meilleures façons d'enregistrer et récupérer des informations. Enfin, une dernière section (deux chapitres) vise le casque Vision Pro et l'informatique spatiale.

Apple annonce la WWDC 2024 du 10 au 14 juin

Apple annonce la WWDC 2024 du 10 au 14 juin

Tags
avatar Boboss29 | 

Quelle est la config minimal recommandée pour faire du dev en Swift ?

avatar Nico_Belgium | 

@Boboss29

Mac Apple silicon pour Xcode.

avatar Boboss29 | 

@Nico_Belgium

Merci. C'est pour mon neveu qui voudrait se mettre à apprendre à coder des app, et qui voudrait racheter un mac mini 2014 (premier modèle à 1.4 ghz avec 4go de ram) Je lui ai fortement déconseillé cette config mais je voulais malgré tout avoir une idée pour l'orienter vers une machine.

avatar raoolito | 

@Boboss29

mac mini 2018 au moins on peut changer sa ram jusqu'à 64go

sinon macmini m1

avatar Boboss29 | 

@raoolito

Merci c'est ce que je vais lui conseiller 😊

avatar Nico_Belgium | 

@Boboss29

Hum non effectivement avec un Mac vieux de 10 ans, il pourra pas faire grand chose 🤷‍♂️

Perso aujourd’hui je conseille rien en dessous d’un Mac M1, même pour des débutants.

avatar Boboss29 | 

@Nico_Belgium

je vais lui dire ça. Merci 😊

avatar lepoulpebaleine | 

@Nico_Belgium

Les Macs M1 neufs sont encore en vente ?
Ou bien faut-il aller vers du reconditionné ?

avatar Nico_Belgium | 

@lepoulpebaleine

Je crois que tous les M1 sont sortis de la gamme. (Officiellement du moins). Il est peut être possible d’en trouver des neufs chez certains revendeurs (les fonds de stock). sinon reconditionnés effectivement

avatar CyanInfluentialCrane | 

@Nico_Belgium

Pas nécessairement, un Mac tournant sous Ventura minimum, sinon oui un Mac Apple Silicon est mieux.

avatar Nico_Belgium | 

@CyanInfluentialCrane

Oui enfin quitte à investir un peu, il vaut mieux le faire sur la durée. Le support des Intel commence à être vraiment en fin de vie côté Apple 🤷‍♂️.

Donc pour moi ça me semble logique de plutôt s’orienter vers du silicon. Un peu plus cher mais beaucoup plus pérenne (et efficace)

avatar CyanInfluentialCrane | 

@Nico_Belgium

Oui je suis d’accord. J’ai moi-même acheté un Air M2 il y a deux semaines parce que mon MacBook Pro 2016 s’essoufflait tant sur les performances que sur l’autonomie.
C’est le jour et la nuit.

avatar Nico_Belgium | 

@CyanInfluentialCrane

C’est pour ça que je donnais ça comme réponse en config minimum recommandée 😊

Sinon oui en théorie on peut toujours utiliser un Mac supporté pour Ventura..mais je le recommanderai pas 🙃

avatar xr2 | 

Apple Silicon n'est obligatoire que pour développer pour VisionOS ...

avatar Nico_Belgium | 

@xr2

Relire la question et le fil avant de commenter…

Il est demandé quelle est la config minimum recommandée. Pas la config minimum obligatoire 😉

avatar tuturw | 

@Boboss29

Je développe une appli iOS avec mon MacBook Pro 2017 d’entrée de gamme. C’est très lent, faut être patient, mais c’est faisable. À noter que depuis peu je ne peux plus mettre à jour XCode.

avatar Boboss29 | 

@tuturw

Combien de ram as-tu stp ?

avatar tuturw | 

@Boboss29

8Go

avatar hawker | 

Pourquoi faire du Swift, quand Rust est multiplateforme, génère des binaires plus rapides, et plus safe?
Je suppose que si on prévoit de ne jamais sortir de l'écosystème Apple, ça rend certaines tâches plus faciles, mais bon il faut vraiment être pro Apple sur le temps long...

avatar CrimsonSuccessiveOtter | 

@hawker

Alors mettez-vous à Python 😂

https://www.tiobe.com/tiobe-index/

avatar lepoulpebaleine | 

@CrimsonSuccessiveOtter

Et le langage C, indétrônable…

avatar CyanInfluentialCrane | 

@hawker

Swift n’est pas dédié qu’aux plateformes Apple… 🤦🏻‍♂️
Le problèmes des gens comme toi qui savent seulement cracher leur haine, c’est qu’ils ne s’informent pas avant de l’ouvrir.

avatar Dimemas | 

@ cyan : ah et à quoi d'autres ?
je serai TREEEEES curieux de savoir à quoi d'autres dans la vie réelle j'entends

hawker a raison (pas pour rust qui a un gain de popularité actuellement), autant faire du multiplateformes comment RN ou flutter qui ont franchement bien évolué

avatar BeePotato | 

@ Dimemas : « je serai TREEEEES curieux de savoir à quoi d'autres dans la vie réelle j’entends »

Pour ma part, en ce moment : développemenet d’outils pour des serveurs de calcul.
Rien de bien transcendant. Rien en lien avec l’écosystème Apple non plus, et un code en Swift qui est bel et bien multiplateformes sans avoir besoin de trucs comme RN ou Flutter (qui n’y apporteraient rien).

« autant faire du multiplateformes comment RN ou flutter qui ont franchement bien évolué »

On parle d’un langage. Je ne suis pas sûr que répondre en citant des frameworks d’interface graphique (qui certes sont chacun liés à un langage) soit bien pertinent. Ne serait-ce, déjà, que parce que ça réduit la discussion au développement d’applications à interface graphique, alors qu’on peut faire bien plus en Swift (ou avec la plupart des autres langages de programmation).

avatar lepoulpebaleine | 

@BeePotato

RN = React Native ?

avatar BeePotato | 

@ lepoulpebaleine : C’est comme ça que je l’ai interprété. Il faudrait demander à Dimemas pour être sûr de ce qu’il avait en tête en écrivant ça.

avatar Scooby-Doo | 

@hawker,

« Je suppose que si on prévoit de ne jamais sortir de l'écosystème Apple, ça rend certaines tâches plus faciles, mais bon il faut vraiment être pro Apple sur le temps long... »

🙃

Swift est officiellement supporté sur les plateformes d'Apple, sur Linux (Ubuntu, CentOS 8, Amazon Linux 2) et Windows (depuis la version 5.3).

Le support est assuré de manière non officielle pour Android, Linux sur l'architecture ARM, Windows, WebAssembly et d'autres systèmes. L'équipe responsable du développement de Swift a annoncé vouloir supporter officiellement de nouvelles plateformes.

https://fr.m.wikipedia.org/wiki/Swift_(langage_d'Apple)

👌

Moi :

Bonsoir Copilot ! Peux-tu me comparer les langages de programmation Rust et Swift, avec leurs inconvénients et avantages ?

Edge Copilot :

Bien sûr ! Comparons les langages de programmation **Rust** et **Swift** en examinant leurs caractéristiques, avantages et inconvénients.

## Rust :
- **Caractéristiques** :
- **Sécurité de la mémoire** : Rust est conçu pour minimiser les erreurs liées à la gestion de la mémoire. Son système de propriété et de référence permet de détecter les problèmes de mémoire à la compilation.
- **Écriture concurrente performante** : Rust facilite la programmation concurrente tout en évitant les problèmes courants tels que les courses de données.
- **Langage moderne et facile à maintenir** : Rust combine des fonctionnalités modernes avec une syntaxe claire et concise.
- **Avantages** :
- **Fiabilité** : Rust offre une sécurité accrue grâce à sa gestion rigoureuse de la mémoire.
- **Performances** : Rust est rapide et efficace, sans nécessiter de ramasse-miettes.
- **Interopérabilité** : Rust peut s'intégrer facilement à d'autres langages.
- **Inconvénients** :
- **Courbe d'apprentissage** : La syntaxe de Rust peut sembler complexe pour les débutants.
- **Moins de bibliothèques** : Bien que la communauté Rust grandisse, elle dispose de moins de bibliothèques que Swift.

## Swift :
- **Caractéristiques** :
- **Programmation sûre** : Swift élimine les codes dangereux et offre une sécurité accrue.
- **Vitesse** : Swift est rapide grâce à son compilateur LLVM performant.
- **Expressivité** : Swift est concis et facile à lire.
- **Avantages** :
- **Langage open-source** : La communauté de développeurs contribue activement à Swift.
- **Utilisé pour iOS et macOS** : Swift est idéal pour le développement d'applications Apple.
- **Facilité d'apprentissage** : Sa syntaxe intuitive attire les nouveaux développeurs.
- **Inconvénients** :
- **Strict** : Swift impose des règles strictes pour garantir la sécurité, ce qui peut être déroutant au début.
- **Moins adapté à d'autres plateformes** : Bien que cross-platform, Swift est principalement utilisé pour les produits Apple.

En résumé, **Rust** brille par sa sécurité et ses performances, tandis que **Swift** est idéal pour le développement d'applications Apple grâce à sa simplicité et sa vitesse.

Source : conversation avec Bing, 01/04/2024

(1) Développement iOS avec Swift : Avantages et inconvénients. https://mobiskill.fr/blog/conseils-emploi-tech/developpement-ios-avec-swift-avantages-et-inconvenients/.

(2) 5 bonnes raisons d’utiliser le langage Rust - Eni Blog. https://www.editions-eni.fr/blog/5-bonnes-raisons-dutiliser-le-langage-rust/.

(3) Rust VS C++ VS C que choisir en 2024 ? – Ambient IT. https://www.ambient-it.net/rust-vs-cplusplus-vs-c/.

(4) Le langage de programmation Rust. https://www.rust-lang.org/fr.

(5) Rust : un langage apprécié, mais pas sans difficultés. https://www.lemondeinformatique.fr/actualites/lire-rust-un-langage-apprecie-mais-pas-sans-difficultes-85885.html.

(6) Swift vs. Rust: Comparison guide - LogRocket Blog. https://blog.logrocket.com/swift-vs-rust-comparison-guide/.

(7) Rust vs C++ : Quel stack choisir en 2022 - Mobiskill. https://mobiskill.fr/blog/conseils-emploi-tech/rust-vs-c-quel-stack-choisir-en-2022/.

(8) C-rusted : les avantages de Rust, en C sans les inconvénients, - Page 2 - C. https://www.developpez.net/forums/d2146662-2/c-cpp/c/c-rusted-avantages-rust-c-inconvenients/.

avatar Florent Morin | 

@Scooby-Doo

Bon résumé.

Je pense que Swift 6 va encore réduire l’intérêt de Rust. Espérons qu’il soit intégré à Xcode 16.

avatar Scooby-Doo | 

@Florent Morin,

« Bon résumé. Je pense que Swift 6 va encore réduire l’intérêt de Rust. Espérons qu’il soit intégré à Xcode 16. »

👍

Merci mais j'ai été aidé par une IA inconsciente de ses réponses et prouvant son attachement à Swift !

Peut-être que l'IA pense que c'est un système international de virement interbancaire et qu'il vaut mieux éviter de le critiquer !

😁

avatar geooooooooffrey | 

@hawker

Pourquoi vivre alors qu’un jour on va mourir ?

avatar BeePotato | 

@ hawker : « Pourquoi faire du Swift, quand Rust est multiplateforme, génère des binaires plus rapides, et plus safe? »

Le plaisir. 🙂

« Je suppose que si on prévoit de ne jamais sortir de l'écosystème Apple, ça rend certaines tâches plus faciles, mais bon il faut vraiment être pro Apple sur le temps long... »

La majeure partie de ce que je développe en Swift tourne sur des Linux.

avatar fleeBubl | 

Disons qu’on a du mal à voir l’aboutissement dans Swift, de tentative de métaprogmmes … qui laisserait un peu derrière, la déclaration de classes pour créer un type … 🤦‍♀️ polysémique

avatar 3RIC | 

Qu’ils donnent une meilleur commission aux petits projets, déjà.

avatar jerome74 | 

Cool, je me suis dit que c'était l'occasion de me mettre à Swift (après plus de 30 ans d'Objective-C). Mais quand je vois cette phrase dans le tutoriel : "Read through the code. Swift and SwiftUI are designed to read like natural language.". Et meeerde, c'est un poisson d'avril! Comment peut-on prétendre que Swift se lit comme un langage naturel???

avatar BeePotato | 

@ jerome74 : « Comment peut-on prétendre que Swift se lit comme un langage naturel??? »

Ça a été conçu pour — ça ne signifie pas que cet objectif a été atteint. 😉

Blague à part : il serait effectivement très exagéré de prétendre que ça se lit comme du langage naturel, mais comme pour le couple Objective C + Cocoa, les conventions de nommage et l’intégration des étiquettes de paramètres pour les fonctions font que ça se lit de façon bien plus fluide que bien d’autres langages de cette famille des dérivés du C. Et par rapport à Objective C, l’inférence de type renforce cet effet en Swift en minimisant l’irruption de noms de types au milieu de ces « phrases ».

CONNEXION UTILISATEUR