Este módulo aborda os requisitos de software e o ambiente de desenvolvimento para um curso de aplicações e dashboards com R. O essencial é ter o R instalado a partir do site do CRAN e o pacote Shiny, fundamental para o curso. A interface padrão do R é básica, por isso recomenda-se uma IDE, sendo o RStudio Desktop a mais popular e sugerida. Além do RStudio, são apresentadas alternativas como o VS Code e o GNU Emacs, ambos editores gerais que podem ser configurados para R, com o Emacs sendo o editor de longa data do instrutor. O módulo detalha recursos de produtividade no RStudio, como o uso de projetos, code folding
, atalhos de teclado e snippets
de código, além da integração com o GitHub Copilot. Para VS Code e Emacs, são mostradas suas capacidades com a linguagem R, incluindo a utilização do language server
e a customização. A principal mensagem é que o R é a linguagem-chave, e a IDE ou editor é apenas a ferramenta para interagir com ele, com a escolha dependendo do conforto e produtividade do usuário.
Resumo Expandido
Introdução e Requisitos Essenciais
Para o curso de desenvolvimento de aplicações e dashboards com R, é fundamental ter o R instalado. A instalação é feita a partir do site do CRAN, baixando um arquivo executável para sistemas como Windows, ou pacotes específicos para distribuições Linux (como DEB para Debian/Ubuntu). Para usuários de Windows, é importante verificar e atualizar periodicamente a versão do R, pois não há um método automático conhecido para isso. A interface padrão do R é considerada simplória e contraproducente para uso prolongado, sem muitos recursos de edição.
Por isso, recomenda-se a adoção de um editor que suporte a linguagem R ou uma IDE (Integrated Development Environment) dedicada. A IDE mais popular para R é o RStudio Desktop, desenvolvida pela Posit (antiga RStudio Inc.). O RStudio é uma excelente IDE que também expandiu o suporte para Python. A instalação do RStudio deve ser feita após a instalação do R.
É crucial entender que o RStudio é uma IDE e não a linguagem em si; as análises, gráficos e pacotes são do R, enquanto o RStudio é a ferramenta utilizada para trabalhar com o código.
O pacote essencial para o curso é o Shiny, que pode ser instalado de dentro do R usando o comando install.packages("shiny")
. Além do Shiny, o curso utilizará outros pacotes para construção de gráficos, exibição de tabelas, caixas de informação e melhoria da reatividade. O kit essencial para o curso é o R e o Shiny.
RStudio IDE para Produtividade
O módulo destaca aspectos do RStudio que otimizam a experiência no desenvolvimento de aplicações Shiny.
Recursos de Navegação e Edição:
- Fechamento e Abertura de Blocos de Código (Fold): Utilizando Alt L para colapsar e Alt Shift L para expandir, facilita a navegação em códigos longos, isolando seções para depuração ou trabalho focado. Isso é possível onde há chaves
{}
.
- Alterar Diretório de Trabalho: Importante para garantir que os arquivos estejam no local correto.
- Marcas de Navegação: Comentários com quatro traços (
----
) após o texto criam marcas no painel de navegação do código, permitindo saltar rapidamente entre seções (ex: input on number of bins ----
).
- Depuração (Debug): O RStudio oferece recursos úteis para encontrar e resolver problemas em funções.
Personalização e Preferências:
- Opções Globais (Tools -> Global Options): Permite configurar a fonte, indentação (recomendado 4 espaços para melhor demarcação), temas de cores (o instrutor prefere temas escuros e tenta replicar o esquema de cores do Emacs), e a disposição dos painéis (o instrutor prefere script à esquerda e console à direita). Essas configurações são estéticas e não afetam a execução do código.
Ferramentas Inteligentes:
- GitHub Copilot: Uma inteligência artificial integrada ao editor que aprende com o código e comentários, oferecendo sugestões de código apropriadas para acelerar o desenvolvimento. É gratuito para estudantes e tem um custo mensal acessível para outros usuários. Pode ser habilitado ou desabilitado nas opções globais.
- Instalação de Pacotes: Pode ser feita graficamente via menu (Tools -> Install Packages) ou por linha de comando (
install.packages("package_name")
).
Gestão de Projetos:
- Recursos de Projeto do RStudio: Embora não seja estritamente necessário para aplicações Shiny (que podem ser apenas um par de arquivos), o uso de projetos no RStudio aumenta a produtividade.
- Permite criar um novo diretório de projeto ou usar um existente.
- Suporta integração com controle de versão (Git).
- Habilita o uso do pacote
renv
para gerenciar e reproduzir ambientes de pacotes, garantindo que as versões corretas sejam utilizadas em diferentes máquinas ou em colaboração.
- Salva configurações específicas do projeto, como layout, tema e arquivos abertos, facilitando a retomada do trabalho.
- Ao criar um projeto Shiny, o RStudio gera um arquivo
app.R
e um arquivo .Rproj
e abre uma nova sessão “virgem”, limpando o ambiente anterior.
- As aplicações podem ser executadas diretamente clicando em “Run App”.
Produtividade com Atalhos e Snippets:
- Teclas de Atalho: Minimizar o uso do mouse aumenta a produtividade.
- Básicos: copiar, cortar, colar.
- Navegação: Alt L/Alt Shift L para fold, Ctrl F para buscar/substituir.
- Mudar foco: Ctrl 1 (script), Ctrl 2 (console).
- Alternar abas: Ctrl 5-9 para diferentes painéis (arquivos, pacotes, etc.).
- Alternar entre arquivos abertos: Ctrl Tab.
- Indentar código: Ctrl I para alinhar o código selecionado ou linha a linha.
- Snippets de Código: Blocos de código predefinidos que podem ser acionados com textos curtos seguidos de Tab.
- Exemplos:
Lib
(para library()
), If
(para estrutura if
), Shiny app
(para template de app Shiny), Slider Input
.
- Podem ser criados e editados pelo usuário para otimizar a escrita de estruturas de código recorrentes.
VS Code como Editor Alternativo
O VS Code é um editor geral que se tornou bastante popular e pode ser habilitado para trabalhar com a linguagem R, embora essa funcionalidade seja mais recente comparado ao Emacs.
Configuração e Funcionalidades:
- Instalação: Requer a instalação de uma extensão específica para R no VS Code.
- Pacotes R Necessários: Pacotes como
language server
são cruciais para funcionalidades como sugestões de autocompletar e verificação de sintaxe (linting). O radian
é um console alternativo que melhora a colorização.
- Características: Oferece destaque de código por semântica, indentação automática, mecanismos de ajuda e navegação facilitada.
- Experiência de Uso: Similar ao RStudio e Emacs no envio de linhas para o terminal (Ctrl Enter, Alt Enter).
- Integração com Copilot: Considerado o editor com a melhor experiência de uso do Copilot, permitindo gerar código através de prompts de chat (Ctrl E).
- Execução de Shiny: Aplicações Shiny podem ser abertas e executadas diretamente dentro do VS Code.
- Ferramentas de Refatoração: Inclui formatação de documento (Ctrl Shift E) e renomear símbolos em todas as ocorrências.
- Outras Integrações: Possui integração nativa com Git e suporte para outras extensões para Quarto, Jupyter Notebooks, e customização.
GNU Emacs como Editor Alternativo
O GNU Emacs é um editor de texto muito antigo, talvez o primeiro a ser habilitado para trabalhar com a linguagem R de forma confortável, através do Emacs Speak Statistics (ESS).
Versões e Frameworks:
- O Emacs pode ser usado em sua versão “pura” (vanilla) ou com “camadas de abstração” ou frameworks que facilitam a configuração e manutenção.
- Os dois principais frameworks são o Doom Emacs (preferido do instrutor) e o SpaceMacs. Eles oferecem uma maneira mais fácil de organizar arquivos de configuração e habilitar novas linguagens ou recursos com “kits completos”.
- O código de configuração do Emacs do instrutor está disponível no GitHub para inspiração.
Configuração e Habilitação de Recursos:
- A habilitação do R no Emacs envolve descomentar a linha do ESS (Emacs Speak Statistics) com LSP (Language Server Protocol) nos arquivos de configuração.
- Os arquivos de configuração (principalmente
init
e config
) permitem habilitar diversas linguagens (Python, C++, HTML, JavaScript, etc.), integrar ferramentas (Git, Snippets) e personalizar detalhes visuais ou de comportamento (indentação, coloração, atalhos de teclado). Isso é um processo de “fine tuning” que leva tempo.
- O Copilot também pode ser instalado e configurado no Emacs.
Experiência de Uso:
- O Emacs se conecta ao mesmo
language server protocol
usado pelo VS Code, oferecendo funcionalidades semelhantes de autocompletar e ajuda.
- Linhas e blocos de código podem ser enviados para o console do R com Ctrl Enter.
- Permite a execução de aplicações Shiny.
- Oferece recursos de navegação de arquivos e objetos definidos no código, refatoração (renomear variáveis, indentação), e a criação de “marcas” (bookmarks) no código para retornar rapidamente a pontos específicos (com F2).
- A interface do Emacs é minimalista e pode ser maximizada para preencher a tela, reduzindo distrações e focando no código.
- É amplamente utilizado por desenvolvedores antigos do R Core Team.
- O instrutor utilizará RStudio, Emacs e, possivelmente, VS Code ao longo do curso para demonstrar diferentes ambientes.
A escolha da IDE ou editor é uma preferência pessoal do usuário, impactando mais o conforto e a produtividade do que os resultados do código em si. O foco principal do curso é trabalhar com a linguagem R.