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.