@Draken: attends, tu peux pas comparer la complexité d'un gestionnaire de liste de courses avec celle d'une suite bureautique non plus... faux pas déconner.
Ce n'est pas parce qu'un langage permet de réaliser le premier projet qu'il convient au second, et ce dont doute yoann est justement que Swift ait les épaules assez solides pour ce genre de gros développement. C'est une question qui me parait tout à fait légitime.
Non, mais je peux comparer la complexité de jeux iOS comme Order & Chaos Online (MMORPG), Dungeon Hunter (RPG) ou N.O.V.A (fps) avec une suite de bureautique. Yoann dis surtout que l'iOS est un "gadget" pour des utilisations simplistes, des "jouets" selon ces propres termes. Même si techniquement parlant un jeu est un "jouet", les jeux de classe AAA sont d'une complexité interne affolante, avec des budgets de plusieurs millions d'euros.
La plupart des applications iOS sont simples pour des questions d'usages en mobilité, et d'interface. D'ailleurs, il y a des gens qui utilisent l'iPad en "production légère" pour taper du texte, prendre des notes, rédiger des rapports avec des graphismes, préparer des transparents pour des réunions, etc .. Et qui espèrent l'arrivée proche d'un iPad Pro avec un écran de 12 pouces, pour plus de confort.
Au cas où certains auraient encore des doutes, après un petit test rapide, voici une application OSX + ses 3 plugins, chargés entièrement dynamiquement... le tout en pur Swift.
Au cas où certains auraient encore des doutes, après un petit test rapide, voici une application OSX + ses 3 plugins, chargés entièrement dynamiquement... le tout en pur Swift.
Je pense que ça intéresserai plus d'une personne (moi le premier) si tu mettais ces sources à dispositions.
Même si il n'est pas commenté le code à l'air propre et facile à comprendre. Tu pourrais le faire s'il te plaà®t Ali ?
Non, mais je peux comparer la complexité de jeux iOS comme Order & Chaos Online (MMORPG), Dungeon Hunter (RPG) ou N.O.V.A (fps) avec une suite de bureautique.
Ces jeux ne sont pas programmés en Swift, c'est là que je veux en venir.
Ces jeux ne sont pas programmés en Swift, c'est là que je veux en venir.
Je n'ai jamais comparé les langages sur le plan technique, juste parlé de la richesse de l'écosystème iOS.
Les subtilités technologiques de Swift et d'Objective-C ne sont pas à la portée de ma compréhension, et ne ne le seront jamais. Je ne me permet pas d'émettre un avis sur un sujet en dehors de ma sphère de compétence.
Ce que j'apprécie avec Swift c'est qu'il est assez simple pour qu'un non-informaticien comme moi puisse l'utiliser facilement. Mes centres d'intérêts sont ailleurs que dans l'écriture de lignes de code.
C'est à ce genre de remarque que je réagissais :
C'est question d'arrêter les conneries d'environnement hyper contrôlé qui n'est pas gênant sur un gadget comme iOS quand il est question d'OS X, histoire de conserver un écosystème riche.
Spécialement à "un gadget comme iOS".
Il est possible que Swift ne permette jamais d'écrire des super applications systèmes-de-la-mort-qui-tue, mais ce n'est pas mon propos.
Je pense que ça intéresserai plus d'une personne (moi le premier) si tu mettais ces sources à dispositions.
Même si il n'est pas commenté le code à l'air propre et facile à comprendre. Tu pourrais le faire s'il te plaà®t Ali ?
Il n'y a pas grand chose de plus dans le code source que ce qui est visible sur la capture, mais bon, pourquoi pas
[EDIT] Petit erratum dans le projet que j'ai uploadé la première fois (mauvais chemin de Info.plist après avoir réorganisé les fichiers pour poster un truc plus propre). Je viens de mettre à jour le ZIP.
J'ai développé deux apps 100% en Swift. C'est vraiment un langage remarquable, riche et particulièrement intéressant dans un cadre pédagogique. Si Swift est indiscutablement robuste, mur et très rapide, surtout, depuis de SWIFT 1.2 , Xcode n'est pas encore tout à fait arrivé à maturité. La tâche est particulièrement complexe surtout quand les langages se mélangent : Swift / C / C++ & Objective C. Cependant, les équipes de Chris Lattner, font un travail remarquable et la situation s'améliore vraiment de version en version.
Je ne vois pas pourquoi on ne pourrait pas utiliser swift pour faire de grosses applications, même à base de plugins.
Au contraire, dans un environnement de production de grosses applications, la clé pour réussir et savoir maintenir l'application sur le long terme, c'est d'être le plus simple et le plus bête possible. Donc plutôt se reposer sur du typage fort via des interfaces/protocoles prédéfinis plutôt que sur de la résolution dynamique.
Je suis en train de développer la seconde version de Clip totalement en Swift. J'ai quelques petit problèmes avec l'autocompletion. Notamment dans les blocks. Dans les blocks, les variables ne sont pas proposées avec l'autocompletion et il y a encore pas mal de soucis.
Néanmoins je suis assez impressionné de la vitesse à laquelle je m'y suis habitué et je trouve que c'est un langage très cohérent notamment sur le downcast par exemple. En objective-c cela est assez confus là c'est clair et net avec les "as".
Je veux parler de ça (voir image en pièce jointe). J'ai une variable "list" dans mon block mais l'autocompletion n'est pas capable de me proposer cette variable à l'intérieur du block.
Ah ok ça j'ai pas souvenir d'avoir eu mais faudrait que je reteste, en effet. Quitte à ouvrir un ticket ou demander sur Twitter aux devs de clang/swiftc (ils sont assez réactif surtout @jckarter)
Je parlais du fait de demander des trucs ouvertement à propos d'un langage sur Twitter.
Oui y a des ingénieurs Apple qui répondent sur Twitter (comme celui cité par @Aligator). Dés fois ils donnent des alternatives en attendant le fixe si c'est un bug bloquant.
Oui y a des ingénieurs Apple qui répondent sur Twitter (comme celui cité par @Aligator). Dés fois ils donnent des alternatives en attendant le fixe si c'est un bug bloquant.
Réponses
Non, mais je peux comparer la complexité de jeux iOS comme Order & Chaos Online (MMORPG), Dungeon Hunter (RPG) ou N.O.V.A (fps) avec une suite de bureautique. Yoann dis surtout que l'iOS est un "gadget" pour des utilisations simplistes, des "jouets" selon ces propres termes. Même si techniquement parlant un jeu est un "jouet", les jeux de classe AAA sont d'une complexité interne affolante, avec des budgets de plusieurs millions d'euros.
La plupart des applications iOS sont simples pour des questions d'usages en mobilité, et d'interface. D'ailleurs, il y a des gens qui utilisent l'iPad en "production légère" pour taper du texte, prendre des notes, rédiger des rapports avec des graphismes, préparer des transparents pour des réunions, etc .. Et qui espèrent l'arrivée proche d'un iPad Pro avec un écran de 12 pouces, pour plus de confort.
Je pense que ça intéresserai plus d'une personne (moi le premier) si tu mettais ces sources à dispositions.
Même si il n'est pas commenté le code à l'air propre et facile à comprendre. Tu pourrais le faire s'il te plaà®t Ali ?
Ils sont surement pas programmés en Objective C aussi
Je n'ai jamais comparé les langages sur le plan technique, juste parlé de la richesse de l'écosystème iOS.
Les subtilités technologiques de Swift et d'Objective-C ne sont pas à la portée de ma compréhension, et ne ne le seront jamais. Je ne me permet pas d'émettre un avis sur un sujet en dehors de ma sphère de compétence.
Ce que j'apprécie avec Swift c'est qu'il est assez simple pour qu'un non-informaticien comme moi puisse l'utiliser facilement. Mes centres d'intérêts sont ailleurs que dans l'écriture de lignes de code.
C'est à ce genre de remarque que je réagissais :
Spécialement à "un gadget comme iOS".
Il est possible que Swift ne permette jamais d'écrire des super applications systèmes-de-la-mort-qui-tue, mais ce n'est pas mon propos.
Si, mais avec de grosses pépites de C++ dedans.
[EDIT] Petit erratum dans le projet que j'ai uploadé la première fois (mauvais chemin de Info.plist après avoir réorganisé les fichiers pour poster un truc plus propre). Je viens de mettre à jour le ZIP.
Merci Ali
J'ai développé deux apps 100% en Swift. C'est vraiment un langage remarquable, riche et particulièrement intéressant dans un cadre pédagogique. Si Swift est indiscutablement robuste, mur et très rapide, surtout, depuis de SWIFT 1.2 , Xcode n'est pas encore tout à fait arrivé à maturité. La tâche est particulièrement complexe surtout quand les langages se mélangent : Swift / C / C++ & Objective C. Cependant, les équipes de Chris Lattner, font un travail remarquable et la situation s'améliore vraiment de version en version.
Au passage je vous encourage a jeter un coup d'oeil régulier sur le blog developer.apple.com/swift/blog/
Au contraire, dans un environnement de production de grosses applications, la clé pour réussir et savoir maintenir l'application sur le long terme, c'est d'être le plus simple et le plus bête possible.
Donc plutôt se reposer sur du typage fort via des interfaces/protocoles prédéfinis plutôt que sur de la résolution dynamique.
Je suis en train de développer la seconde version de Clip totalement en Swift. J'ai quelques petit problèmes avec l'autocompletion. Notamment dans les blocks. Dans les blocks, les variables ne sont pas proposées avec l'autocompletion et il y a encore pas mal de soucis.
Néanmoins je suis assez impressionné de la vitesse à laquelle je m'y suis habitué et je trouve que c'est un langage très cohérent notamment sur le downcast par exemple. En objective-c cela est assez confus là c'est clair et net avec les "as".
Moi quand je tape une méthode qui prend un block en paramètre l'auto complétion me propose bien les paramètres du block comme attendu pourtant...?
Je veux parler de ça (voir image en pièce jointe). J'ai une variable "list" dans mon block mais l'autocompletion n'est pas capable de me proposer cette variable à l'intérieur du block.
ça existe ça ?
Sinon y'a aussi dans les println()
Si je marque :
L'autocompletion ne proposera pas "list".
Par contre si je marque :
L'autocompletion ne va pas me proposer le "list" mais va me proposer le "firstObject". C'est un peu instable encore.
;D
Je parlais du fait de demander des trucs ouvertement à propos d'un langage sur Twitter.
Oui y a des ingénieurs Apple qui répondent sur Twitter (comme celui cité par @Aligator). Dés fois ils donnent des alternatives en attendant le fixe si c'est un bug bloquant.
Ha ça je ne savais pas c'est intéressant tient.