SlideShare uma empresa Scribd logo
Tecnologia de Programação 2- Seminário
Professor: Cleiton dos Santos Garcia
Alunos: Djiovani Douglas, Luiz Machado e Osmar Petry
ASP .NET CORE,
Angular 2, e TypeScript
Scaffolding
O que é
Scaffolding
vs
Hulk:
• Força bruta!
• Mais código
• Muito rápido
• Difícil de achar
• Ou se tornar
• (ninguém quer ser verde)
Homem de ferro:
• Ferramentas!
• Menos código
• Atalhos, IDEs
• Fácil de disseminar
• (todo mundo quer ser milionário)
Qual é melhor?
+53Armaduras diferentes do Iron Man
http://marvel.wikia.com/wiki/Iron_Man_Armor
Hulkbuster Armor
Como o nome sugere, foi feito
especificamente feita para
batalhar contra o Hulk. […]
Durante seu primeiro uso
enagural, ela conseguiu
aguentar um combate fisico
contra o Hulk
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman  | Seminário
Use ferramentas de produtividade
• Frameworks, Bibliotecas …
• Snippets, shortcuts, scripts …
• IDEs, livre reload, hot deploy …
• Geradores de código
Tempo
gasto
ganha.geek
Tamanho
tarefa
faz
manualmente
fica
puto
roda
script
faz
manualmente
zoa o método complicado
do geek
retorno do
invstimento
escreve
script
Emmet - Ferramenta para desenvolvedores Web
http://emmet.io/
SCAFFOLDING
È um termo […] da engenharia
civil, que denota a colocação de
andaimes e outras estruturas
para suportar tenoriamente
trabalhadores e/ou maquinário
enquanto a construção definitive
não está pronta […]
Scaffolding
• Rails (Ruby)
• Spring Roo (Java)
• Cake (PHP)
• Yeomen (WEB)
Nova paradigma…
…vem com muitas outras ferramentas!
“Git is a fast, scalable, distributed revision control system with an unusually rich command
set that provides both high-level operations and full access to internals.”
Open-Source
Version Controll
Multiplataforma (Linux, Windows,Mac, [...])
https://github.com/git/git
“GitHub is a web-based Git repository hosting service”
Open-Source
Social Network
Git Repository
https://github.com/git/git.github.io
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman  | Seminário
Scaffolding
Tool
“Yeoman is a robust and opinionated set of tools, libraries, and a workflow
that can help developers quickly build beautiful, compelling web apps.”
Open-Source
Scaffolding
Web Components
https://github.com/yeoman/yeoman
BUILD
TOLL
“Gulp is a toolkit that helps you automate painful or time-consuming
tasks in your development workflow.”
Open-Source
Automation
https://github.com/gulpjs/gulp
OU
“Grunt: The JavaScript Task Runner”
Open-Source
Automation
https://github.com/gruntjs/grunt
Qual melhor?
1,910,975
Download
ultimo mês
Plugins
disponíveis
Contribuidores
GitHub
Perguntas
Stackoverflow
Benchmarks
1,910,975 5,915 64 22,945 930ms
2,437,448 2,656 174 23,052 493ms
Diferença código
Diferença código
Package
Manager
“Bower package manager for the Web,
created by Twitter”
Open-Source
Package manager
https://github.com/bower/bower
Exemplo código
+4321Geradores registrados, sendo +46 oficias
http://yeoman.io/generators/
https://github.com/yeoman
Geradores oficiais
• generator-angular
• generator-polymer
• generator-bootstrap
• generator-chrome-extension
• (…)
Geradores comunidade
• Javascript: Mean, React, Meteor
• Mobile: Android, iOS, Ionic, Cordova, Xaramin
• Java: Jhipster, Spring, JAX-RS
• .NET: Aspnetmvc, Aspnetcore,
• (…)
Frameworks SPA
O que é SPA
• Single page application
• Menos lado servidor, mais do lado cliente
• Não necessáriamente Parallax ou Infinite Scroll
Vantagens
• Melhor experiência usuário
• Performance
• Maior responsabilidade para o lado do cliente
Desvantagens
• Um novo framework
• Javascript desabilitado
• SEO (Search engine optimization)
“Angular is a development platform for building mobile and desktop web applications”
Open-Source
Single Page Application
Web Components
https://github.com/angular/angular
COMPONENTES DIRETIVAS SERVIÇOSROTEAMENTO
TEMPLATE METADATA DATA BINDING
INJEÇÃO
DEPÊNCIA
PRINCIPAIS BLOCOS
{ }
{ }
{ }
{ }
{ }
Barra de navegação
Barra Lateral
Post
Post
Post
Star Widget
{ }
Node.Js
Java
.NET
Ruby
Python
COMPONENT
SERVICE
BACKEND
“TypeScript is a superset of JavaScript that compiles to clean JavaScript output”
Open-Source
MultiBrowser(Chome,Edge,Firefox, [...])
Multiplataforma (Linux, Windows,Mac, [...])
https://github.com/Microsoft/TypeScript
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman  | Seminário
“.NET Core is a blazing fast, lightweight and modular platform for creating
web applications and services that run on Windows, Linux and Mac”
Open-Source
Multiplataforma (Linux, Windows,Mac,[...])
Ambiente .NET
https://github.com/dotnet/core
.NET Core
https://channel9.msdn.com/Events/Build/2016/B891
Android
.NET STANDARD LIBRARY
Uma biblioteca para reger tudo
.NET FRAMEWORK
WPF
Windows
Forms
ASP.NET
.NET CORE
UWP
ASP.NET
CORE
XARAMIN
iOS
OS X
Android
Exemplo
“Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine”
Open-Source
Roda sem auxilio do navegador
Multiplataforma (Linux, Windows,Mac,[...])
https://github.com/nodejs/node-v0.x-archive
Instalação
npm install -g yo
npm install -g generator-aspnetcore-angular2
npm install -g typescript
Instalação
npm install -g yo
npm install -g generator-aspnetcore-angular2
npm install -g typescript
Instalação
npm install -g yo
npm install -g generator-aspnetcore-angular2
npm install -g typescript
Gerar um novo projeto
yo aspnetcore-angular2
Command-line
cd src/sua-aplicacao
tsc
dotnet restore
dotnet run
Resultado
O que gerou 
Se informe sobre Yomen
http://yeoman.io/
Tecnologia de Programação 2- Seminário
Professor: Cleiton dos Santos Garcia
Alunos: Djiovani Douglas, Luiz Machado e Osmar Petry
ASP .NET CORE,
Angular 2, e TypeScript
Scaffolding

Mais conteúdo relacionado

Mais procurados (20)

PWA - Front in Floripa
PWA - Front in Floripa
Luís Felipe Souza
 
2 curso-titanium-plataforma
2 curso-titanium-plataforma
Fernando Lunardelli
 
Desenvolvedor mobile precisa aprender Web
Desenvolvedor mobile precisa aprender Web
Jean Carlo Emer
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Thiago Colares
 
Phonegap - self RJ
Phonegap - self RJ
javamanrj
 
Lapidando o Globo Play
Lapidando o Globo Play
Jean Carlo Emer
 
Introdução ao Azure Mobile Apps
Introdução ao Azure Mobile Apps
William S. Rodriguez
 
Startups com WordPress - Tirando a sua ideia do papel
Startups com WordPress - Tirando a sua ideia do papel
Leonardo Velozo
 
Desenvolvimento web e mobile ifce
Desenvolvimento web e mobile ifce
Adriano Patrick Cunha
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator Titanium
Dirlei Dionísio
 
Aplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test Cloud
Wennder Santos
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
Gustavo Bellini Bigardi
 
Pwa (progressive web app)
Pwa (progressive web app)
GeorgiaAntunes
 
Abordagens modernas no desenvolvimento web
Abordagens modernas no desenvolvimento web
Wemerson Januario
 
Progressive web apps
Progressive web apps
João Maciel
 
Polymer Starter Kit
Polymer Starter Kit
Evaldo Barbosa
 
2019 08-13 aOS São Paulo - Renato Romão - do zero ao avançado em powerapps (l...
2019 08-13 aOS São Paulo - Renato Romão - do zero ao avançado em powerapps (l...
aOS Community
 
3 curso-titanium-instalacao
3 curso-titanium-instalacao
Fernando Lunardelli
 
7Masters - PWA - Publishing using Universal Windows Apps
7Masters - PWA - Publishing using Universal Windows Apps
Gustavo Bellini Bigardi
 
Criando uma PWA com React para consumir uma API
Criando uma PWA com React para consumir uma API
Jessica Zanelato Soares
 
Desenvolvedor mobile precisa aprender Web
Desenvolvedor mobile precisa aprender Web
Jean Carlo Emer
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Thiago Colares
 
Phonegap - self RJ
Phonegap - self RJ
javamanrj
 
Startups com WordPress - Tirando a sua ideia do papel
Startups com WordPress - Tirando a sua ideia do papel
Leonardo Velozo
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator Titanium
Dirlei Dionísio
 
Aplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test Cloud
Wennder Santos
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
Gustavo Bellini Bigardi
 
Pwa (progressive web app)
Pwa (progressive web app)
GeorgiaAntunes
 
Abordagens modernas no desenvolvimento web
Abordagens modernas no desenvolvimento web
Wemerson Januario
 
Progressive web apps
Progressive web apps
João Maciel
 
2019 08-13 aOS São Paulo - Renato Romão - do zero ao avançado em powerapps (l...
2019 08-13 aOS São Paulo - Renato Romão - do zero ao avançado em powerapps (l...
aOS Community
 
7Masters - PWA - Publishing using Universal Windows Apps
7Masters - PWA - Publishing using Universal Windows Apps
Gustavo Bellini Bigardi
 
Criando uma PWA com React para consumir uma API
Criando uma PWA com React para consumir uma API
Jessica Zanelato Soares
 

Destaque (20)

Angular 2
Angular 2
Paulo Pires
 
Material design para web
Material design para web
Augusto Sandim
 
Migrando para o Angular 2
Migrando para o Angular 2
Andre Baltieri
 
GDG Angular 2
GDG Angular 2
Leonardo Marcelino
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
Caelum
 
Service worker - Offline Web
Service worker - Offline Web
Bruno Oliveira
 
A Validation Model of Data Input for Web Services
A Validation Model of Data Input for Web Services
Rafael Brinhosa
 
Visão geral type script
Visão geral type script
João Talles Dantas Batista
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013
Giovanni Bassi
 
Boas práticas de API Design
Boas práticas de API Design
Caio Ribeiro Pereira
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
Caelum
 
Angular js com diretivas
Angular js com diretivas
Matheus Lima
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UI
Cecília Rosa
 
Tutorial AngularJS - episódio 5 - diretivas
Tutorial AngularJS - episódio 5 - diretivas
Jose Naves Moura Neto
 
Conservação de momento angular 2 a
Conservação de momento angular 2 a
Cristiane Tavolaro
 
The New Age Business Analyst - Role of BA in the Changing times of Agile Soft...
The New Age Business Analyst - Role of BA in the Changing times of Agile Soft...
Texavi Innovative Solutions
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NET
Andre Baltieri
 
Chrome Dev Summit Highlights (NYC GDG Dec 2013)
Chrome Dev Summit Highlights (NYC GDG Dec 2013)
Nitya Narasimhan
 
Material Design - do smartphone ao desktop
Material Design - do smartphone ao desktop
Hillary Sousa
 
Angular js gtg-27feb2013
Angular js gtg-27feb2013
Nitya Narasimhan
 
Material design para web
Material design para web
Augusto Sandim
 
Migrando para o Angular 2
Migrando para o Angular 2
Andre Baltieri
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
Caelum
 
Service worker - Offline Web
Service worker - Offline Web
Bruno Oliveira
 
A Validation Model of Data Input for Web Services
A Validation Model of Data Input for Web Services
Rafael Brinhosa
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013
Giovanni Bassi
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
Caelum
 
Angular js com diretivas
Angular js com diretivas
Matheus Lima
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UI
Cecília Rosa
 
Tutorial AngularJS - episódio 5 - diretivas
Tutorial AngularJS - episódio 5 - diretivas
Jose Naves Moura Neto
 
Conservação de momento angular 2 a
Conservação de momento angular 2 a
Cristiane Tavolaro
 
The New Age Business Analyst - Role of BA in the Changing times of Agile Soft...
The New Age Business Analyst - Role of BA in the Changing times of Agile Soft...
Texavi Innovative Solutions
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NET
Andre Baltieri
 
Chrome Dev Summit Highlights (NYC GDG Dec 2013)
Chrome Dev Summit Highlights (NYC GDG Dec 2013)
Nitya Narasimhan
 
Material Design - do smartphone ao desktop
Material Design - do smartphone ao desktop
Hillary Sousa
 
Anúncio

Semelhante a ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário (20)

Entity framework
Entity framework
Priscila Mayumi
 
Meteor - TechParty 2015
Meteor - TechParty 2015
Rodrigo Krummenauer do Nascimento
 
HackaPET 2019: React
HackaPET 2019: React
Maira Bello
 
InCuca - Coding dojo - ERP Especificação
InCuca - Coding dojo - ERP Especificação
InCuca
 
Write once, run "everywhere"
Write once, run "everywhere"
Stefan Horochovec
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
javamanrj
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
Thiago Soares
 
Descomplicando o Android
Descomplicando o Android
Heider Lopes
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
Flávio Lisboa
 
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Douglas Fischer
 
Introdução a Plataforma Android
Introdução a Plataforma Android
Édipo Souza
 
I mini curso e torneio robocode.pptx
I mini curso e torneio robocode.pptx
Vinicius Tarcisio Ferreira
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Thiago Sinésio
 
Netduino e .NET Micro Framework
Netduino e .NET Micro Framework
Igor Kondrasovas
 
Conhecendo o Django
Conhecendo o Django
Marcos Thomaz
 
Livelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic Design
Willian Ribeiro Angelo
 
Contribuições do projeto Azure Sphere para evolução dos padrões de segurança ...
Contribuições do projeto Azure Sphere para evolução dos padrões de segurança ...
Walter Coan
 
A Internet das coisas e a programação de micro controladores
A Internet das coisas e a programação de micro controladores
Igor Kondrasovas
 
Titanium appacelerator
Titanium appacelerator
Davi Felipe Russi
 
RedGate .NET Reflector
RedGate .NET Reflector
Nuno Gomes
 
HackaPET 2019: React
HackaPET 2019: React
Maira Bello
 
InCuca - Coding dojo - ERP Especificação
InCuca - Coding dojo - ERP Especificação
InCuca
 
Write once, run "everywhere"
Write once, run "everywhere"
Stefan Horochovec
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
javamanrj
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
Thiago Soares
 
Descomplicando o Android
Descomplicando o Android
Heider Lopes
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
Flávio Lisboa
 
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Douglas Fischer
 
Introdução a Plataforma Android
Introdução a Plataforma Android
Édipo Souza
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Thiago Sinésio
 
Netduino e .NET Micro Framework
Netduino e .NET Micro Framework
Igor Kondrasovas
 
Livelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic Design
Willian Ribeiro Angelo
 
Contribuições do projeto Azure Sphere para evolução dos padrões de segurança ...
Contribuições do projeto Azure Sphere para evolução dos padrões de segurança ...
Walter Coan
 
A Internet das coisas e a programação de micro controladores
A Internet das coisas e a programação de micro controladores
Igor Kondrasovas
 
RedGate .NET Reflector
RedGate .NET Reflector
Nuno Gomes
 
Anúncio

Mais de Osmar Petry (20)

Testes em integração contínua
Testes em integração contínua
Osmar Petry
 
Biblioteca React-Query
Biblioteca React-Query
Osmar Petry
 
Publicar pacote NPM na Zup
Publicar pacote NPM na Zup
Osmar Petry
 
Introdução ao React
Introdução ao React
Osmar Petry
 
Observables RXJS
Observables RXJS
Osmar Petry
 
Flutter
Flutter
Osmar Petry
 
Design Tokens
Design Tokens
Osmar Petry
 
Design Patterns
Design Patterns
Osmar Petry
 
Aulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com Clojure
Osmar Petry
 
Aulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure REST
Osmar Petry
 
Aulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcional
Osmar Petry
 
Matemática discreta: Código de Hamming
Matemática discreta: Código de Hamming
Osmar Petry
 
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Osmar Petry
 
Matemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integrais
Osmar Petry
 
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Osmar Petry
 
Gestão de conhecimento
Gestão de conhecimento
Osmar Petry
 
Raspberry PI
Raspberry PI
Osmar Petry
 
Ferramenta Ghost CMS
Ferramenta Ghost CMS
Osmar Petry
 
Process mining process discovery and prediction
Process mining process discovery and prediction
Osmar Petry
 
Integração contínua com Maven e Jenkins
Integração contínua com Maven e Jenkins
Osmar Petry
 
Testes em integração contínua
Testes em integração contínua
Osmar Petry
 
Biblioteca React-Query
Biblioteca React-Query
Osmar Petry
 
Publicar pacote NPM na Zup
Publicar pacote NPM na Zup
Osmar Petry
 
Introdução ao React
Introdução ao React
Osmar Petry
 
Observables RXJS
Observables RXJS
Osmar Petry
 
Aulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com Clojure
Osmar Petry
 
Aulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure REST
Osmar Petry
 
Aulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcional
Osmar Petry
 
Matemática discreta: Código de Hamming
Matemática discreta: Código de Hamming
Osmar Petry
 
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Osmar Petry
 
Matemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integrais
Osmar Petry
 
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Osmar Petry
 
Gestão de conhecimento
Gestão de conhecimento
Osmar Petry
 
Ferramenta Ghost CMS
Ferramenta Ghost CMS
Osmar Petry
 
Process mining process discovery and prediction
Process mining process discovery and prediction
Osmar Petry
 
Integração contínua com Maven e Jenkins
Integração contínua com Maven e Jenkins
Osmar Petry
 

ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário

Notas do Editor

  • #27: È mais rápido por usar mais memória, executa as tarfeas em paralelo. Gulp para extrair melhor precisa saber bem sobre API de Stream e Node.JS. Não tem muita vantage trocar, mas se for demora no máximo uma tarde ou um dia mesmo a build ser complexa