produtividade infinito e além com we.js
TRANSCRIPT
![Page 1: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/1.jpg)
Produtividade
Ao infinito e além!
![Page 2: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/2.jpg)
Vou focar no We.js mas muitas coisas também valem para outros frameworks ...
![Page 3: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/3.jpg)
Produtividade: capacidade de criar sistemas e partes de sistemas em pouco tempo e com pouco esforço
![Page 4: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/4.jpg)
Generators!
Agiliza a construção gerando partes da aplicação como models, CRUD, templates e até o projeto inteiro.
https://github.com/wejs/generator-wejs
![Page 5: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/5.jpg)
Gerando um app …
# Criando um projetoyo wejs:app tweet
# Criando um resourceyo wejs:resource tweet text:string lang:string userName:string userDisplayName:string userImage:text imageUrl:text
# Adicionado uma configuração para deploy no # Herokuyo wejs:heroku
![Page 6: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/6.jpg)
Model-view-controller (MVC)!
1. Model - Powered by sequelize2. Controller - Com as ACTIONS básicas para criar um
CRUD3. View - por padrão o we-core possuí os formatos de
resposta em JSON ou JSONAPI e o formato de resposta com HTML está disponível no plugin de view (we-plugin-view)
https://pt.wikipedia.org/wiki/MVC
![Page 7: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/7.jpg)
[MVC] Model
Responsável pela “estrutura e manipulação” dos dados salvos no banco de dados
Em uma aplicação com We.js os models são acessíveis no objeto: we.db.models e em um controller: req.we.db.models
![Page 8: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/8.jpg)
[MVC] Controller
No We.js o controller possuí actions que são responsáveis por carregar, processar, montar os dados de acordo com cada requisição e emviar para a função de resposta adequada ex: res.ok() para sucesso ou res.queryError() para um erro de query
![Page 9: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/9.jpg)
Context Loader
Controller Action
Model
Response method
Response Formater
ACL
![Page 10: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/10.jpg)
(MVC) View ou resposta
![Page 11: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/11.jpg)
Formas de selecionar o formato de resposta
● Com o Accept header: Accept application/vnd.api+json● Com o query param: responseType● Com extenção: .json ou .rss
https://en.wikipedia.org/wiki/Content_negotiation
![Page 12: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/12.jpg)
(MVC) View ou resposta
HTML: http://albertosouza.net/article
RSS: http://albertosouza.net/article.rss
JSON: http://albertosouza.net/article.json
E que tal: http://albertosouza.net/article.money
![Page 13: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/13.jpg)
Interoperabilidade
● JSONAPI incluído no core do We.js● Os formatos de resposta são extensíveis com plugins● Gerador de documentação com swagger
![Page 14: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/14.jpg)
Interoperabilidade ...
# Criando uma documentação no formato Swaggeryo wejs:doc
# Get tweets list in JSONAPI:curl -i -H "Accept: application/vnd.api+json" http://localhost:4000/tweet
# Pegando um artigo do meu site em JSONAPIcurl -i -H "Accept: application/vnd.api+json" http://albertosouza.net/artigo/8
![Page 15: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/15.jpg)
Plug and extend
Sistema avançado de plugins- Install, update and extend!- Public folders (optional)- Autoload
Sistema de eventos e hooks - do something on …- Eventos são EventEmiters- Hooks tem callback
![Page 16: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/16.jpg)
E muito mais ...
Plug and play, modules
Theme modules
Code with Javascript!
Suport to Linux, Mac and Windows
Object-relational mapping (ORM)
Access Control List (ACL)
Simpler structure
Generate forms from JSON or models Extensive response formats
Administrative interface
Layout, regions and Widgets
Url alias
Generate Swagger documentation
Compatible with Express.js middlewares
Project distributions
Hooks and events
![Page 17: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/17.jpg)
ROADMAP
Mas isso tudo é só o começo!
![Page 18: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/18.jpg)
A maioria das pequenas empresas e startups não podem pagar ou esperar por um sistema “perfeito” ...
Tempo é dinheiroProduto mínimo viável (MVP )
![Page 19: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/19.jpg)
Mas como permitir que todas essas ideias virem realidade?
![Page 20: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/20.jpg)
Através de um serviço online onde o usuário poderia escolher o que deseja e depois mandar o serviço “gerar” seu app
… e talvez já realizar o deploy ...
![Page 21: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/21.jpg)
Várias empresas já estão avançando para criar algo parecido ex:
https://treeline.io
Node machine spec:
![Page 22: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/22.jpg)
Mas todas essas opções exigem conhecimentos de desenvolvimento ...
![Page 23: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/23.jpg)
BOOM! aí surge o projeto We Build
● SaaS + BaaS = Serviço online para construír e realizar o deploy de sistemas
● Self service de desenvolvimento de APIs● Os “desenvolvedores” vão montar os seus sistemas
descrevendo o que querem com suporte á templates e ajuda virtual
● Geranciamento de equipes e tarefas ● E muito mais ...
![Page 24: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/24.jpg)
Ei, você aí tem uma empresa se possível de hosting e gostou do We Build
Entre em contato, precisamos de apoio $$ para avançar ...
![Page 25: Produtividade infinito e além com We.js](https://reader034.vdocuments.net/reader034/viewer/2022051520/58ee50411a28ab75228b4575/html5/thumbnails/25.jpg)
We.js
Github: https://github.com/wejs/we
Site: https://wejs.org
Twitter: https://twitter.com/we_js
We.js CMF project: https://github.com/wejs/we/issues/158
Email: [email protected]