| Javascript Essencial |
32 |
08 |
Javascript Essencial
-
Introdução
- - Histórico e fundamentos
- - Editores e ferramentas
- - Inserindo primeiros scripts
-
Lógica de programação
- - Variáveis e tipos de dados
- - Operadores
- - Estruturas condicionais e laços
- - Funções
-
Orientação a Objetos
- - Objetos
- - Funções construtoras
- - Atributos e métodos
- - Objetos x Arrays (sintaxe de acesso e for in)
- - JSON
-
Javascript API
- - Manipulação de números
- - Manipulação de strings
- - Manipulação de datas e horas
- - Expressões Regulares
-
Objetos nativos
- - Objeto window
- - Objeto document
- - Outros objetos (navigator, history, screen)
- - Formulários
- - Cookies
-
DOM - Document Object Model
- - Árvore DOM
- - Métodos de busca de nós
- - Manipulação de nós
-
Eventos e animações
- - Instruções setTimeout e setInterval
- - Propagação e bubble de eventos
-
Dicas de desempenho
- - Evite código duplicado e insira scripts no final
- - Minify e obfuscate
|
| jQuery & jQueryUI |
24 |
06 |
jQuery & jQueryUI
-
Introdução ao jQuery
- - Como adicionar jQuery (sem conflitos)
- - Seletores e estrutura do objeto jQuery
- - Métodos básicos
- - Subsets de elementos (not, filter, find, slice, has)
- - Iterações (each, map)
- - Cadeias (end)
-
Manipulações com jQuery
- - Capturando eventos (bind, unbind, toggle, live)
- - Atributos e métodos do objeto do evento
- - Estruturas condicionais e laços
- - Manipulações DOM
- - Animações
- - Funções gerais
-
jQuery UI
- - Download e configuração
- - Efeitos
- - Drag and Drop
- - jQuery UI Widgets
|
| AJAX & HTML5 |
32 |
08 |
AJAX & HTML5
-
Nivelamento em PHP
- - Sintaxe elementar
- - Captura de parâmetros de requisição
- - Criando um primeiro projeto client/server
- - URLs amigáveis
- - Despachando views HTML ou conteúdo JSON
-
Fundamentos de AJAX
- - Efetuando requisições HTTP assíncronas
- - Objeto XMLHTTPRequest
- - XMLHTTPRequest callbacks
- - XHR 2.0
-
AJAX com jQuery
- - Métodos load, get e post
- - Método especial $.ajax()
-
Novas APIs Javascript (HTML5)
- - Atributos data-* e datasets
- - History API
- - Drag and Drop API
- - Estados do navegador (online e offline) e gestão de cache
- - Local Storage e Session Storage
- - File, FileReader e Filesystem API
- - IndexedDB
-
Multimídia
- - Manipulação de Canvas 2D e 3D
- - Controle de áudio e vídeo
- - Mapas e geolocalização (introdução ao Google Maps API)
|
| HTML5 Patterns & Frameworks |
32 |
08 |
HTML5 Patterns & Frameworks
-
Boas práticas de programação
- - O que são design patterns e antipatterns
- - Design patterns (Prototype, Singleton, Module, Observer, etc)
- - Architetural patterns (MVC, MVP, MVVM)
- - Modular Javascript (AMD, CommonJS e ES Harmony)
-
Frameworks HTML5
- - Modernizr
- - HTML5 Boilerplate, Responsive e Initializr
- - Twitter Bootstrap
-
Componentizações
-
Templating
- - Handlebars.js, Mustache e Underscore.js
- - AngularJS
|
| Projeto II |
12 |
03 |
Projeto II - Web Apps
| Competência |
Nível de importância |
| - Dominar com profundidade a linguagem Javascript, sua aplicações e finalidades em sistemas Web |
Principal |
| - Ter conhecimentos consistentes na biblioteca jQuery |
Alto |
| - Ter conhecimentos consistentes nas novidades do Javascript propostas no HTML5 |
Alto |
| - Conhecer o funcionamento do ambiente Web e dominar quando e como optar por realizar requisições assíncronas (AJAX) |
Alto |
| - Conhecer padrões de projeto e boas práticas de programação em Javascript |
Alto |
| - Dominar técnicas e framworks de modularização, componentização e templating |
Médio |
| - Identificar técnicas que melhorem o desempenho da aplicação no que diz respeito ao tempo de carregamento e desoneração do servidor |
Médio |
| - Dominar técnicas que suportem aplicativos que operem online ou offline |
Baixo |
| - Dominar o Google Maps API e integrar com ferramentas de geolocalização |
Baixo |
| - Manipular gráficos e imagens em Javascript |
Baixo |
| - Ter noções elementares em alguma linguagem server side como PHP |
Baixo |
-
Avaliação
- Desenvolva algum aplicativo com vasta aplicação de programação client-side Javascript, modular, extensível, organizado e preocupado com o desempenho geral. Será necessário validar entradas de usuários, aplicar algum efeito e realizar chamadas assíncronas. É importante estar atento às competências ao desenvolver o projeto. Algumas técnicas HTML5 também serão exigidas, como geolocalização, client storage, histórico ou drag and drop.
-
Questões a serem respondidas pelo aluno
- Quais técnicas HTML5 você utilizou no projeto? Descreva onde e quais ganhos elas proporcionaram.
- Em que situações você realizou requisições assíncronas? Descreva onde e quais ganhos elas proporcionaram.
- Explique algum efeito que tenha proporcionado melhor experiência de navegação do usuário. Como ele foi implementado?
- Explique alguma implementação focada em melhoria de desempenho da aplicação.
|