Aller au contenu

Une petite video sur Swift


Messages recommandés

Intéressant la simplification du code : on peut par exemple mixer (sans forcément donner le type) des variables de natures différentes comme des chaînes de caractères avec des entiers…

 

Les boucles aussi sont simplifiées et on est plus obligé (mais on peut si on aime) mettre des points virgules à la fin de chaque ligne (youpiii ! :merci: )…

 

https://www.youtube.com/watch?feature=player_embedded&v=3tZig9AWMdc

Lien vers le commentaire
Partager sur d’autres sites

Oui, j'ai déjà été faire un petit tour sur le site Apple. Et autant, je n'envisageais pas de programmer en ObjectiveC que je trouvait indigeste, trop verbeux et trop compliqué. Autant Swipf me parait enfin utilisable. Bonne simplification du langage, et à priori plutôt bien foutu. Peut-être que je vais m'y mettre :)

 

Voila une petite révolution que je n'imaginais pas de la part d'Apple...

 

Bon, mon micro principal est encore sur Mountain Lion. Alors...

Lien vers le commentaire
Partager sur d’autres sites

Je continue mes investigations sur swift et ça me semble vraiment pas mal…

 

Quelques exemples :

 

on convertit un integer en string :

  • let label = "The width is "
    let width = 94
    let widthLabel = label + String(width)


On crée un array :

  • var shoppingList = ["catfish", "water", "tulips", "blue paint"]
    shoppingList[1] = "bottle of water"


Un dictionnaire :

  • var occupations = [
    "Malcolm": "Captain",
    "Kaylee": "Mechanic",
    ]
    occupations["Jayne"] = "Public Relations"


Des opération avec affichage du résultat (donc conversion en string à la volée comme vue plus haut)

  • let apples = 3
    let oranges = 5
    let appleSummary = "I have \(apples) apples."
    let fruitSummary = "I have \(apples + oranges) pieces of fruit."


Plus d'info sur la doc officielle d'Apple ici https://developer.ap...GuidedTour.html

 

A noter que "var" sert à déclarer une variable et "let" une constante.

 

J'enrage d'être en MacOSX 10.6 au taf, je ne peux rien tester :zz-big-beurk:

Lien vers le commentaire
Partager sur d’autres sites

Allez encore un (m'en lasse pas) :

 

Au début j'ai cru que c'était bêtement les "case" de Xojo mais en y regardant de plus près c'est 'achetement plus balèze :

 

 

let vegetable = "red pepper"
switch vegetable {
case "celery":
   let vegetableComment = "Add some raisins and make ants on a log."
case "cucumber", "watercress":
   let vegetableComment = "That would make a good tea sandwich."
case let x where x.hasSuffix("pepper"):
   let vegetableComment = "Is it a spicy \(x)?"
default:
   let vegetableComment = "Everything tastes good in soup."
}

Lien vers le commentaire
Partager sur d’autres sites

et dans le :

let vegetableComment = "Is it a spicy \(x)?"

 

Il faut savoir que "\(X)" récupère la valeur de la variable X :)

Solution plutôt géniale.

 

(Oups, tu l'as mis un post plus tôt. Pas grave, je laisse).

Modifié par BorakLeRouge
Lien vers le commentaire
Partager sur d’autres sites

Oui le "X" est récupéré d'ici (admirez la façon d'écrire ça au passage, super élégant je trouve) :

case let x where x.hasSuffix("pepper"):

Lien vers le commentaire
Partager sur d’autres sites

Hello :)

 

Malgré plusieurs tentatives, par le passé, pour apprivoiser quelques bases de Obj-C, je n'ai jamais réussi à comprendre la logique de ce langage, du coup, je me suis contenté avec AppleScript-Studio, certes, beaucoup moins puissant et rapide, mais tellement plus simple et agréable à coder.

 

Je trouve donc que cette évolution du langage natif est une excellente initiative (pourquoi diables ne l'ont-ils pas proposé plus tôt ? :huh:), d'autant que la syntaxe générale de Swift se rapproche de celles qu'on retrouve sur certains langages populaires du Web (le point-virgule en moins :P ).

 

De nombreux développeurs issus d'internet vont du coup se trouver dans un environnement plus confortable et familier, nul doute alors qu'ils ne tarderont pas à tenter l'expérience Swift, d'autant que, si j'ai bien compris la stratégie d'Apple, les programmes conçus avec ce langage étant nativement compatibles MacOs et iOs (sauf erreur), tout l'écosystème Apple bénéficiera du travail des développeurs indépendants.

 

Perso, voilà une raison bien enthousiasmante pour passer enfin sur Mavericks, même si je doute pouvoir en faire une activité régulière, ça aiguise quand-même suffisamment ma curiosité pour tenter l'expérience.

 

En tout cas, je félicite Apple pour cette initiative et j'espère que cela donnera un nouvel élan à notre plate-forme favorite ! ;)

Lien vers le commentaire
Partager sur d’autres sites

Re...

 

Petit point d'ombre (pour moi en tout cas) : j'ignore comment Apple envisage l'intégration de ce nouveau langage dans l'évolution des systèmes MacOs et iOs (notamment en ce qui concerne les API et le runtime), mais je pense qu'ils devront conserver la compatibilité Obj-C pendant de nombreuses années encore, car je doute que les éditeurs de logiciels importants (Adobe, Microsoft, Apple même, etc.), ainsi que pléthore de dévs indépendants, seront prompts à faire une nouvelle migration de tous leurs produits vers ce nouveau langage (cela avait déjà été assez problématique lors du passage Carbon -> Cocoa pour leur imposer encore une réécriture complète de leurs logiciels en si peut de temps)...

 

À moins... à moins que rien n'oblige Apple à abandonner un jour Obj-C, si les deux langages peuvent cohabiter harmonieusement sans surcharge particulière au niveau des ressources et des performances, cela semble alors possible, d'autant qu'une fois compilé, j'imagine que peu de choses peuvent différencier un programme développé avec un langage ou avec l'autre... non ? :blink:

 

Des avis ? :huh:

Modifié par FredoMkb
Lien vers le commentaire
Partager sur d’autres sites

D'après ce que j'ai compris, tu peux coder en C, Objective-C et Swift dans le même projet (tout comme on pouvait mixer le C avec l'Objective C auparavant), donc je ne pense pas que Objective C soit pour l'instant en danger (ce qui n'est pas forcément le cas d'Applescript d'après certaines rumeurs)…

 

Je pense par contre qu'Apple va pousser de plus en plus vers Swift, peut-être en ne sortant des nouvelles APi que pour ce langage ? De toute façon pour des tâches plus bas niveau, je pense que le C (et donc surement l'objective C) sera nécessaire et qu'il aura sa raison d'exister face au Swift…

Lien vers le commentaire
Partager sur d’autres sites

... donc je ne pense pas que Objective C soit pour l'instant en danger (ce qui n'est pas forcément le cas d'Applescript d'après certaines rumeurs)…

 

Ha... si les rumeurs sur AppleScript se confirment, je trouve que c'est une très mauvaise nouvelle, et je ne serai certainement pas le seul à le regretter... enfin, à moins qu'une nouvelle techno soit proposée en remplacement... à voir...

 

Je pense par contre qu'Apple va pousser de plus en plus vers Swift, peut-être en ne sortant des nouvelles APi que pour ce langage ? De toute façon pour des tâches plus bas niveau, je pense que le C (et donc surement l'objective C) sera nécessaire et qu'il aura sa raison d'exister face au Swift…

 

Ce sera donc un multi-langage dans un seul et même environnement de développement... pourquoi pas, c'est déjà un peu le cas dans le monde du Web... ce n'est donc pas forcément mauvais a priori, faudra juste voir au niveau des perfs si cette cohabitation sera bénéfique ou pas...

 

:)

Lien vers le commentaire
Partager sur d’autres sites

Et vu qu'on pourra utiliser le Javascript comme langage de scripting à la place d'AppleScript. Peut-être que ce sera aussi le cas dans XCode ? ? ?

 

Ca serait aussi une sacré révolution. Les développeurs Javascript sont aussi très répendus.

Lien vers le commentaire
Partager sur d’autres sites

Je pense qu'effectivement AppleScript sera à terme remplacer par Javascript…

Pour une fois qu'Apple permet de faire du dev multiplateforme, on va pas pleurer hein ? :zz-big-ayehh:

Lien vers le commentaire
Partager sur d’autres sites

Je pense qu'effectivement AppleScript sera à terme remplacer par Javascript…

Pour une fois qu'Apple permet de faire du dev multiplateforme, on va pas pleurer hein ? :zz-big-ayehh:

 

Javascript, en effet, ça pourrait très bien le faire... faudra juste voir comment l'interfacer avec les AppleEvents (notamment pour pouvoir interagir avec le Système et le Finder, à moins que cette techno soit abandonnée au profit d'une autre plus adaptée au langage) et concevoir des protocoles de protection car, au niveau de la sécurité, Javascript n'est pas tout-à-fait irréprochable.

 

Mais c'est vrai qu'il s'agit d'un langage assez "universel", et ça pourrait en effet donner un bon coup de jeune à l'automatisation des tâches et aux "workflow" sur notre plate-forme, en attirant surtout de nombreux développeurs déjà bien rodés par ailleurs avec Javascript.

 

Quoi qu'il en soit, je pense qu'une phase de transition sera tout de même nécessaire, du moins jusqu'à que tout l'environnement MacOs soit compatible, stable et sécurisé... affaire à suivre donc...

 

:)

Lien vers le commentaire
Partager sur d’autres sites

Déjà que l'utilisation des AppleEvent est pas évident dans le cadre d'une appli Sandboxée (j'en ai fait les frais)…

Lien vers le commentaire
Partager sur d’autres sites

Déjà que l'utilisation des AppleEvent est pas évident dans le cadre d'une appli Sandboxée (j'en ai fait les frais)…

 

Je me doute que c'est un peu galère, déjà c'est une techno qui commence à dater, dont le principe reste très intéressant sur le papier, mais son implémentation et sa mise en oeuvre sont bien plus problématiques, surtout dans une perspective "multi-devices" (pour ne pas dire "multi-plate-formes").

 

Seulement, les AppleEvents sont tellement intégrés au système actuel, à de nombreux niveaux, qu'il ne sera pas évident de s'en passer si aisément que ça... il faudra donc une phase de transition qui demandera peut-être plusieurs évolutions du système avant qu'il soit définitivement abandonné.

 

Le remplacement d'AppleScript par Javascript sera, à mon humble avis, moins contraignant techniquement parlant, mais ça demandera du temps également avant que tous les acteurs s'en accommodent.

 

Je suppose que les ingénieurs de Cupertino ont désormais comme priorité d'imaginer des solutions compatibles sur tout type de "terminaux" (mobiles, tablettes, ordis, appareils domestiques connectés, interfaces industrielles, etc.), ce qui les incite à adopter les technologies les plus "universelles" et populaires, ce qui constitue, en soit, une petite révolution dans l'éco-système logiciel d'Apple, qui a toujours été très "propriétaire" et protégé...

 

S'agirait-il d'une nouvelle orientation "philosophique" prônée par le successeur de Steve Jobs ? :huh:

 

Ou tout simplement s'agit-il d'un élan de pragmatisme "technico-financier" ? :blink:

 

Allez donc savoir... :lol:

Lien vers le commentaire
Partager sur d’autres sites

Salut les potos !

Je me demande pour ma part qui utilise automator (déjà...) et qui l'utilise en y rajoutant des commandes AppleScript ?

Je verrais bien l'outil Automator remanié à la sauce "Swift"...

 

Pour appleScript Studio, je sais, c'est pas bien, mais il date tout de même (le langage), du système 7 !

Chapeau bas, et bonne retraite ?

 

Le choix d'un langage simplifié (et en effet très proche de php), et la mise en place (non confirmé), de Javascript à la place d'AppleScript permettrai en effet à Apple d'attirer une fouletitude de développeurs, et d'écraser par la même occasion toute concurrence (Android et autres).

Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
 Share

×
×
  • Créer...