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 full-size slide

  2. Hackataller
    Agosto - 2014

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  6. Features
    Tem gosto de que?

    View full-size slide

  7. 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 full-size slide

  8. Arquitetura
    A beleza da fruta

    View full-size slide

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

    View full-size slide

  10. Tecnologias
    express

    View full-size slide

  11. 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 full-size slide

  12. 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 full-size slide

  13. 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 full-size slide

  14. 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 full-size slide

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

    View full-size slide

  16. 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 full-size slide

  17. 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 full-size slide

  18. 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 full-size slide

  19. 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 full-size slide

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

    View full-size slide

  21. Situação atual

    View full-size slide

  22. 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 full-size slide