Saltar para o conteúdo

AppleScript

Origem: Wikipédia, a enciclopédia livre.

O AppleScript é uma linguagem de computador interpretada que age sobre a interface do sistema operacional da Apple (Mac OS X) onde é possível realizar diversas mudanças e alterações de funcionamento e inclusive mesclar ferramentas e funções de um programa para outro com toda facilidade de programar uma linguagem intuitiva que é de se esperar de um script.

História

O projecto AppleScript é resultante do projecto HyperCard. O HyperCard tem uma linguagem em script com base a língua inglesa, e outra chamada HyperTalk, podendo assim usar a lógica e o comportamento. Os engenheiros da Apple viram que a linguagem em script podia ser usada em qualquer outra aplicação, e foi assim que o projeto da AppleScript nasceu. O Mac OS necessitou que upgrades (renovações) extensos fossem colocados na AppleScript. A maior parte das modificações tecnológicas foram feitas com o lançamento do System 7 , mudando assim o conceito da Apple. AppleScript foi lançado em outubro de 1993 como parte do System 7.1.1 (System 7 Pro, o primeiro e principal upgrade do System 7). QuarkXPress (ver.3.2) foi um dos primeiros e principais aplicativos de software que sustentou o AppleScript, e como consequência, o AppleScript foi amplamente adotado no segmento de divulgação do mercado Apple.

Conceitos Básicos

Apple Script foi projetada para ser usada como linguagem de usuário final, oferecendo aos usuários um mecanismo inteligente de controle de aplicações, informações e documentos a fim de que se automatize fluxos de trabalho. Serve para controlar outras aplicações. Automatizar um fluxo de trabalho com AppleScript frequentemente reduz o de tempo de performance de várias tarefas, reduz as chances de erro humano, proporciona resultados consistentes e cria um sistema de produção administrável pra trabalhar dentro dos prazos.

Por exemplo, um script pode abrir uma foto em um programa de edição de fotos, reduzir a resolução da mesma, criar uma borda, créditos para a foto, então exportar uma cópia pronta para a Web, depois escrever um web link para aquela foto dentro de um editor de texto, em seguida passar para a próxima foto da sequência, e o mesmo para centenas ou milhares de fotos. Eventualmente criando uma galeria de fotos pronta para a web, a qual o script usa um cliente FTP para fazer o upload para o web site do usuário. Para o usuário, centenas de passos em mútiplas aplicações com potencialmente milhares de documentos tem sido reduzida a um: rodar um script. Mesmo se usuário fosse usar o script apenas uma vez, o tempo inicial de criação do AppleScript pode ser completamente compensado. Na prática, scripts são usados de novo e de novo, tornando compensar o tempo de inicial de criação uma consideração trivial.

Um importante conceito para AppleScript é que scripts lidam com aplicações numa maneira fundamentalmente diferente das maneiras que um usuário interage com elas. Usuários manipulam a interface de usuário da aplicação, abrindo menus e clicando em botões. Scripts AppleScript requerem uma série de valores e invocam ações expostas pelo modelo interno de objeto da aplicação. Então, por exemplo, ao invés de digitar para entrar texto dentro de campos de um programa de banco de dados, um script AppleScript iria normalmente usar comandos que diretamente estabelecerm valores dos campos desejados da gravação, possivelmente sem a aplicação, mesmo mostrando a gravação sendo atualizada. AppleScript também tem a capacidade de controlar aplicações não estruturadas através de Interface Gráfica de Usuário (GUI), o que permite AppleScripts selecionarem itens de menu, clicar em botões, entrar com texto em campos, e geralmente controlar as interfaces da maioria dss programas Mac OS X 10.x para lidar com operações não disponíveis através da interface.

AppleScript no Mac OS X

AppleScript existe em várias aplicações do Mac OS X, da Apple e desenvolvedores terceiros. Aplicações com scritps estão no Finder, Safari, iPhoto e iTunes, também no Adobe Illustrator e Photoshop. Bare Bones BBedit e TextWrangler, Microsoft Word e Excel, VMWareFusion e muitos outros.

Antes do Sistema 7, as aplicação tinham apenas um modelo rudimentar que poderia indicar um número fixo de pequenos e de baixo nível eventos tais como "chave foi pressionada" ou "mouse foi clicado". Cada pedido responsável por esta decodificação de baixo nível em eventos de alto nível representam ações do usuário, tais como o "como escolher corte no menu Editar". Em muitos casos, o código de leitura e descodificação do evento foi misturados entre si; por exemplo, o código de tratamento de um clique do mouse para que possa decodificar selecionando o item Quit a partir do menu Arquivo e, em seguida, sair da aplicação imediata.

Adicionando suporte ao AppleScript requer que o programador da aplicação separe totalmente desta decodificação de executar as operações de comando, uma tarefa que a Apple se refere como refatoração. Os desenvolvedores são encorajados a escrever dois eventos completos "stacks", uma para a manipulação dos eventos de baixo nível (cliques, etc), e outra para eventos de alto nível (AppleEvents). O código atual que trabalho com esses comandos, uma vez decodificado, era pra ser completamente separados e identicamente chamados a partir de ambos os blocos.

No Mac OS X é fácil para programadores implementar AppleScript, em especial para os aplicativos que estão sendo desenvolvidos em Cocoa. Ao contrário do Mac OS onde os eventos são manipulados pelos aplicativos, sobre o Cocoa, eventos são descodificados em um "alto nível" com o comando NSApplication, e as mensagens enviadas diretamente para objeto correto. Isto é, todos aplicativos feitos no Cocoa são escritos por padrão, os programadores não escrevem nenhum evento (normalmente) e escrevem apenas os metodos de trabalho que esses eventos irão chamar.

Outra grande vantagem é que os objetos no Cocoa são apresentados ao mundo exterior (outras aplicações e até mesmo máquinas) em um formato padronizado que qualquer pessoa pode examinar diretamente. No Cocoa, AppleScript é muito "fino", o engine descodifica o script, traduz objeto humano a partir de nomes de leitura ao seu formato interno e, em seguida, convida os métodos sobre a aplicação de destino diretamente.

Open Scripting Architecture

Um aspecto importante da implementação do AppleScript foi o Open Scripting Architecture (OSA). Apple fornece OSA para scripts / produtos de terceiros, tais como automação e QuicKeys Userland Frontier, para funcionar igualmente ao AppleScript. AppleScript foi implementado como um componente scripting, e as especificações de interface básicas são públicas, permitindo que outros desenvolvedores adicionem seus próprios scripts para componentes do sistema. API públicas para carregar, salvar e compilar scripts devem funcionar do mesmo jeito para todos esses componentes, significa também que applets e droplets deveriam assegurar scripts em qualquer uma dessas linguagens de programação.

No Mac OS X, o componente JavaScript OSA continua a ser a única alternativa para o AppleScript, embora o Macintosh possua versões de Perl, Python, Ruby e Tcl todas tem suporte nativo com AppleEvents sem serem componentes OSA.

Uma das características mais interessantes do OSA são "scripting additions", ou OSAX para Open Scripting Arquitetura eXtension, que são baseadas em Hypercard's External Commands. Scripting Additions permite que os programadores ampliem a função do AppleScript. Comandos incluídos como Scripting Additions estão disponíveis amplamente no sistema, e não são dependentes de uma aplicação. O Mac OS X inclui uma coleção de scripting additions referidos como Standard Additions, que amplia a função do AppleScript com uma variedade de novos comandos, incluindo dialogos de interação com os usuários, ler e escrever arquivos, comandos de sistema de arquivos, funções de data, texto e operações matemáticas.


Ligações externas