Omega Data Academy

Shiny Profissional

Personalize o visual de aplicações, desenvolva com módulos, otimize com programação funcional e implante em nuvem de forma profissional.
58 Estudantes inscritos
0
0 avaliações
  • Descrição
  • Currículo
  • FAQ
  • Reviews
capa-shiny-profissional

Shiny Profissional

Bem-vindo ao curso “Shiny Profissional”, um programa intensivo e prático projetado para capacitar você a dominar o desenvolvimento de aplicações e dashboards interativos com R e Shiny, elevando suas habilidades do nível básico ao avançado. Este curso é ideal para profissionais de dados, analistas, cientistas e engenheiros que desejam aprimorar suas competências na criação de soluções de dados robustas, visualmente atraentes e altamente funcionais, utilizando a versatilidade do ecossistema R. Ao final, você estará apto a transformar análises complexas em ferramentas estratégicas, facilitando a tomada de decisões baseadas em dados e impulsionando o impacto do seu trabalho nas equipes de liderança sênior.

Objetivos do Curso

Ao final deste curso, você será capaz de:

  • Personalizar e estilizar aplicações Shiny: Aplicar temas e customizações para alinhar a identidade visual da sua marca, utilizando pacotes como ShinyThemes, BSLib e Fresh, além de técnicas de HTML e CSS (incluindo SASS) para um controle estético preciso e programático.
  • Integrar e criar elementos visuais complexos: Incluir documentos externos (.txt, .md, .html), construir componentes HTML personalizados, e alavancar o sistema de grid do Bootstrap para layouts responsivos. Utilizar inteligência artificial para auxiliar na prototipagem de HTML e CSS.
  • Dominar arquiteturas avançadas de Shiny: Compreender e aplicar design kits como Shiny Dashboard, BS4Dash e BSLib para construir aplicações com interfaces modernas, menus laterais, caixas de informação e abas interativas, adaptando o visual às necessidades do projeto.
  • Implementar notificações e validação de dados: Fornecer feedback intuitivo ao usuário através de tooltips, popovers, modais e toasts. Validar entradas de formulários com ShinyFeedback e ShinyValidate.
  • Aplicar programação funcional para otimização do código: Reduzir a repetição de código, aumentar a extensibilidade e simplicidade das suas aplicações, utilizando a família Apply (Lapply, Sapply, Mapply, etc.) e outras técnicas de programação funcional.
  • Desenvolver aplicações com módulos: Organizar o código em módulos reutilizáveis para facilitar a manutenção, o desenvolvimento em equipe e a testagem, criando componentes UI e Server independentes. Aprender a utilizar módulos prontos da comunidade R/Shiny.
  • Realizar a implantação de aplicações: Publicar aplicações em diferentes ambientes: ShinyApps.io (serviço gratuito da Posit), Docker (para isolamento e portabilidade) e Shiny Server (para controle total do servidor).

Conteúdo Programático

O curso está organizado em unidades didáticas (UD), cada uma abordando tópicos essenciais para o domínio do desenvolvimento profissional em Shiny.

Personalização e temas

  • Customização da identidade visual: alteração de cores, fontes, bordas e backgrounds de aplicações Shiny.
  • Utilização de pacotes de temas: ShinyThemes (com temas BootsWatch), BSLib (com suporte a Bootstrap 4 e 5, e customização em tempo real), e Fresh (com acesso a variáveis customizáveis do Bootstrap 3).
  • Programação de estilo com SASS: Criação de variáveis, funções e loops para gerar CSS de forma mais enxuta e controlada.
  • Inclusão de CSS em arquivos externos (www) para melhor organização e reutilização.

Inclusão de Documentos e Criação de Elementos HTML/CSS

  • Construção de elementos HTML no R: Uso de funções Shiny para criar tags como h1, p, div, img, a, ul, li, pre, code.
  • Inclusão de conteúdo de arquivos: Carregamento de textos (.txt), documentos Markdown (.md) e fragmentos HTML separados diretamente na aplicação.
  • Desenvolvimento de layouts responsivos: Utilização do sistema de grid do Bootstrap para adaptar a exibição a diferentes tamanhos de tela (desktop, tablet, mobile).
  • Criação de componentes HTML personalizados: Infoboxes com imagem, mapas, gauges e donut charts, ilustrando o poder de customização para KPIs e informações de usuário.

Arquiteturas de aplicações Shiny

  • Comparação entre arquiteturas: Análise das diferenças e vantagens de Shiny básico (Bootstrap 3), Shiny Dashboard (Admin LTE 2), BS4Dash (Bootstrap 4 e Admin LTE 3), e BSLib (Bootstrap 4/5).
  • Construção de layouts avançados: Uso de boxes, tabBoxes, infoBoxes, valueBoxes e elementos de navegação para criar dashboards com aspecto profissional.
  • Exploração de outras arquiteturas do ecossistema R: Shiny Mobile, Argon Dash, Tabular Dash, Shiny Semantic, Shiny Fluent, e o framework Rhino para desenvolvimento profissional.

Notificações e validação de entradas

  • Comunicação com o usuário: Implementação de tooltips e popovers (BSLib, ShinyBS) para informações contextuais.
  • Mensagens temporárias e modais: Utilização de toasts (BSUtils, ShinyFeedback) para alertas rápidos e caixas modais para interações importantes.
  • Validação de formulários: Aplicação de ShinyFeedback e ShinyValidate para verificar a consistência de dados (formato, limites, obrigatoriedade, expressões regulares, força de senha).
  • Indicadores de processamento: Uso de ShinyCSSLoaders, ShinyCustomLoader e Waiter para exibir telas de carregamento, spinners e barras de progresso, aprimorando a experiência do usuário durante operações demoradas.

Programação funcional em aplicações

  • Fundamentos da programação funcional em R: Revisão da família Apply (Apply, LApply, SApply, MApply, TApply, By, Aggregate, Replicate) para manipulação eficiente de dados.
  • Otimização de código Shiny: Redução de repetição na criação dinâmica de elementos de UI (botões, sliders, seletores) e na lógica reativa do servidor.
  • Gerenciamento de escopo: Entendimento das diferenças entre for e lapply em contextos reativos para evitar efeitos colaterais indesejados.
  • Avaliação indireta de expressões e chamadas de funções: Uso de do.call, eval e parse para maior flexibilidade na construção de lógica de aplicação.

Desenvolvimento de aplicações com módulos

  • Conceitos de modularização: Vantagens de organizar o código em módulos para reúso, manutenção, desenvolvimento paralelo e testagem.
  • Estrutura de módulos Shiny: Definição de componentes UI e Server de módulos, com uso de namespace e ID para comunicação.
  • Flexibilização do layout de módulos: Técnicas para tornar os módulos mais adaptáveis a diferentes disposições na interface da aplicação principal.
  • Módulos com retorno de valores reativos: Criação de módulos que retornam objetos reativos (e.g., data.frames processados) para serem utilizados por outros módulos ou pela aplicação principal.
  • Uso de módulos prontos da comunidade: Exploração de pacotes como DataMods, ShinyChatR e ShinySense, que fornecem módulos pré-construídos para funcionalidades comuns.
  • Combinação de módulos: Construção de aplicações complexas integrando múltiplos módulos para diferentes funcionalidades (ex: upload, edição, e análise de dados).

Implantação no ShinyAppsIO

  • Publicação no ShinyApps.io: Processo de deploy de aplicações Shiny no serviço de hospedagem gratuito da Posit.
  • Autenticação e gerenciamento: Utilização do RStudio IDE ou comandos programáticos com rsconnect para autenticar e gerenciar aplicações, logs e métricas de uso.

Implantação com Docker

  • Criação de containers Docker: Entendimento da tecnologia Docker para isolar ambientes de aplicação, garantindo portabilidade e reprodutibilidade.
  • Construção de Dockerfile: Definição dos pacotes R, dependências de sistema operacional e configurações necessárias para a aplicação Shiny rodar em um container.
  • Execução e gerenciamento de containers: Comandos docker build e docker run para construir imagens e executar aplicações em containers, incluindo mapeamento de portas.
  • Publicação em servidores VPS (Virtual Private Server): Configuração de Nginx como reverse proxy para acessar aplicações Docker via subdomínios, oferecendo uma solução de implantação profissional.

Implantação com Shiny Server

  • Instalação e configuração do Shiny Server: Processo de instalação em ambientes Linux (máquinas virtuais, VPS), permitindo a hospedagem de múltiplas aplicações.
  • Gerenciamento de dependências: Utilização de ferramentas como renv e remotes para identificar e instalar pacotes R e suas dependências de sistema operacional, garantindo a execução das aplicações.
  • Configuração de subdomínios: Vinculação de URLs amigáveis às aplicações hospedadas no Shiny Server utilizando Nginx.

Por que fazer este curso?

  • Aprendizado Prático e Aplicado: Todas as técnicas são exploradas através de exemplos reais, estudos de caso e exercícios práticos, garantindo que você não apenas compreenda os conceitos, mas saiba como aplicá-los imediatamente em seus projetos. Você prototipará e construirá suas próprias soluções de ponta a ponta.
  • Conteúdo Completo e Estratégico: Desde os fundamentos de customização visual e elementos HTML/CSS até a arquitetura modular e as diversas opções de implantação, o curso cobre tudo o que você precisa para desenvolver aplicações Shiny que são verdadeiros sistemas de apoio à decisão. Aborda práticas de código profissional, como programação funcional e modularização, que levam a soluções mais eficientes, extensíveis e fáceis de manter.
  • Diferenciais Profissionais e Ganho de Carreira: Ao dominar o Shiny em um nível profissional, você se destacará no mercado de trabalho. A capacidade de criar dashboards interativos e sistemas de dados completos, com um visual moderno e experiência de usuário aprimorada, é um diferencial competitivo. Além disso, a proficiência em múltiplas estratégias de implantação garantirá que suas soluções possam ser disponibilizadas para uma audiência ampla, tornando você um desenvolvedor altamente versátil e valioso para qualquer equipe que almeje a excelência em Data Products.
  • Instrutores Qualificados: Aprenda com especialistas que não apenas dominam a teoria, mas também possuem vasta experiência prática no desenvolvimento de aplicações R e Shiny em ambientes reais, utilizando as melhores práticas e ferramentas do mercado.
  • Certificado de Conclusão: Ao final do curso, receba um certificado que comprova suas novas e valiosas habilidades em desenvolvimento de aplicações web interativas com R e Shiny.

Prof. Dr. Walmes Zeviani

Prof. Walmes Zeviani possui doutorado em Estatística e Experimentação Agropecuária, sendo professor do Departamento de Estatística desde 2010, além de ser um experiente programador R. Com ampla experiência no ensino de Estatística e Data Science, já ministrou inúmeros cursos de R em diversas instituições de ensino e pesquisa desde 2008. Com sua paixão pelo ensino, ele está pronto para guiar você em sua jornada de aprendizado em Ciência de Dados com a linguagem R!

 

Esse curso ensina a personalizar a aparência das aplicações Shiny para alinhá-las à identidade visual de uma empresa?
Sim, o curso ensina a customizar aplicações Shiny para incorporar a identidade visual da sua marca, alterando cores, bordas, fontes e aplicando temas existentes. Você aprenderá a usar HTML para construir componentes e CSS para alterar propriedades como fontes, cores, alinhamentos, e a utilizar SASS para escrever CSS de maneira programática e enxuta.
Eu vou aprender sobre a modularização do código em Shiny?
Sim, um dos principais focos é a modularização, que permite organizar o código para reúso em múltiplas aplicações, desenvolver partes em paralelo e facilitar a manutenção e testes. Você entenderá o esqueleto de módulos com componentes UI e Server e o uso de namespaces (NS).
O curso aborda o uso de programação funcional em Shiny?
Sim, o curso revisa e aplica a programação funcional (família Apply como lapply, sapply, mapply), para reduzir a repetição de código, simplificar a lógica e tornar as aplicações mais extensíveis. Isso inclui a criação dinâmica de elementos da interface e a manipulação de eventos no servidor.
Esse curso ensina a integrar HTML e CSS de forma avançada nas aplicações?
Sim, o curso demonstra como utilizar funções Shiny equivalentes a tags HTML (tags$p, h1, div, img) e como aplicar CSS diretamente ou por arquivos externos. Além disso, aborda o sistema de grid do Bootstrap para layouts responsivos e o uso de Inteligência Artificial para gerar fragmentos de código HTML/CSS.
Eu vou aprender a criar componentes personalizados como infoboxes e medidores?
Sim, você aprenderá a construir infoboxes customizadas para exibir KPIs com texto, números, imagens, mapas, gráficos como Sparklines, gauges e donut plots, usando o sistema de grid do Bootstrap e recursos de vários pacotes.
O curso aborda técnicas de validação de entradas do usuário e feedback interativo?
Sim, o curso cobre a utilização de tooltips, popovers, modais e toasts para comunicação informativa. Também ensina a validar campos de formulário (CPF, e-mail, força de senha, maioridade) usando pacotes apropriados para a tarefa, e a exibir sinalizadores de processamento (loaders).
Esse curso ensina sobre as diferentes arquiteturas para Dashboards Shiny?
Sim, o curso explora e compara diversas arquiteturas como Shiny básico, Shiny Dashboard, bs4Dash e bslib, mostrando suas funcionalidades, componentes (boxes, cards, etc) e como elas impactam o visual e a funcionalidade de um dashboard profissional.
Eu vou aprender a fazer o deploy e a distribuir minhas aplicações Shiny?
Sim, você aprenderá a implantar aplicações em serviços como shinyapps.io (incluindo a versão gratuita), a distribui-las via repositórios GitHub, e a realizar a implantação em servidores próprios (VPS/Cloud) utilizando Shiny Server e Docker (containers).
O curso ensina a escrever código eficiente e generalizável para aplicações Shiny?
Sim, o curso enfatiza a escrita de código eficiente e fácil de estender, utilizando princípios de programação funcional e modularização para reduzir a repetição e a complexidade, como demonstrado na adição de novas distribuições a um aplicativo de plotagem com alterações mínimas no código.
Terei acesso aos scripts e exemplos práticos do curso?
Sim, o curso é altamente prático e você terá acesso a todos os scripts e exemplos de código demonstrados, o que é fundamental para acompanhar e praticar as técnicas ensinadas.
Qual o perfil ideal para fazer este curso?
O curso é ideal para quem já possui um conhecimento básico de Shiny e da linguagem R. Ele aprofunda em tópicos mais avançados como modularização e programação funcional, que seriam "contraproducentes" para quem está começando em Shiny.
Quais os requisitos técnicos ou de software para o curso?
Para seguir o curso, você precisará ter o ambiente R instalado, preferencialmente com uma IDE como RStudio. Para os módulos de deploy, o curso demonstra a instalação e configuração de ferramentas como Docker, Shiny Server e Nginx em ambientes de máquina virtual ou VPS, mas estas são ferramentas para o ambiente de implantação, não necessariamente requisitos para o computador do aluno acompanhar as aulas.
O curso inclui informações sobre como hospedar as aplicações em servidores próprios (VPS/Cloud)?
Sim, o curso detalha o processo de implantação de aplicações Shiny em servidores VPS ou ambientes de nuvem, utilizando tanto o Shiny Server quanto o Docker, e como configurar serviços como Nginx para roteamento de subdomínios.