AppleScript vs JavaScript for Automation (JXA): Qual usar e quando?

AppleScript vs JavaScript for Automation (JXA): Qual usar e quando?

Ao criar scripts para Folder Actions no macOS, você tem duas opções principais: AppleScript e JavaScript for Automation (JXA). Ambas são oficialmente suportadas pela Apple, mas têm estilos e casos de uso diferentes. Entender qual usar pode te poupar tempo e dores de cabeça.

AppleScript: A linguagem tradicional do macOS

AppleScript existe desde os anos 90 e foi criado para permitir que usuários comuns automatizassem tarefas em aplicativos do Mac. Ele é fortemente integrado ao sistema e à interface gráfica, o que o torna ideal para tarefas como:

  • Interagir com o Finder
  • Abrir aplicativos e enviar comandos
  • Criar diálogos de alerta
  • Manipular arquivos e pastas

Exemplo simples de AppleScript para Folder Action

on adding folder items to this_folder after receiving added_items
    repeat with i from 1 to number of items in added_items
        set this_item to item i of added_items
        tell application "Finder"
            move this_item to folder "Arquivados" of desktop
        end tell
    end repeat
end adding folder items to

JXA (JavaScript for Automation): Uma alternativa moderna

Para quem já está familiarizado com JavaScript ou quer scripts mais estruturados, o JXA é uma opção poderosa. Ele oferece suporte a programação orientada a objetos e é excelente para quem precisa de mais lógica, manipulação de dados ou integração com APIs.

Vantagens do JXA

  • Sintaxe moderna e familiar para web developers
  • Maior controle de fluxo e estrutura lógica
  • Pode ser mais robusto para scripts longos

Exemplo de JXA equivalente

function run(input, parameters) {
  var app = Application('Finder');
  input.forEach(function(file) {
    app.move(Path(file), { to: Path('/Users/SeuUsuario/Desktop/Arquivados') });
  });
}

Conclusão da comparação

  • Use AppleScript se você quer integração mais direta com o Finder, ou está seguindo tutoriais prontos.
  • Use JXA se você já programa em JS, precisa de mais controle e quer um código mais limpo para lógicas complexas.

Comparando Folder Actions com Shortcuts e Hazel

O Automator e as Folder Actions não são a única forma de automatizar seu Mac. Outras duas ferramentas populares são os Shortcuts (Atalhos) da Apple e o app Hazel, da Noodlesoft. Vamos ver como elas se comparam.

1. Folder Actions (Automator)

Pontos fortes:

  • Nativo no macOS
  • Gratuito
  • Funciona offline
  • Integração com AppleScript e JXA

Limitações:

  • Interface pouco amigável
  • Não monitora subpastas automaticamente
  • Pode ser instável em algumas versões do macOS

2. Shortcuts (Atalhos)

Pontos fortes:

  • Interface moderna e intuitiva
  • Sincronização entre Mac, iPhone e iPad
  • Suporte a automações por gatilhos diversos (não só pastas)

Limitações:

  • Ainda possui bugs e limitações para tarefas mais técnicas
  • Menor flexibilidade para scripts complexos

3. Hazel

Pontos fortes:

  • Monitoramento de subpastas nativo
  • Regras condicionais visuais poderosas
  • Interface amigável e altamente personalizável

Limitações:

  • Pago (licença individual)
  • Maior curva de aprendizado para fluxos mais avançados

Qual escolher?

  • Para fluxos simples e gratuitos: Folder Actions.
  • Para automações multiplataforma e visuais: Shortcuts.
  • Para workflows profissionais e automações robustas: Hazel.

Templates de Folder Actions Prontos para Usar

Abaixo, listo alguns scripts e automações que você pode copiar, colar e adaptar à sua rotina.

1. Mover PDFs automaticamente para uma pasta específica

on adding folder items to this_folder after receiving added_items
    repeat with this_item in added_items
        tell application "Finder"
            if name extension of this_item is "pdf" then
                move this_item to folder "PDFs" of desktop
            end if
        end tell
    end repeat
end adding folder items to

2. Renomear arquivos com data e hora de criação

on adding folder items to this_folder after receiving added_items
    repeat with i from 1 to number of items in added_items
        set this_item to item i of added_items
        tell application "System Events"
            set creationDate to creation date of this_item
        end tell
        tell application "Finder"
            set newName to "file_" & creationDate & ".txt"
            set name of this_item to newName
        end tell
    end repeat
end adding folder items to

3. Apagar arquivos temporários automaticamente

on adding folder items to this_folder after receiving added_items
    repeat with this_item in added_items
        if name of this_item ends with "~" then
            tell application "Finder" to delete this_item
        end if
    end repeat
end adding folder items to

Esses scripts são simples, mas funcionais, e cobrem casos comuns do dia a dia. Podem ser salvos como .workflow no Automator ou editados diretamente no Script Editor.


FAQ: Perguntas Frequentes Sobre Folder Actions

As Folder Actions funcionam em subpastas?

Não diretamente. Você precisa criar uma ação para cada subpasta ou rodar um script que percorra o conteúdo da pasta de forma recursiva.

Como saber se uma ação está realmente funcionando?

Use logs (log no AppleScript ou console.log no JXA), além de validar a execução com arquivos de teste.

O Automator sumiu. O que faço?

Verifique se o Automator está oculto no Launchpad. Se não estiver, reinstale via App Store ou use o Terminal com:

open /System/Applications/Automator.app

É possível importar bibliotecas ou comandos externos?

Sim, usando chamadas de shell dentro do script AppleScript:

do shell script "ffmpeg -i input.mov output.mp4"

Ou em JXA via ObjC.import() ou scripts externos.


Conclusão Expandida

O Automator e o Folder Actions Setup continuam sendo ferramentas incrivelmente valiosas no ecossistema do macOS. E, ao contrário do que muitos pensam, eles não estão obsoletos. Pelo contrário: com criatividade, conhecimento técnico e uma boa estrutura de pastas, é possível transformar seu computador em um assistente automático para tarefas do dia a dia.

Neste artigo, percorremos não só o básico, mas também:

  • Linguagens de script disponíveis
  • Comparações com ferramentas modernas
  • Casos reais e práticos
  • Templates reutilizáveis
  • Técnicas de depuração
  • E respostas para dúvidas comuns

Se você busca produtividade de verdade no Mac, aprender a usar Folder Actions é um dos caminhos mais diretos — e com o melhor custo-benefício: gratuito e nativo.


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima