SlideShare uma empresa Scribd logo
1 de 32
O QUE É FRONT-END?
• Diferença entre Front-End e Back-End.
• Exemplo de desenvolvimento Front-End e Back-End.
MVC
• Model – View – Controller
• MVC foi descrito pela primeira vez por Trygve Reenskaug em 1979 para
interagir com uma maquina da XEROX que tinha um mouse, o controller
era o responsável por interagir com os dispositivos externos, fazendo
assim a view e o model ficarem sincronizados.
• MVC (Front-End)
MVP
• MVP é uma arquitetura que apareceu pela primeira vez na IBM e mais
visivelmente no Taligent durante a década de 1990. É mais comumente
referido através da Potel Paper. A idéia foi ainda mais popularizado e
descrita pelos desenvolvedores do Dolphin Smalltalk.
• Model – View – Presenter
• Derivação do MVC para construção de interfaces para os usuários.
• O Padrão foi projetado para facilitar o teste automatizado e melhorar a
separação de conceitos na camada de apresentação.
• M -> Model ou Modelo é a parte que representa a definição de dados à serem
retornados ou manipulação de
• V -> View ou Visão é a interface passiva que exibe os dados (Modelo) e os
comandos de comandos (eventos) de usuários para a camada de apresentação
(Presenter) agir sobre estes dados.
• P -> Presenter ou Apresentação age sobre o modelo e a visão. Ele recupera os
dados do repositório (Modelo) e formata-o para a camada de visão.
v
MVVM
• Model-View-View Model (MVVM)
• Uma variação do Padrão Presentation Model descrito pelo grande
Martin Fowler.
• É derivado do MVC.
• Foi desenvolvido em 2005 por John Gossman para simplificar a
programação orientada à eventos de interfaces de usuários usando
recursos WPF e Silverlight.
• Model-View-View Model (MVVM) é um padrão de projeto para a
construção de interfaces de usuário.Ele descreve como você pode
manter um simples UI potencialmente sofisticada dividindo-a em três
partes:
• Model (O Modelo): São os dados armazenados do seu aplicativo. Estes dados
representam objetos e operações no seu domínio de negócios (por exemplo,
contas bancárias que podem realizar transferências de dinheiro) e é
independente de qualquer interface do usuário. Em UI, normalmente você vai
fazer chamadas Ajax para algum código do lado do servidor para ler e escrever
esses dados armazenados modelo.
• View Model (Modelo de exibição): É uma representação pura do código dos
dados e operações em uma interface do usuário. Por exemplo, se você está
implementando um editor de lista, o seu modelo de visualização seria um
objeto segurando uma lista de itens, e expondo métodos para adicionar e
remover itens. Note que esta não é a própria interface do usuário: ele não tem
qualquer conceito de botões ou estilos de exibição. Não é o modelo de dados
persistente ou - que detém os dados não salvos que o usuário está
trabalhando. Em JS seus modelos de exibição são objetos JavaScript puros
que possuem nenhum conhecimento de HTML. Mantendo a visão do modelo
abstrato, desta forma permite que ele fique simples, assim você pode gerenciar
comportamentos mais sofisticados, sem se perder.
• View (Visão): É uma interface do usuário interativa visível
representando o estado do modelo de exibição. Ele exibe informações
do modelo de exibição, envia comandos para o modelo de exibição (por
exemplo, quando o usuário clica em botões), e as atualizações serão
sempre que o estado do ViewModel muda. Em JS, a sua visão é
simplesmente seu documento HTML com ligações declarativas para
vinculá-lo ao modelo de exibição. Alternativamente, você pode usar
modelos que geram HTML usando os dados de seu modelo de exibição.
NPM
• É o nome reduzido de Node Package Manager (Gerenciador de Pacotes
do Node).
• O NPM é duas coisas: Primeiro, e mais importante, é um repositório
online para publicação de projetos de código aberto para o Node.js;
segundo, ele é um utilitário de linha de comando que interage com este
repositório online, que ajuda na instalação de pacotes, gerenciamento
de versão e gerenciamento de dependências.
GRUNT
• Ferramenta para execução de tarefas.
• Usado para automação de tarefas repetitivas, como por exemplo
minificar arquivos JavaScript, compilação, testes unitários, entre
outros.
• Pode-se criar plugins Grunt se não houver algum disponível.
• O arquivo de configuração é o Gruntfile, que contém todas as
definições das tarefas necessárias para a automação solicitada.
• Executa a partir do npm.
BOWER
• O Bower é direcionado para buscar, baixar e salvar todo o material
necessário para a construção da sua aplicação.
• O Bower mantém o controle destes pacotes em um arquivo chamado de
bower.json.
• É uma ferramenta otimizada para o desenvolvimento front-end.
• A instalação para uso pelo npm é:
USANDO O BOWER
Instalando Pacotes (Dependências):
Exemplo:
Usando Pacotes
O QUE É ANGULARJS?
• AngularJS é uma framework estrutural para apps web dinâmicas.
MVW
• O padrão MVW na verdade não é um padrão, MVW, significa Model-
View-Whatever, ou seja, tanto faz qual padrão você acha que vai
programar em AngularJS, não perca tempo, apenas faça.
ENTENDENDO COMO FUNCIONA O ANGULARJS
1. Criação de um projeto usando AngularJS:
• Primeiro, nós precisamos de fato configurar o essencial para um projeto Angular. Há certas
coisas para se observar antes de começarmos, que geralmente consiste em uma declaração ng-
app para definir sua aplicação, um Controller para conversar com sua ‘View’, e alguma ligação
DOM e inclusão do Angular. Aqui temos o mínimo essencial:
 Um pouco de HTML com declarações ng-*:
<div ng-app=“exemploApp">
<div ng-controller=“ExemploController">
<!-- controlador lógico -->
</div>
</div>
 Um módulo Angular e um Controlador:
var myApp = angular.module('exemploApp', []);
myApp.controller('ExemploController', ['$scope', function ($scope) {
// Controller mágico
}]);
VISÃO GERAL CONCEITUAL
Conceito Descrição
Template HTML com marcação adicional
Directives Estender HTML com atributos personalizados e elementos
Model Os dados mostrados para o usuário na visão e com os quais interage usuário
Scope Contexto em que o modelo é armazenado para que os controladores, diretivas e expressões possam acessá-los.
Expressions Variáveis ​​de acesso e funções para o “scope”
Compiler Analisa o template e instancia diretivas e expressões
Filter formats the value of an expression for display to the user
View O que o usuário vê (DOM)
Data Binding Dados de sincronização entre o modelo e a visão
Controller A lógica de negócios por trás da camada de visão.
Dependency Injection Cria e gerencia objetos e funções
Injector Container de injeção de dependência
Module Um contâiner para as diferentes partes de um aplicativo, incluindo os controladores, serviços, filtros, diretivas que
configura o “Injector”.
Service Lógica de negócios reutilizável independente das Views.
VAMOS FAZER UM EXERCÍCIO EXPLICATIVO?
• Primeiramente, abra a máquina virtual definida para o minicurso.
• Execute o aplicativo Sublime Text 3
• Após, vá na barra de menus, escolha a opção “Open Folder”
• Escolha o diretório C:Minicursoexercicioexercicio1
• Clique no botão direito e adicione um arquivo escolhendo a opção
“New File” e após salve com o nome de “index.html”.
• Na barra esquerda, abra o arquivo README.md para visualizar os
passos que iremos utilizar neste exercício.
BORA TRABALHAR!!!
E O QUE É BOOTSTRAP?
• Bootstrap é um framework front-end que facilita a vida dos desenvolvedores
web a criar sites com tecnologia mobile (responsivo) sem ter que digitar uma
linha de CSS para “fazer e acontecer”. Não é à toa que o termo “Bootstrap” em
inglês significa “inicialização”, algo que possui um ponto de partida. Além disso,
o Bootstrap possui uma diversidade de componentes (plugins) em JavaScript
que auxiliam o designer a implementar: tootlip, menu-dropdown, modal,
carousel, slideshow, entre outros sem a menor dificuldade, apenas
crescentando algumas configurações no código, sem a necessidade de criar
scripts e mais scripts.
• A definição dos componentes que se pode utilizar está no GetBootstrap:
http://getbootstrap.com/components/
BORA UNIR OS MUNDOS?
PRÁTICA
• Na pasta do exercício 2, abra o arquivo README.md com o Sublime Text 3 e
siga os passos conforme solicitar.
• Após terminar os passos, faça o desafio em questão de adicionar o Google
Maps ao app.
REFERÊNCIAS BIBLIOGRÁFICAS
http://martinfowler.com/eaaDev/ModelViewPresenter.html
http://martinfowler.com/eaaDev/uiArchs.html
http://www.wildcrest.com/Potel/Portfolio/mvp.pdf
http://martinfowler.com/eaaDev/PresentationModel.html
http://knockoutjs.com/documentation/observables.html
https://www.npmjs.com/
http://nodebr.com/o-que-e-a-npm-do-nodejs/
http://www.tutorialwebdesign.com.br/o-que-e-bootstrap/

Mais conteúdo relacionado

Mais procurados

Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Sérgio Vilar
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
ASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto ProieteASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto ProieteComunidade NetPonto
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCguest489a65e
 
Performance com AngularJS
Performance com AngularJSPerformance com AngularJS
Performance com AngularJSWilson Mendes
 
Material Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSMaterial Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSHenrique Limas
 
React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UICleiton Francisco
 
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
Drupal 8 e ReactJS -  DrupalCamp Campinas 2016Drupal 8 e ReactJS -  DrupalCamp Campinas 2016
Drupal 8 e ReactJS - DrupalCamp Campinas 2016Taller Negócio Digitais
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Unit Test JavaScript
Unit Test JavaScriptUnit Test JavaScript
Unit Test JavaScriptDan Vitoriano
 
Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp netAnderson Wernek
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
 

Mais procurados (20)

Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Introdução ao AngularJS!
Introdução ao AngularJS!Introdução ao AngularJS!
Introdução ao AngularJS!
 
ASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto ProieteASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto Proiete
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
Performance com AngularJS
Performance com AngularJSPerformance com AngularJS
Performance com AngularJS
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Material Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSMaterial Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJS
 
React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UI
 
Javascript para adultos
Javascript para adultosJavascript para adultos
Javascript para adultos
 
Angular js
Angular jsAngular js
Angular js
 
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
Drupal 8 e ReactJS -  DrupalCamp Campinas 2016Drupal 8 e ReactJS -  DrupalCamp Campinas 2016
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Unit Test JavaScript
Unit Test JavaScriptUnit Test JavaScript
Unit Test JavaScript
 
Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp net
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
 

Destaque

Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Julian Cesar
 
AngularJS
AngularJSAngularJS
AngularJSLocaweb
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJSRodrigo Branas
 
Front end, back end, full stack. onde vivem o que comem hoje na uni_granrio
Front end, back end, full stack.  onde vivem  o que comem   hoje na uni_granrioFront end, back end, full stack.  onde vivem  o que comem   hoje na uni_granrio
Front end, back end, full stack. onde vivem o que comem hoje na uni_granrioAnna Cruz
 
WPI – Pós Design de Interação IEC PUC Minas aula06
WPI – Pós Design de Interação IEC PUC Minas aula06WPI – Pós Design de Interação IEC PUC Minas aula06
WPI – Pós Design de Interação IEC PUC Minas aula06Leandro Alves
 
WPI – Pós Design de Interação IEC PUC Minas aula04
WPI – Pós Design de Interação IEC PUC Minas aula04WPI – Pós Design de Interação IEC PUC Minas aula04
WPI – Pós Design de Interação IEC PUC Minas aula04Leandro Alves
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosHenrique Gogó
 
WPI – Pós Design de Interação IEC PUC Minas aula05
WPI – Pós Design de Interação IEC PUC Minas aula05WPI – Pós Design de Interação IEC PUC Minas aula05
WPI – Pós Design de Interação IEC PUC Minas aula05Leandro Alves
 
User Interface (UI) x User Experience (UX)
User Interface (UI) x User Experience (UX)User Interface (UI) x User Experience (UX)
User Interface (UI) x User Experience (UX)Gustavo Gobbi
 
Desenvolvimento de Games com Phaser
Desenvolvimento de Games com PhaserDesenvolvimento de Games com Phaser
Desenvolvimento de Games com Phaserleandroide
 
Interface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endInterface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endTalita Pagani
 
Processo de design digital
Processo de design digitalProcesso de design digital
Processo de design digitalMário Barros
 
Simplificando o design digital
Simplificando o design digitalSimplificando o design digital
Simplificando o design digitalMarconi Pacheco
 
UI e UX no Material Design
UI e UX no Material DesignUI e UX no Material Design
UI e UX no Material DesignGustavo Gobbi
 

Destaque (20)

Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)
 
AngularJS
AngularJSAngularJS
AngularJS
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJS
 
Hack2B Startups - UX?
Hack2B Startups - UX?Hack2B Startups - UX?
Hack2B Startups - UX?
 
Front end, back end, full stack. onde vivem o que comem hoje na uni_granrio
Front end, back end, full stack.  onde vivem  o que comem   hoje na uni_granrioFront end, back end, full stack.  onde vivem  o que comem   hoje na uni_granrio
Front end, back end, full stack. onde vivem o que comem hoje na uni_granrio
 
WPI – Pós Design de Interação IEC PUC Minas aula06
WPI – Pós Design de Interação IEC PUC Minas aula06WPI – Pós Design de Interação IEC PUC Minas aula06
WPI – Pós Design de Interação IEC PUC Minas aula06
 
WPI – Pós Design de Interação IEC PUC Minas aula04
WPI – Pós Design de Interação IEC PUC Minas aula04WPI – Pós Design de Interação IEC PUC Minas aula04
WPI – Pós Design de Interação IEC PUC Minas aula04
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
 
Programação web e o front-end
Programação web e o front-endProgramação web e o front-end
Programação web e o front-end
 
WPI – Pós Design de Interação IEC PUC Minas aula05
WPI – Pós Design de Interação IEC PUC Minas aula05WPI – Pós Design de Interação IEC PUC Minas aula05
WPI – Pós Design de Interação IEC PUC Minas aula05
 
WPI Aula 05
WPI Aula 05WPI Aula 05
WPI Aula 05
 
User Interface (UI) x User Experience (UX)
User Interface (UI) x User Experience (UX)User Interface (UI) x User Experience (UX)
User Interface (UI) x User Experience (UX)
 
WPI Aula 01
WPI Aula 01WPI Aula 01
WPI Aula 01
 
Desenvolvimento de Games com Phaser
Desenvolvimento de Games com PhaserDesenvolvimento de Games com Phaser
Desenvolvimento de Games com Phaser
 
WPI Aula 04
WPI Aula 04WPI Aula 04
WPI Aula 04
 
Design Responsivo
Design ResponsivoDesign Responsivo
Design Responsivo
 
Interface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endInterface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-end
 
Processo de design digital
Processo de design digitalProcesso de design digital
Processo de design digital
 
Simplificando o design digital
Simplificando o design digitalSimplificando o design digital
Simplificando o design digital
 
UI e UX no Material Design
UI e UX no Material DesignUI e UX no Material Design
UI e UX no Material Design
 

Semelhante a Introdução ao desenvolvimento front end usando bootstrap e angular js

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Portal GSTI
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMAricelio Souza
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Rafael Oliveira
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 

Semelhante a Introdução ao desenvolvimento front end usando bootstrap e angular js (20)

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
Angular js
Angular jsAngular js
Angular js
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
MVC MVP MVVM para Web
MVC MVP MVVM para WebMVC MVP MVVM para Web
MVC MVP MVVM para Web
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Minicurso Aplicação Web Utilizando o Framework Laravel
Minicurso Aplicação Web Utilizando o Framework LaravelMinicurso Aplicação Web Utilizando o Framework Laravel
Minicurso Aplicação Web Utilizando o Framework Laravel
 
Mvc - Semifinal
Mvc - SemifinalMvc - Semifinal
Mvc - Semifinal
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Angular 2
Angular 2Angular 2
Angular 2
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 

Introdução ao desenvolvimento front end usando bootstrap e angular js

  • 1.
  • 2. O QUE É FRONT-END? • Diferença entre Front-End e Back-End. • Exemplo de desenvolvimento Front-End e Back-End.
  • 3.
  • 4. MVC • Model – View – Controller • MVC foi descrito pela primeira vez por Trygve Reenskaug em 1979 para interagir com uma maquina da XEROX que tinha um mouse, o controller era o responsável por interagir com os dispositivos externos, fazendo assim a view e o model ficarem sincronizados. • MVC (Front-End)
  • 5. MVP • MVP é uma arquitetura que apareceu pela primeira vez na IBM e mais visivelmente no Taligent durante a década de 1990. É mais comumente referido através da Potel Paper. A idéia foi ainda mais popularizado e descrita pelos desenvolvedores do Dolphin Smalltalk. • Model – View – Presenter • Derivação do MVC para construção de interfaces para os usuários. • O Padrão foi projetado para facilitar o teste automatizado e melhorar a separação de conceitos na camada de apresentação.
  • 6. • M -> Model ou Modelo é a parte que representa a definição de dados à serem retornados ou manipulação de • V -> View ou Visão é a interface passiva que exibe os dados (Modelo) e os comandos de comandos (eventos) de usuários para a camada de apresentação (Presenter) agir sobre estes dados. • P -> Presenter ou Apresentação age sobre o modelo e a visão. Ele recupera os dados do repositório (Modelo) e formata-o para a camada de visão.
  • 7. v
  • 8. MVVM • Model-View-View Model (MVVM) • Uma variação do Padrão Presentation Model descrito pelo grande Martin Fowler. • É derivado do MVC. • Foi desenvolvido em 2005 por John Gossman para simplificar a programação orientada à eventos de interfaces de usuários usando recursos WPF e Silverlight.
  • 9. • Model-View-View Model (MVVM) é um padrão de projeto para a construção de interfaces de usuário.Ele descreve como você pode manter um simples UI potencialmente sofisticada dividindo-a em três partes:
  • 10. • Model (O Modelo): São os dados armazenados do seu aplicativo. Estes dados representam objetos e operações no seu domínio de negócios (por exemplo, contas bancárias que podem realizar transferências de dinheiro) e é independente de qualquer interface do usuário. Em UI, normalmente você vai fazer chamadas Ajax para algum código do lado do servidor para ler e escrever esses dados armazenados modelo. • View Model (Modelo de exibição): É uma representação pura do código dos dados e operações em uma interface do usuário. Por exemplo, se você está implementando um editor de lista, o seu modelo de visualização seria um objeto segurando uma lista de itens, e expondo métodos para adicionar e remover itens. Note que esta não é a própria interface do usuário: ele não tem qualquer conceito de botões ou estilos de exibição. Não é o modelo de dados persistente ou - que detém os dados não salvos que o usuário está trabalhando. Em JS seus modelos de exibição são objetos JavaScript puros que possuem nenhum conhecimento de HTML. Mantendo a visão do modelo abstrato, desta forma permite que ele fique simples, assim você pode gerenciar comportamentos mais sofisticados, sem se perder.
  • 11. • View (Visão): É uma interface do usuário interativa visível representando o estado do modelo de exibição. Ele exibe informações do modelo de exibição, envia comandos para o modelo de exibição (por exemplo, quando o usuário clica em botões), e as atualizações serão sempre que o estado do ViewModel muda. Em JS, a sua visão é simplesmente seu documento HTML com ligações declarativas para vinculá-lo ao modelo de exibição. Alternativamente, você pode usar modelos que geram HTML usando os dados de seu modelo de exibição.
  • 12.
  • 13.
  • 14.
  • 15. NPM • É o nome reduzido de Node Package Manager (Gerenciador de Pacotes do Node). • O NPM é duas coisas: Primeiro, e mais importante, é um repositório online para publicação de projetos de código aberto para o Node.js; segundo, ele é um utilitário de linha de comando que interage com este repositório online, que ajuda na instalação de pacotes, gerenciamento de versão e gerenciamento de dependências.
  • 16.
  • 17. GRUNT • Ferramenta para execução de tarefas. • Usado para automação de tarefas repetitivas, como por exemplo minificar arquivos JavaScript, compilação, testes unitários, entre outros. • Pode-se criar plugins Grunt se não houver algum disponível. • O arquivo de configuração é o Gruntfile, que contém todas as definições das tarefas necessárias para a automação solicitada. • Executa a partir do npm.
  • 18.
  • 19. BOWER • O Bower é direcionado para buscar, baixar e salvar todo o material necessário para a construção da sua aplicação. • O Bower mantém o controle destes pacotes em um arquivo chamado de bower.json. • É uma ferramenta otimizada para o desenvolvimento front-end. • A instalação para uso pelo npm é:
  • 20. USANDO O BOWER Instalando Pacotes (Dependências): Exemplo: Usando Pacotes
  • 21.
  • 22. O QUE É ANGULARJS? • AngularJS é uma framework estrutural para apps web dinâmicas.
  • 23. MVW • O padrão MVW na verdade não é um padrão, MVW, significa Model- View-Whatever, ou seja, tanto faz qual padrão você acha que vai programar em AngularJS, não perca tempo, apenas faça.
  • 24. ENTENDENDO COMO FUNCIONA O ANGULARJS 1. Criação de um projeto usando AngularJS: • Primeiro, nós precisamos de fato configurar o essencial para um projeto Angular. Há certas coisas para se observar antes de começarmos, que geralmente consiste em uma declaração ng- app para definir sua aplicação, um Controller para conversar com sua ‘View’, e alguma ligação DOM e inclusão do Angular. Aqui temos o mínimo essencial:  Um pouco de HTML com declarações ng-*: <div ng-app=“exemploApp"> <div ng-controller=“ExemploController"> <!-- controlador lógico --> </div> </div>  Um módulo Angular e um Controlador: var myApp = angular.module('exemploApp', []); myApp.controller('ExemploController', ['$scope', function ($scope) { // Controller mágico }]);
  • 25. VISÃO GERAL CONCEITUAL Conceito Descrição Template HTML com marcação adicional Directives Estender HTML com atributos personalizados e elementos Model Os dados mostrados para o usuário na visão e com os quais interage usuário Scope Contexto em que o modelo é armazenado para que os controladores, diretivas e expressões possam acessá-los. Expressions Variáveis ​​de acesso e funções para o “scope” Compiler Analisa o template e instancia diretivas e expressões Filter formats the value of an expression for display to the user View O que o usuário vê (DOM) Data Binding Dados de sincronização entre o modelo e a visão Controller A lógica de negócios por trás da camada de visão. Dependency Injection Cria e gerencia objetos e funções Injector Container de injeção de dependência Module Um contâiner para as diferentes partes de um aplicativo, incluindo os controladores, serviços, filtros, diretivas que configura o “Injector”. Service Lógica de negócios reutilizável independente das Views.
  • 26. VAMOS FAZER UM EXERCÍCIO EXPLICATIVO? • Primeiramente, abra a máquina virtual definida para o minicurso. • Execute o aplicativo Sublime Text 3 • Após, vá na barra de menus, escolha a opção “Open Folder” • Escolha o diretório C:Minicursoexercicioexercicio1 • Clique no botão direito e adicione um arquivo escolhendo a opção “New File” e após salve com o nome de “index.html”. • Na barra esquerda, abra o arquivo README.md para visualizar os passos que iremos utilizar neste exercício.
  • 28.
  • 29. E O QUE É BOOTSTRAP? • Bootstrap é um framework front-end que facilita a vida dos desenvolvedores web a criar sites com tecnologia mobile (responsivo) sem ter que digitar uma linha de CSS para “fazer e acontecer”. Não é à toa que o termo “Bootstrap” em inglês significa “inicialização”, algo que possui um ponto de partida. Além disso, o Bootstrap possui uma diversidade de componentes (plugins) em JavaScript que auxiliam o designer a implementar: tootlip, menu-dropdown, modal, carousel, slideshow, entre outros sem a menor dificuldade, apenas crescentando algumas configurações no código, sem a necessidade de criar scripts e mais scripts. • A definição dos componentes que se pode utilizar está no GetBootstrap: http://getbootstrap.com/components/
  • 30. BORA UNIR OS MUNDOS?
  • 31. PRÁTICA • Na pasta do exercício 2, abra o arquivo README.md com o Sublime Text 3 e siga os passos conforme solicitar. • Após terminar os passos, faça o desafio em questão de adicionar o Google Maps ao app.