5. 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.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
11. 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
12. (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
14. Interoperabilidade ...
# Criando uma 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
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
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
20. 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 ...
21. Várias empresas já estão avançando para criar algo
parecido ex:
https://treeline.io
Node machine spec:
22. Mas todas essas opções exigem
conhecimentos de desenvolvimento ...
23. 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 ...
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