Apresentação da Disciplina

A ementa apresentada aborda diversos conceitos fundamentais para o desenvolvimento de aplicações web. O objetivo principal é proporcionar uma visão ampla e aprofundada sobre as principais tecnologias, ferramentas e conceitos envolvidos no processo de criação de aplicações web.

Os tópicos apresentados incluem:

  1. Conceitos de aplicações web: apresentação dos principais conceitos relacionados às aplicações web, tais como arquitetura cliente-servidor, modelo de comunicação entre cliente e servidor, linguagens de marcação e programação, entre outros.
  2. Ambientes de desenvolvimento: apresentação dos principais ambientes de desenvolvimento utilizados para a criação de aplicações web, tais como IDEs (Integrated Development Environments) e editores de texto.
  3. Sistema de controle de versão e de integração: apresentação dos principais sistemas de controle de versão e de integração utilizados no desenvolvimento de aplicações web, tais como Git, SVN, Jenkins, entre outros.
  4. Plataformas de Hospedagens e Containers: apresentação das principais plataformas de hospedagens e containers utilizados para disponibilizar e manter aplicações web, tais como AWS, Heroku, Docker, entre outros.
  5. Protocolo DNS/HTTP/HTTPS: apresentação dos principais protocolos de comunicação utilizados para a transmissão de dados em aplicações web, tais como DNS, HTTP e HTTPS.
  6. Uso de linguagens para desenvolvimento WEB: apresentação das principais linguagens de programação utilizadas para o desenvolvimento de aplicações web, tais como HTML, CSS, JavaScript, Ruby, Python, entre outras.
  7. Desenvolvimento de aplicações orientadas a objetos com arquiteturas Cliente-servidor e MVC: apresentação das principais arquiteturas utilizadas no desenvolvimento de aplicações web, tais como a arquitetura cliente-servidor e o modelo MVC (Model-View-Controller).
  8. Segurança de aplicações web: apresentação das principais técnicas e ferramentas utilizadas para garantir a segurança de aplicações web, tais como a criptografia de dados, autenticação e autorização, entre outras.
  9. Frameworks de desenvolvimento web: apresentação dos principais frameworks utilizados para o desenvolvimento de aplicações web, tais como Ruby on Rails, Django, Laravel, entre outros.

A ementa busca proporcionar ao aluno uma base sólida de conhecimentos sobre as tecnologias e ferramentas envolvidas no desenvolvimento de aplicações web, bem como uma visão crítica sobre as melhores práticas e técnicas disponíveis para a criação de aplicações web eficientes, escaláveis e seguras.

Conteúdo Programático

Em seguida verifique o conteúdo programático da disciplina:

HTML
CSS
  1. Conceitos básicos: Os alunos precisam entender o que é CSS, como ele funciona em conjunto com o HTML e o que significa o Box Model. É importante que eles saibam como o CSS afeta o layout e o design de uma página.
  2. Sintaxe: É essencial que os alunos saibam a sintaxe básica do CSS, como selecionar elementos, criar regras de estilo, aplicar estilos inline e externos e usar classes e IDs.
  3. Seletores: Os alunos devem saber como selecionar elementos específicos usando seletores de CSS, como selecionar classes, IDs, elementos e pseudo-classes.
  4. Tipografia: Os alunos precisam entender como usar o CSS para controlar a tipografia em uma página, incluindo como definir fontes, tamanhos, estilos, cores e espaçamento
  5. Cores: É importante que os alunos saibam como usar cores em CSS, incluindo como definir cores usando nomes, valores hexadecimais e valores RGB.
  6. Layout: Os alunos devem saber como usar CSS para controlar o layout de uma página, incluindo como definir a largura e altura de elementos, como usar margens e preenchimentos e como usar o display property.
  7. Responsividade: Os alunos devem entender como criar designs responsivos usando CSS, incluindo como usar media queries para criar estilos específicos para dispositivos móveis e desktop
  8. Animações: É importante que os alunos saibam como usar CSS para criar animações e transições em uma página, incluindo como usar o animation property e os valores keyframes
Java Script
  1. Conceitos básicos: Os alunos precisam entender o que é Javascript, suas principais características e como ele é usado no desenvolvimento web. Eles também precisam saber a diferença entre linguagens de programação front-end e back-end.
  2. Variáveis: É essencial que os alunos saibam como criar e usar variáveis em Javascript, incluindo como declarar variáveis, atribuir valores e usar diferentes tipos de dados
  3. Operadores: Os alunos devem saber como usar operadores em Javascript, incluindo operadores aritméticos, operadores de comparação e operadores lógicos
  4. Estruturas de Controle: É importante que os alunos saibam como usar estruturas de controle em Javascript, incluindo como criar condicionais if/else, loops while e for, e o switch case
  5. Funções: Os alunos precisam entender o conceito de funções em Javascript, como elas são criadas, como são chamadas e como os parâmetros e valores de retorno funcionam.
  6. Objetos: É essencial que os alunos saibam como usar objetos em Javascript, incluindo como criar objetos, como acessar e alterar propriedades, como usar métodos e como criar objetos aninhados
  7. Arrays: Os alunos devem entender como usar arrays em Javascript, incluindo como criar, acessar e modificar elementos, e como usar métodos de array como push, pop, shift, unshift, slice e splice.
  8. Eventos: É importante que os alunos saibam como usar eventos em Javascript, incluindo como adicionar e remover event listeners, como usar eventos de mouse e teclado, e como criar eventos personalizados.
  9. DOM: Os alunos precisam entender como manipular o DOM em Javascript, incluindo como selecionar elementos, como modificar o conteúdo e os atributos, como criar novos elementos e como usar animações e transições.
Laravel
  1. Conceitos básicos: Os alunos precisam entender o que é Laravel, suas principais características e como ele é usado no desenvolvimento web. Eles também precisam saber a diferença entre Laravel e outros frameworks de back-end, como CodeIgniter e Symfony.
  2. Rotas: É essencial que os alunos saibam como definir rotas em Laravel, incluindo como criar rotas com parâmetros, como usar rotas nomeadas e como usar rotas de recursos.
  3. Controllers: Os alunos precisam entender como criar e usar controllers em Laravel, incluindo como criar controllers para lidar com solicitações HTTP e como retornar respostas de controller.
  4. Views: É importante que os alunos saibam como criar e usar views em Laravel, incluindo como criar views com o Blade templating engine e como passar dados das controllers para as views.
  5. Modelos: Os alunos devem saber como usar modelos em Laravel, que são classes que representam tabelas de banco de dados e fornecem uma interface para recuperar e salvar dados.
  6. Migrações: É essencial que os alunos saibam como criar e usar migrações em Laravel, que são arquivos de código que descrevem alterações no esquema do banco de dados e permitem que você versione e implante facilmente alterações em seu banco de dados.
  7. Eloquent ORM: Os alunos precisam entender como usar o Eloquent ORM em Laravel, que é um sistema de mapeamento objeto-relacional que permite que você trabalhe com seus modelos de banco de dados de forma intuitiva e eficiente.
  8. Middleware: É importante que os alunos saibam como usar middleware em Laravel, que são camadas de processamento de solicitações HTTP que permitem que você execute tarefas de rotina, como autenticação e validação de entrada
  9. Autenticação: Os alunos devem saber como implementar a autenticação de usuários em Laravel, incluindo como usar o sistema de autenticação padrão de Laravel e como personalizar a autenticação para suas necessidades.

Materiais das Aulas

Abaixo estão disponiveis as aulas ministradas e seus respectivos materiais:

Aula - 1

Como criar uma logo que represente a equipe utilizando o chatgpt + (midjourney ou BlueWillow)

Aula - 2

Instalação do docker

  1. Documentação Oficial: https://docs.docker.com/desktop/

Docente

Segue abaixo informações e contatos dos professores da disciplina

Iury Gomes de Oliveira

Mestrando em Ciência da Computação na UFBA
Desenvolvedor | Professor | Pesquisador

Email: iury.oliveira@ifto.edu.br

GitHub: iurigdeoliveira