Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Choko - Hackataller (agosto, 2014)

recidive
August 16, 2014

Choko - Hackataller (agosto, 2014)

Apresentação do Choko feita no Hackataller Choko em 16/08/2014.

recidive

August 16, 2014
Tweet

More Decks by recidive

Other Decks in Technology

Transcript

  1. Choko Hackaton
    Hackataller

    View Slide

  2. Hackataller
    Agosto - 2014

    View Slide

  3. Henrique Recidive
    Desenvolvedor Web
    Criador do Choko
    15 anos de Javascript
    13 anos de PHP
    10 anos de Drupal

    View Slide

  4. O que é Choko?
    Framework de
    aplicações web
    Modular
    API driven
    Altamente extensível
    Chuchu em inglês
    australiano

    View Slide

  5. O que não é Choko?
    Framework MVC
    CMS

    View Slide

  6. View Slide

  7. Features
    Tem gosto de que?

    View Slide

  8. Features
    REST server automático
    Usuários, autenticação, controle de acesso
    Gerador de formulários
    Páginas, painéis, navegações
    Layouts, displays, temas, gerador de front-end
    Contextos, regras, relacionamentos
    Responsivo
    Várias aplicações no mesmo servidor

    View Slide

  9. Arquitetura
    A beleza da fruta

    View Slide

  10. Arquitetura
    REST server
    Storages Extensões
    Browser Outros clientes
    Tipos
    Layouts Painéis
    Páginas Contextos
    Page server

    View Slide

  11. Tecnologias
    express

    View Slide

  12. Tipos (types)
    Tudo no Choko, incluindo os próprios tipos
    Tem uma storage (persistência)
    Podem ter campos (schema, validação)
    São relacionados entre si por campos de referência
    Models, hooks, REST servers e formulários são
    criados automaticamente
    Podem ser polimórficos

    View Slide

  13. Extensões (extensions)
    Encapsulam uma certa funcionalidade
    Implementam hooks
    Podem ser usadas para criar módulos, temas,
    features, etc.
    Criam “coisas” no Choko
    Podem ser reaproveitadas

    View Slide

  14. Páginas (pages)
    Criam rotas automaticamente
    Podem ser do tipo Lista (list), Formulário (form),
    Item
    Tem um layout
    Tem panels (via contexto)
    Podem ter um callback

    View Slide

  15. Layouts
    Monta o grid da página
    Possibilita infinitas linhas e colunas aninhadas
    Contém regiões de panels
    São responsivos
    São aplicados via contexto

    View Slide

  16. Displays
    Formatam um único item ou items em uma lista
    Podem ser compartilhados com vários tipos
    Substituem os templates (partials)

    View Slide

  17. Painéis (panels)
    Blocos de conteúdo
    Tudo que é mostrado em uma página, incluindo o
    nome do aplicativo/logo, e o próprio conteúdo da
    uma página
    Podem ser do tipo Lista (list), Formulário (form),
    Item
    São adicionados na página via contexto
    São adicionados em regiões de layouts

    View Slide

  18. Contextos (contexts)
    Tem condições e reações
    Podem ser usados para adicionar painéis nas
    páginas, mudar tema, mudar layout, etc.
    Adicionam elementos e comportamento às
    páginas

    View Slide

  19. Temas (themes)
    Formatam a aplicação
    São criados por extensões
    O Choko vem com 15 temas (Bootswatch)
    São aplicados via contexto

    View Slide

  20. Navegações (navigations)
    Menus e outras estruturas de navegação
    Podem conter vários itens aninhados
    Suportam todos os tipos de navegações (navs) do
    Bootstrap via classes CSS
    Panels são gerados automaticamente

    View Slide

  21. Outros tipos
    !
    Permissões (permission)
    Papéis (roles)
    Sessões (session)
    etc…

    View Slide

  22. Situação atual

    View Slide

  23. Situação
    !
    Possível criar aplicações "sem código" mas através
    de arquivos JSON
    Sendo usado em alguns projetos
    Criar coisas pela interface ainda precisa de ajustes/
    melhorias
    Precisa de testes e documentação

    View Slide

  24. ?
    Obrigado!

    View Slide