Skip to content

Commit 8b0ed92

Browse files
author
Caelum
committedJun 29, 2020
alterações
1 parent fbdb990 commit 8b0ed92

33 files changed

+4096
-0
lines changed
 

‎00-intro-mundo-html.md

+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Sobre o curso - O complexo mundo do front-end
2+
_"Ação é a chave fundamental para todo sucesso" -- Pablo Picasso_
3+
4+
5+
6+
Vivemos hoje numa era em que a Internet ocupa um espaço cada vez mais importante em nossas
7+
vidas pessoais e profissionais. O surgimento constante de Aplicações Web, para as mais
8+
diversas finalidades, é um sinal claro de que esse mercado está em franca expansão e traz
9+
muitas oportunidades. Aplicações corporativas, comércio eletrônico, redes sociais, filmes,
10+
músicas, notícias e tantas outras áreas estão presentes na Internet, fazendo do navegador
11+
(o _browser_) o software mais utilizado de nossos computadores.
12+
13+
Esse curso pretende abordar o processo de desenvolvimento de sites que acessamos por meio do navegador de nossos computadores, utilizando padrões atuais de desenvolvimento e conhecendo a fundo suas características
14+
técnicas. Discutiremos as implementações dessas tecnologias nos diferentes navegadores, a
15+
adoção de _frameworks_ que facilitam e aceleram nosso trabalho, além de dicas técnicas
16+
que destacam um profissional no mercado. HTML e CSS serão vistos em profundidade além de eventos no JavaScript.
17+
18+
Além do acesso por meio do navegador de nossos computadores, hoje o acesso à Internet a
19+
partir de dispositivos móveis representa um grande avanço da plataforma, mas também
20+
implica em um pouco mais de atenção no trabalho de quem vai desenvolver. No decorrer do curso, vamos conhecer algumas dessas necessidades e como utilizar os recursos disponíveis para atender também a essa grande necessidade.
21+
22+
## O curso e os exercícios
23+
24+
Esse é um curso prático que começa nos fundamentos de HTML e CSS, incluindo tópicos
25+
relacionados às novidades das versões HTML5 e CSS3, como por exemplo, Flexbox e Grid. Depois, é abordada a linguagem de programação JavaScript focada na parte de eventos, para criar interações entre o usuário e a página.
26+
27+
Durante o curso, serão desenvolvidas páginas semelhantes com o site da MusicDot. Os
28+
exercícios foram projetados para apresentar gradualmente ao aluno quais são as técnicas
29+
mais recomendadas e utilizadas quando assumimos o papel de pessoa que desenvolve para _front-end_,
30+
quais são os desafios mais comuns e quais são as técnicas e padrões recomendados para
31+
atingirmos nosso objetivo, transformando imagens estáticas (os _layouts_) em código que
32+
os navegadores entendem e exibem como páginas da Web.
33+
34+
Os exercícios propostos são fundamentais para o acompanhamento do curso e para os estudos em casa. Igualmente importante é a participação ativa nas discussões e debates em sala de aula.
35+
36+
## O projeto da MusicDot
37+
38+
Durante o curso, vamos reproduzir o site da MusicDot. Um site para aprender a tocar instrumentos através de video-aulas. Construiremos várias páginas da empresa com intuito de aprender os conceitos de HTML, CSS e JS.
39+
40+
Os conteúdos e o design do site já foram pré-definidos. Vamos, aqui, focar na implementação,
41+
papel de pessoas que desenvolvem.
42+
43+
## Tirando dúvidas em aula
44+
45+
Durante o curso, tire todas as suas dúvidas a pessoa responsável pela turma. HTML, CSS e JavaScript,
46+
apesar de parecerem simples e básicos, têm muitas características complexas
47+
que não podem deixar de ser totalmente compreendidas pelo aluno. Nossa equipe também
48+
está disponível para tirar as suas dúvidas após o término do curso, basta
49+
entrar em contato direto com a Caelum, teremos o prazer em ajudá-lo.
50+
51+
Se você está acompanhando essa apostila em casa, pense também em fazer o curso presencial
52+
na Caelum. Você terá contato direto com nossa equipe para esclarecer suas dúvidas, aprender
53+
mais tópicos além da apostila, e trocar experiências.
54+
55+
## Tirando dúvidas online no GUJ e no fórum da Alura
56+
57+
Recomendamos fortemente a busca de recursos e a participação ativa na
58+
comunidade por meio das listas de discussão relacionadas ao conteúdo do curso.
59+
60+
O **GUJ.com.br** é um site de perguntas e respostas para desenvolvedores de software
61+
que abrange diversas áreas, sendo que front-end é um dos principais focos. A comunidade
62+
do GUJ tem mais de 150 mil usuários e 1 milhão e meio de mensagens. É o lugar ideal
63+
pra você tirar suas dúvidas e encontrar outros desenvolvedores.
64+
65+
https://www.guj.com.br
66+
67+
A Alura também é um ótimo lugar para aprender e tirar suas dúvidas. Ela é uma plataforma de cursos online do grupo Caelum que conta com mais de 1000 cursos voltados tanto para tecnologia quanto para outras áreas. Possui uma comunidade ativa nos fórums e nossa equipe está sempre disposta a ajudar.
68+
69+
https://alura.com.br
70+
71+
## Bibliografia
72+
73+
Além do conhecimento disponível na Internet pela comunidade, existem muitos livros
74+
interessantes sobre o assunto. Algumas referências:
75+
76+
77+
* **HTML5 e CSS3: Domine a web do futuro** - Lucas Mazza, editora Casa do Código;
78+
* **A Web Mobile: Design Responsivo e além para uma Web adaptada ao mundo mobile** - Sérgio Lopes, editora Casa do Código;
79+
* **A Arte E A Ciência Do CSS** - Adams & Cols;
80+
* **Pro JavaScript Techniques** - John Resig;
81+
* **The Smashing Book** - smashingmagazine.com
82+
83+
84+
## Para onde ir depois?
85+
86+
Este curso é parte da **Formação Front-end** da Caelum que engloba também o treinamento
87+
**JavaScript Moderno E Os Fundamentos Para Construção De WEB APPS**. Você pode obter mais informações aqui:
88+
89+
https://www.caelum.com.br/formacao-frontend
90+
91+
Se o seu desejo é entrar mais a fundo no desenvolvimento Web, incluindo a parte
92+
_server-side_, oferecemos o curso **Desenvolvimento Web com PHP e MySQL**, a
93+
**Formação Java** e a **Formação .NET** que abordam três caminhos possíveis para
94+
esse mundo.
95+
96+
Mais informações em:
97+
98+
99+
* https://www.caelum.com.br/

‎01-baixando-os-arquivos-do-curso.md

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# A estrutura dos arquivos de um projeto
2+
3+
Como todo tipo de projeto de software, existem algumas recomendações quanto à organização
4+
dos arquivos de um site. Não há nenhum rigor técnico quanto a essa organização e, na
5+
maioria das vezes, você vai adaptar as recomendações da maneira que for melhor para o seu
6+
projeto.
7+
8+
Como um site é um conjunto de páginas Web sobre um assunto, empresa, produto ou qualquer
9+
outra coisa, é comum todos os arquivos de um site estarem dentro de uma só pasta e, assim
10+
como um livro, é recomendado que exista uma "capa", uma página inicial que possa indicar
11+
para o visitante quais são as outras páginas que fazem parte desse projeto e como ele pode
12+
acessá-las, como se fosse o **índice** do site.
13+
14+
Ter esse índice, não por coincidência, é uma convenção adotada pelos servidores de páginas Web. Se
15+
desejamos que uma determinada pasta seja servida como um site e dentro dessa pasta existe
16+
um arquivo chamado **index.html**, esse arquivo será a página inicial, ou seja o índice, a menos que alguma
17+
configuração determine outra página para esse fim.
18+
19+
Dentro da pasta do site, no mesmo nível que o `index.html`, é recomendado que sejam
20+
criadas mais algumas pastas para manter separados os arquivos de imagens, as folhas de
21+
estilo e os scripts. Para iniciar um projeto, teríamos uma estrutura de pastas como a
22+
demonstrada na imagem a seguir:
23+
24+
![ {w=15}](assets/img-musicdot/intro-html-css/estrutura-projeto-novo.png)
25+
26+
Muitas vezes, um site é servido por meio de uma aplicação Web e, nesses casos, a estrutura
27+
dos arquivos depende de como a aplicação necessita dos recursos para funcionar
28+
corretamente. Porém, no geral, as aplicações também seguem um padrão bem parecido com o que
29+
estamos adotando para o nosso projeto.
30+
31+
## Web site ou aplicação Web?
32+
33+
Quando estamos começando no mundo do desenvolvimento Web, acabamos por conhecer muitos termos novos, que por muitas vezes não são claros ou nos causam confusão. Vamos entender um pouco mais agora, qual a diferença de um Web site e uma aplicação Web.
34+
35+
### Web site
36+
Podemos considerar um Web site uma coleção de páginas HTML estáticas, ou seja, que não interagem com um banco de dados através de uma linguagem de servidor Web. Ou seja, aqui todo o conteúdo do site está escrito diretamente no documento HTML, assim como as imagens e outras mídias. Claro que, para qualquer página Web ser fornecida publicamente a mesma deve estar hospedada em um simples servidor Web (hospedagem de sites).
37+
38+
### Aplicação Web
39+
Uma aplicação Web pode conter uma coleção de páginas, porém o conteúdo destas páginas é montado dinamicamente, ou seja, é carregado através de solicitações (requisições) à um banco de dados, que conterá armazenado os textos e indicação dos caminhos das imagens ou mídias que a página precisa exibir. Porém um HTML não tem acesso direto à um banco de dados, e esta comunicação deve ser feita por uma linguagem de programação de servidor Web. Esta aplicação escrita com uma linguagem de servidor que tem o poder de acessar o banco de dados e montar a página HTML conforme o solicitado pelo navegador. Estas solicitações podem ser feitas de várias maneiras, inclusive utilizando JavaScript. Portanto uma aplicação Web é mais complexa porque precisa de uma linguagem de servidor para poder intermediar as solicitações do navegador, um banco de dados, e muitas vezes (porém não obrigatoriamente) exibir páginas HTML com estes conteúdos.
40+
41+
Exemplo de linguagens de servidor Web: Java EE, PHP, Python, Ruby on Rails, NodeJS etc...
42+
43+
## Editores e IDEs
44+
45+
Os editores de texto são programas de computador leves e ideais para escrever e editar as páginas de um site, como _Visual Studio Code_ (https://code.visualstudio.com/), _Sublime_
46+
(https://www.sublimetext.com/), _Atom_ (https://atom.io/) e _Notepad++_
47+
(https://notepad-plus-plus.org), que possuem realce de sintaxe e outras ferramentas
48+
para facilitar o desenvolvimento de páginas.
49+
50+
Há também **IDE**s (_Integrated Development
51+
Environment_) que são editores mais robustos e trazem mais facilidades para o desenvolvimento de aplicações Web, se integrando com outras funcionalidades. São alguns deles: _WebStorm_ (https://www.jetbrains.com/webstorm/) _Eclipse_ (https://www.eclipse.org/) e _Visual Studio_ (https://visualstudio.microsoft.com).

0 commit comments

Comments
 (0)
Please sign in to comment.