Apple veut vous apprendre à développer en Swift
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
Quelle est la config minimal recommandée pour faire du dev en Swift ?
@Boboss29
Mac Apple silicon pour Xcode.
@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.
@Boboss29
mac mini 2018 au moins on peut changer sa ram jusqu'à 64go
sinon macmini m1
@raoolito
Merci c'est ce que je vais lui conseiller 😊
@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.
@Nico_Belgium
je vais lui dire ça. Merci 😊
@Nico_Belgium
Les Macs M1 neufs sont encore en vente ?
Ou bien faut-il aller vers du reconditionné ?
@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
@Nico_Belgium
Pas nécessairement, un Mac tournant sous Ventura minimum, sinon oui un Mac Apple Silicon est mieux.
@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)
@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.
@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 🙃
Apple Silicon n'est obligatoire que pour développer pour VisionOS ...
@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 😉
@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.
@tuturw
Combien de ram as-tu stp ?
@Boboss29
8Go
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...
@hawker
Alors mettez-vous à Python 😂
https://www.tiobe.com/tiobe-index/
@CrimsonSuccessiveOtter
Et le langage C, indétrônable…
@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.
@ 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é
@ 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).
@BeePotato
RN = React Native ?
@ 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.
@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/.
@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.
@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 !
😁
@hawker
Pourquoi vivre alors qu’un jour on va mourir ?
@ 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.
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
Qu’ils donnent une meilleur commission aux petits projets, déjà.
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???
@ 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 ».