OS X Yosemite : JavaScript vient seconder l'AppleScript

Nicolas Furno |

Apple n’abandonne pas l’AppleScript, comme l’a prouvé son retour dans la suite bureautique iWork. Le langage de script imaginé par le constructeur n’a pas disparu avec OS X Yosemite et les scripts continuent de fonctionner à peu près normalement, même s’il y a encore quelques bugs liés aux bêtas. Le plus intéressant est toutefois plus discret : le logiciel qui permet de développer les scripts a été renommé, et il ne se limite plus à l’AppleScript.

Nommé jusque-là Éditeur AppleScript, le logiciel a été renommé plus simplement Éditeur de script. En fait d’un nouveau nom, il s’agit plutôt d’un retour : avant Snow Leopard, c’était déjà le nom de ce logiciel et ce n’est qu’avec OS X 10.6 qu’Apple l’avait changé. Quoi qu’il en soit, le changement est tout sauf gratuit : on n’est plus obligé d’utiliser AppleScript pour créer des scripts sur son Mac.

Avec OS X Yosemite, le JavaScript vient s’ajouter à la liste des langages proposés pour créer des scripts. L’AppleScript est toujours sélectionné par défaut, mais on peut si on le souhaite utiliser le langage qui sert traditionnellement sur internet. Si vous êtes à l’aise avec le JavaScript, c’est sans doute une bonne solution, d'autant que l'on retrouve la majorité des commandes et outils que l'on connaît bien avec le langage de script d'Apple.

Sans détailler précisément la création de scripts pour OS X dans ce langage, on note qu'Apple a pris soin de conserver une certaine cohérence entre les deux options. Par exemple, pour activer un logiciel, on écrirait en AppleScript tell application "TextEdit" to activate. En JavaScript, c'est assez proche, dans une philosophie différente toutefois :

TextEdit = Application('TextEdit')
TextEdit.activate()
Deux philosophies très différentes pour activer un logiciel : AppleScript en haut, JavaScript en bas.

Bien sûr, dans cet exemple très simple, l'intérêt de JavaScript par rapport à l'AppleScript n'est pas évident quand on a l'habitude de ce dernier. Mais pour certaines tâches, c'est bien plus clair : puisqu'il s'agit d'un langage très utilisé sur le web, les manipulations dans le navigateur peuvent devenir beaucoup plus simples quand on l'utilise. À vous de voir selon vos besoins, en gardant à l'esprit qu'il ne s'agit pas seulement de scripts isolés : Apple fournit avec OS X Yosemite tout ce qu'il faut pour intégrer le code à un logiciel complet codé en Objective-C, ou en Swift.

Ajoutons qu'une session sera intégralement dédiée à l'utilisation de JavaScript pour automatiser OS X. Elle aura lieu vendredi et sera disponible pour tous les développeurs et les curieux peu de temps après.

avatar Nonoche | 

L'intérêt pour ceux qui savent coder en JavaScript mais pas en AppleScript sera évident, en plus de certaines fonctions propre au JavaScript comme les expressions régulières, ou son exécution beaucoup plus rapide par exemple.

avatar BooBoo | 

Et pas Swift ?

avatar BooBoo | 

Je n'ai jamais réussi a me mettre vraiment a AppleScript dont je trouve la syntaxe très confuse.
PS: Je suis informaticien et utilise pour le boulot le C, C#, Python, bash, et en perso ObjectiveC, javascript, php

avatar enti | 

J'ai une question, est-ce qu'automator est toujours présent ? A-t-il subi des modifications ?

avatar Nicolas Furno | 
@ enti : oui et non, enfin en tout cas je n'ai rien vu d'énorme.
avatar enti | 

C'est surtout au sujet des tags que je me pose la question, car sous mavericks ils n'étaient pas vraiment supportés, c'en était resté aux anciennes étiquettes ce qui causait parfois quelques problèmes entre tags et étiquettes, est-ce que ça a été corrigé ?

avatar Nicolas Furno | 
@ enti : je viens de regarder, ça n'a pas changé depuis Mavericks.
avatar enti | 

Je suis un peu deg qu'ils ne prennent pas soin d'automator alors que c'est vraiment super productif et super accessible, et LE truc qui me fait préférer OSX aux autres OS.
Merci pour les infos, j'espère que ça ira mieux en version finale, soyons rêveurs.

CONNEXION UTILISATEUR