Swift: le sujet officiel fourre-tout

SmySmy Membre
juin 2014 modifié dans Objective-C, Swift, C, C++ #1

Est ce que vous avez vu la keynote WWDC ?


Mais quel est donc ce truc, Swift !


«13456710

Réponses

  • Oh yeah ça à  l'air énorme !!! Après je comprends les routards qui vont forcément appréhender un peu le changement, mais s'il y a du bon pourquoi se priver ?


  • muqaddarmuqaddar Administrateur
    Un mélange de ruby et de JavaScript ?

    Personne l'attendait celui-là  !


    J'ai hâte de voir comment le mélanger à  de l'objective-C dans une app.
  • LarmeLarme Membre
    juin 2014 modifié #4

    Génial, et dire que j'commençais à  peine à  maà®triser l'Objective-C, bande de relouds là  ! :P


     


    Pour ceux que ça intéresse :

    https://itunes.apple.com/us/book/the-swift-programming-language/id881256329?mt=11


  • muqaddarmuqaddar Administrateur

    Parfois, un nouveau langage, c'est un moyen de se remotiver à  coder des choses... ça a été mon cas entre PHP et Ruby...


  • muqaddarmuqaddar Administrateur

    Je viens de télécharger le livre... Je vais potasser ça pour vois ce qui est vraiment "moderne".


     


    Le gros plus, c'est que ce soit compatible d'entrée Mac et iOS.


  • LarmeLarme Membre

    Du coup, cette Keynote était relativement bien intéressante.


     


    Le gros moins, c'est l'absence d'annonce de nouveaux iPhones. Moi, qui veux changer mon vieux 4S, qui tient toujours parfaitement, mais j'ai envie de changement.


    Après, c'est que j'risque d'avoir à  apprendre un nouveau langage, et voir des "var" sans "type", ça va m'énerver je pense :p


    La pseudo-compile/préview est intéressante.


     


    Concernant le reste, je suis content des liens renforcés entre iOS & OS X.


     


    Les rumeurs sur la domotique et l'Health se sont avérées. Vu que je travaille dans la domotique, j'ai hâte de pouvoir jeter un coup d'oe“il aux API...


  • muqaddarmuqaddar Administrateur
    juin 2014 modifié #8


    Après, c'est que j'risque d'avoir à  apprendre un nouveau langage, et voir des "var" sans "type", ça va m'énerver je pense :P




     


    Moi aussi, je n'aime pas coder sans typer, mais en même temps je parle et je n'ai pas lu la doc.


     




    " Swift is a type safe language. A type safe language encourages you to be clear about the types of values your code can work with. If part of your code expects a String, you can't pass it an Int by mistake.

     

    Because Swift is type safe, it performs type checks when compiling your code and flags any mismatched types as errors. This enables you to catch and fix errors as early as possible in the development process "

     

    Extrait de: Apple Inc. " The Swift Programming Language. " iBooks. https://itun.es/fr/jEUH0.l

     



     


  • muqaddarmuqaddar Administrateur
    juin 2014 modifié #9

    La page officielle de Swift en plus du livre:


    https://developer.apple.com/swift/


     


    Getting Start:


    https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/index.html


     


    En fait, Swift, c'est un mec qui a pété un câble chez Apple qui ne voulait plus voir de syntaxe à  crochets dans le code !


     


    Edit: le site de Swift langage à  la rue:


    http://swift-lang.org


  • muqaddarmuqaddar Administrateur
    En tout cas, dans les 2 premières pages du livre de swift, Apple le présente clairement comme le futur du développement plusieurs fois. Il faudra certainement y passer un jour ou l'autre...


    Je ne sais pas comment je vais gérer ça sur le forum: 2 langages mais les mêmes api...
  • Du grand, vraiment !


    Par contre je ne sais pas quoi penser de swift... Franchement je suis réellement partagé et comme dit muqaddar on risque de devoir tôt ou tard en bouffer.


    Alors je vais m'y mettre mais je suis à  moitié excité et à  moitié dégoûté de devoir jeter tout ce que j'ai appris sur l'Obj-C. Il reste les API qui sont les mêmes mais je me sens un peu perdu là , tout de suite.


     


    Je n'avais "que" la partie métier de faite dans mon nouveau projet, je vais essayer de tout convertir, prendre le pas sur le futur et allumer le BBQ avec mes bouquins Obj-C cet été  ^_^


     


    (PS: J'exagère volontairement mais ça me questionne quand même cette histoire)


  • Il fallait bien qu'un jour Apple se sépare d'Objective-C. Peut être que tant que Steve était la, c'était "non discutable", mais aujourd'hui le moment est probablement venu. Et ce d'autant plus, qu'on parle de projet compté en années.

  • SmySmy Membre
    Je ne vois pas trop l'intérêt, à  froid, d'un nouveau language. Je trouve Objective C puissant et bien conçu...
  • SmySmy Membre
    juin 2014 modifié #14


    En tout cas, dans les 2 premières pages du livre de swift, Apple le présente clairement comme le futur du développement plusieurs fois. Il faudra certainement y passer un jour ou l'autre..




    Pas de précipitation, ils se sont déjà  plantés avec leur garbage collector, abandonné en 10.8, non ?
  • muqaddarmuqaddar Administrateur


    Pas de précipitation, ils se sont déjà  plantés avec leur garbage collector, abandonné en 10.8, non ?




     


    ça n'a rien à  voir à  mon avis. ;-)


    J'aimerais bien savoir qui sont les types (sans jeu de mot) qui sont derrière Swift (en fait, si ce sont les mêmes qui font évoluer Objective-C).

  • muqaddarmuqaddar Administrateur

    Mais ce site:


    http://swift-lang.org


    existait depuis longtemps ou il est sorti hier ?




  • Mais ce site:


    http://swift-lang.org


    existait depuis longtemps ou il est sorti hier ?




     


    Je pense pense que c'est deux choses différentes même si il ont le même nom et la même extensions .swift


     


    Un est langage orienté objet pour le développement iOS et OS X développé par Apple et l'autre est un langage script pour le calcul parallèle ( C'est beaucoup plus orienté recherche ce genre de langage/bibliothèque).


     


    Ils se ressemblent sympathiquement parce que les deux veulent se rapprocher de la syntaxe du C. 


     


    Mais c'est bizarre qu'il ont le même nom :)

  • Bonjour,


     


    Lors de sa keynote apple a présenté son nouveau langage de programmation nommé "swift" qui va remplacé objective C, voici le lien pour télécharger le livre expliquant ce nouveau langage:


    https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11


     


    Qu'en pensez vous?


    Cela va changer nos habitudes de développement.


    P.s: dans un premier temps il sera possible de combiner "swift" et "objective C".


     


     




  • je te rappelle que c'est la WWDC. Donc *Developer* Conference. Une annonce pour de nouveaux matériels n'a pas sa place dans une WWDC dont le thème c'est les outils de développement, les APIs et les nouvelles choses qu'on va pouvoir faire en tant que devs. Doc ça ne m'étonne pas le moins du monde de ne pas avoir eu d'annonce de nouvel iPhone, ce n'était pas la place. ça n'empêchera pas un iPhone 6 en septembre ou octobre.


    S'ils avaient annoncé un nouveau matériel ça aurait été un truc comme une iWatch, pour la présenter aux devs pour leur dire "commencez à  développer dessus y'a de nouveaux frameworks dédiés à  l'iWatch" etc bref parce que ça aurait eu des conséquences sur les développements d'apps.




    Bah, j'aurais aimé avoir des annonces d'iPhone & d'iWatch. Pour l'iPhone, surtout pour connaà®tre les tailles d'écran en fait. Des designs pourraient totalement être remaniés si les rumeurs s'avéraient : Plus de largeur, etc.

    Pour l'iWatch, parceque c'est nouveau et lancer des dév' possibles comme tu l'as dit.

  • Ce que j'en pense ?


    Je vais sûrement m'y mettre un peu, mais pas à  fond dans un premier temps.


     


    Par contre, ce qui m'énerve, c'est qu'avec un langage tout nouveau et donc TOUTE une doc' à  lire et à  apprendre, une pelleté de questions de noobs va faire son apparition. C'est déjà  le cas sur StackOverFlow, avec " Quelle est la différence entre un let et un var ? ", alors que c'est clairement indiqué dans la doc' que l'un est pour un "const" et l'autre non.


    Je ne suis pas contre les questions de " noobs ", mais celles qui font partie du B-A-BA et dont les explications figurent dans les premiers chapitres de l'iBook, ça va me gonfler.


  • zoczoc Membre


    P.s: dans un premier temps il sera possible de combiner "swift" et "objective C".




     


    Oui.


     


    Et clairement, il sera sans doute toujours possible de le faire. Les développeurs ne vont pas jeter ou réécrire des millions de ligne de code. Swift utilise le runtime d'objective-C et il est donc possible de mixer Objective-C, Objective-C++ et Swift dans la même application.

  • heureusement d'ailleurs car cela va demander une grosse charge de travail!


  • samirsamir Membre
    juin 2014 modifié #23

    Swift : Je trouve qu'il ressemble ou même la copie de Rust. http://www.rust-lang.org/ et du C# aussi.




  • Mais bon c'est sous NDA donc je te laisse installer Xcode 6 et chercher par toi meme.




    De souvenir le NDA a été abandonné par Apple, non ?


     


    Sinon pour Switch j'ai l'impression que c'est un langage au typage faible, je suis pas forcement fan, j'aime bien typé une variable : un dictionnaire ne peut pas prendre d'autre valeur qu'un dictionnaire ou ça pète à  la compilation !


     


    Et j'attends d'en savoir plus et de faire des test pour voir comment sont gérer les héritages, les interfaces et protocole ou encore les category qui font mon bonheur en Obj-c.


     


    Enfin, malgré ces réserve, j'ai hâte de tester.


     


    Et surtout est-ce que ce langage sera propriétaire ? Ras le bol des procès a répétition parce que untel à  piqué un bout de code à  tel autre (cf Google-Android vs Oracle-java...).

  • AliGatorAliGator Membre, Modérateur

    Lors de sa keynote apple a présenté son nouveau langage de programmation nommé "swift" qui va remplacé objective C.

    Non Swift ne va pas remplacer l'Objective-C. C'est un langage alternatif, une autre possibilité, qui n'enlève en rien la possibilité de coder en Objective-C

    P.s: dans un premier temps il sera possible de combiner "swift" et "objective C".

    Pas que dans un premier temps. Ca va durer un paquet de temps. Objective-C n'est pas prêt de disparaà®tre.
     
     

    Par contre, ce qui m'énerve, c'est qu'avec un langage tout nouveau et donc TOUTE une doc' à  lire et à  apprendre

    Mais non, loin de là . Vous avez l'air d'en faire tout un drame, mais je vous rappelle que Swift n'est qu'un langage de programmation. Ca ne change rien que c'est le même Runtime, les mêmes Patterns, et surtout les mêmes frameworks et le même SDK derrière. On va pas réapprendre à  faire des UITableView ou à  faire du CoreData ou à  parser du JSON ou autre. Ca sera les mêmes classes, les mêmes techniques, les mêmes patterns delegate/dataSource/target-action/... et donc finalement à  peu près la même structuration de code.

    Le langage est nouveau, donc oui il va y avoir beaucoup à  apprendre sur ce nouveau le langage pour ceux qui veulent s'y mettre. Mais y'a rien de spécial à  réapprendre sur tout le SDK et tous les frameworks Cocoa. Les objets et classes seront toujours des UITableView, des UISwitch et tout le toutim, y'a rien à  réapprendre là -dedans.

    Je ne suis pas contre les questions de " noobs ", mais celles qui font partie du B-A-BA et dont les explications figurent dans les premiers chapitres de l'iBook, ça va me gonfler.

    Oui ça par contre c'est le risque. Préparez vos tampons "RTFM".


  • Mais non, loin de là . Vous avez l'air d'en faire tout un drame, mais je vous rappelle que Swift n'est qu'un langage de programmation. Ca ne change rien que c'est le même Runtime, les mêmes Patterns, et surtout les mêmes frameworks et le même SDK derrière. On va pas réapprendre à  faire des UITableView ou à  faire du CoreData ou à  parser du JSON ou autre. Ca sera les mêmes classes, les mêmes techniques, les mêmes patterns delegate/dataSource/target-action/... et donc finalement à  peu près la même structuration de code.


    Le langage est nouveau, donc oui il va y avoir beaucoup à  apprendre sur ce nouveau le langage pour ceux qui veulent s'y mettre. Mais y'a rien de spécial à  réapprendre sur tout le SDK et tous les frameworks Cocoa. Les objets et classes seront toujours des UITableView, des UISwitch et tout le toutim, y'a rien à  réapprendre là -dedans.

     




    Oui, je parle essentiellement de la logique/syntaxe du langage. Le reste devrait suivre. En bref, les trucs propres au langage.


    Déjà , j'ai pas vu beaucoup de crochets :(


    Et puis, j'ai vu vite fait les diff's iOS8/iOS7, et y'a beaucoup de mes getters en [] qui vont disparaitre (suffit de voir sur NSString).

  • AliGatorAliGator Membre, Modérateur
    Non ce n'est pas du typage faible mais du duck typing, du type inféré.

    Tu peux spécifier le type, et Apple le conseille fortement.
    Si tu ne le spécifie pas, il est inféré par la valeur que tu mets dans la variable à  l'initialisation.
    Mais les variables au final sont typées, soit explicitement soit implicitements.

    C'est clair que je ne suis pas fan du tout de la possibilité de type inféré, je préfère qu'on m'impose de le spécifier plutôt que laisser le compilo le deviner. Donc personnellement quand je coderai en Swift je définirai toujours mes types de variables explicitement.
  • colas_colas_ Membre
    juin 2014 modifié #28

    J'aime bien la façon, avec l'objective-C, dont les méthodes avec plus d'un argument sont gérées. Très pratique pour savoir quel argument fait quoi.


    Je suis un peu triste de voir que les



    methods(avec parenthèses, et plusieurs arguments)

    sont de retour avec le swift.


     


    :'(


     


    PS : certes, il est possible de laisser le nom de l'argument avec swift...



    myObject.give(person: him, when: tomorrow)

    mais quand même... (et puis la syntaxe



    myObject.give(him,tomorrow)

    est aussi correcte....


  • MalaMala Membre, Modérateur
    juin 2014 modifié #29

    Je me suis fait la même réflexion en commençant à  parcourir la doc. C'est dommage car la lisibilité est une grande qualité d'Obj-C.


  • LeChatNoirLeChatNoir Membre, Modérateur


    Et surtout est-ce que ce langage sera propriétaire ? Ras le bol des procès a répétition parce que untel à  piqué un bout de code à  tel autre (cf Google-Android vs Oracle-java...).




     


    Moi ce que je vois, c'est que Google a opté pour un langage assez générique et répandu et Apple avait fait le choix d'un langage plus "spécialisé" , un brin "élitiste".


     


    On s'est donc cassé le ... a l'apprendre et maintenant, pouf, il faut mettre tout ça à  la poubelle...


     


    J'aurai largement préféré une grosse évolution d'objective C (comme à  une époque où ils avaient inauguré de nouvelles syntaxes, ajouté, les blocks, etc), plutot qu'un énième changement qui risque fortement de dégouter les développeurs.


     


    Parce que maintenant, on va se gérer une palanquée de réso + un nouveau langage sorti de nul part, tout en payant 80 euros par an pour des validations d'appli qui prennent des plombes.


     


    Quand en face, tu paye 25 euros à  vie par app, que le langage utilisé existe depuis des lustres et que ton appli est validée en 4h...


     


    Bon, je ronchonne, je sais ; mais pour moi, depuis iOS5, chaque nouvelle WWDC devient angoissante et demande pas mal d'adaptation... J'ai du mal à  suivre...


     


    Est ce que je deviens vieux ?

  • DrakenDraken Membre
    juin 2014 modifié #31
    Rien ne te force a Swifter, tu sais .. Obj-C n'est pas prêt de disparaà®tre !

    Il te reste combien a vivre ? 5 ans ? Pas si mal pour un vieux chat.
Connectez-vous ou Inscrivez-vous pour répondre.