Currículo
Curso: Shiny Essencial
Login

Curriculum

Shiny Essencial

Lição de texto

Configuração do ambiente de desenvolvimento R/Shiny (resumo)

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.