O documento discute ferramentas para aumentar a produtividade no desenvolvimento de aplicações web usando o framework We.js, incluindo generators para gerar partes da aplicação, o padrão MVC e diferentes formatos de resposta como JSON e HTML.
Gerando um app…
# Criando um projeto
yo wejs:app tweet
# Criando um resource
yo wejs:resource tweet text:string lang:string userName:string
userDisplayName:string userImage:text imageUrl:text
# Adicionado uma configuração para deploy no
# Heroku
yo wejs:heroku
6.
Model-view-controller (MVC)!
1. Model- Powered by sequelize
2. Controller - Com as ACTIONS básicas para criar um
CRUD
3. 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
7.
[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
8.
[MVC] Controller
No We.jso 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
Formas de selecionaro 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
12.
(MVC) View ouresposta
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
Interoperabilidade ...
# Criandouma documentação no formato Swagger
yo 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 JSONAPI
curl -i -H "Accept: application/vnd.api+json" http:
//albertosouza.net/artigo/8
15.
Plug and extend
Sistemaavanç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
16.
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 modelsExtensive response formats
Administrative interface
Layout, regions and
Widgets
Url alias
Generate Swagger
documentation
Compatible with Express.js
middlewares
Project distributions
Hooks and
events
Através de umserviç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 ...
21.
Várias empresas jáestão avançando para criar algo
parecido ex:
https://treeline.io
Node machine spec:
22.
Mas todas essasopções exigem
conhecimentos de desenvolvimento ...
23.
BOOM! aí surgeo 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 ...
24.
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 ...
Email: alberto.souza.99@gmail.com
contact@wejs.org