Produtividade
Ao infinito e além!
Vou focar no We.js mas muitas coisas
também valem para outros frameworks
...
Produtividade: capacidade de criar
sistemas e partes de sistemas em pouco
tempo e com pouco esforço
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
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
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
[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
[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
Context
Loader
Controller
Action
Model
Response
method
Response
Formater
ACL
(MVC) View ou resposta
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
(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
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
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
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
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
ROADMAP
Mas isso
tudo é só o
começo!
A maioria das pequenas empresas e startups não
podem pagar ou esperar por um sistema “perfeito”
...
Tempo é dinheiro
Produto mínimo viável (MVP )
Mas como permitir que todas essas ideias virem
realidade?
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 ...
Várias empresas já estão avançando para criar algo
parecido ex:
https://treeline.io
Node machine spec:
Mas todas essas opções exigem
conhecimentos de desenvolvimento ...
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 ...
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
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: contact@wejs.org

Produtividade infinito e além com We.js

  • 1.
  • 2.
    Vou focar noWe.js mas muitas coisas também valem para outros frameworks ...
  • 3.
    Produtividade: capacidade decriar sistemas e partes de sistemas em pouco tempo e com pouco esforço
  • 4.
    Generators! Agiliza a construção gerandopartes da aplicação como models, CRUD, templates e até o projeto inteiro. https://github.com/wejs/generator-wejs
  • 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.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
  • 9.
  • 10.
    (MVC) View ouresposta
  • 11.
    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
  • 13.
    Interoperabilidade ● JSONAPI incluídono core do We.js ● Os formatos de resposta são extensíveis com plugins ● Gerador de documentação com swagger
  • 14.
    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
  • 17.
  • 18.
    A maioria daspequenas empresas e startups não podem pagar ou esperar por um sistema “perfeito” ... Tempo é dinheiro Produto mínimo viável (MVP )
  • 19.
    Mas como permitirque todas essas ideias virem realidade?
  • 20.
    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
  • 25.
    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: contact@wejs.org