3 pontos por GN⁺ 2023-12-19 | 1 comentários | Compartilhar no WhatsApp

Como fornecer conteúdo HTML

  • Introdução a como retornar conteúdo HTML e processar requisições AJAX usando PostgREST e a biblioteca htmx.
  • O htmx espera respostas em HTML e as utiliza para substituir elementos dentro do DOM.

Configuração inicial

  • Criação de um aplicativo de tarefas (to-do) com base no tutorial 0.
  • O processo é feito sem autenticação, concedendo ao usuário web_anon todas as permissões sobre a tabela todos.
  • Adição de text/html como manipulador de tipo de mídia para que o PostgREST reconheça as requisições do navegador web como documentos HTML.

Geração de respostas HTML

  • Criação de uma função que retorna um arquivo HTML básico usando Tailwind CSS.
  • O navegador web pode abrir a página em http://localhost:3000/rpc/index.

Listagem e criação de tarefas

  • Criação de uma função que exibe a lista de tarefas já inseridas no banco de dados.
  • Ela é usada para montar o template da lista de tarefas e não é utilizada como endpoint do PostgREST.
  • Adição de um endpoint para registrar tarefas no banco de dados e modificação da página /rpc/index.

Edição e exclusão de tarefas

  • Modificação da função api.html_todo para torná-la mais funcional.
  • Adição de novos recursos do htmx: mudar o status da tarefa, retornar HTML editável da tarefa e excluir a tarefa.
  • Adição de endpoints para editar tarefas e para modificar e excluir tarefas no banco de dados.

Opinião do GN⁺

  • Este texto pode ser interessante para desenvolvedores web, pois explica como usar PostgREST e a biblioteca htmx para fornecer conteúdo HTML dinâmico em aplicações web.
  • Atualizações assíncronas de páginas web com AJAX são uma parte importante do desenvolvimento web moderno, e este texto oferece exemplos concretos de como implementar esse tipo de recurso.
  • É um bom material para aprender como melhorar a interface do usuário e otimizar a comunicação entre servidor e cliente.

1 comentários

 
GN⁺ 2023-12-19
Comentários do Hacker News
  • Resumo dos comentários do Hacker News sobre o PostgREST:
    • Apreço pelo projeto open source PostgREST: um usuário citou o PostgREST como um de seus projetos open source favoritos e mencionou que o sucesso do Supabase se deve ao excelente design do PostgREST e do Postgres. Esse usuário disse não saber quanto o Supabase patrocina o projeto PostgREST, mas lamentou o fato de haver apenas 12 patrocinadores, apesar de muitas empresas o utilizarem.
    • Dificuldades no desenvolvimento de apps com PostgREST: outro usuário comentou que sua experiência desenvolvendo um app com PostgREST não foi boa, apontando que até frameworks que parecem simples apresentam problemas quando os requisitos ficam mais complexos. Nesse caso, os desenvolvedores precisaram escrever muitos stored procedures no banco de dados para obter o resultado desejado, o que acabou gerando problemas de escalabilidade.
    • Dificuldades de manutenção: outro usuário opinou que o PostgREST é legal como prova de conceito, mas que manter uma aplicação web complexa na prática seria um pesadelo.
    • O apelo de uma stack simples para desenvolvimento web: um usuário avaliou como atraente uma stack de desenvolvimento web composta apenas por HTML e banco de dados, vendo de forma positiva o fato de não precisar de backend nem frontend.
    • Padrões de código em aplicações novas/modernas: citando bancos de dados de documentos JSON como o Couchdb, um usuário explicou uma abordagem em que o cliente acessa diretamente o banco de dados para receber HTML ou JSON. No entanto, mencionou que esse modelo dificultou a manutenção e acabou levando à interrupção do desenvolvimento.
    • A originalidade do PostgREST sob a ótica de Haskell: um usuário avaliou que, do ponto de vista de Haskell, o PostgREST é um projeto óbvio — e que é justamente aí que está a genialidade do projeto.
    • Apresentação do SmoothDB: um desenvolvedor apresentou no GitHub um novo projeto chamado SmoothDB, que busca compatibilidade com o PostgREST, e mencionou que ele ainda está em beta. O SmoothDB foi escrito em Go e pode ser usado de forma standalone ou como módulo de aplicações de servidor mais complexas.
    • Artigo sobre pipeline de validação de dados com PostgREST: um usuário comentou que escreveu um artigo sobre como usar o PostgREST como um pipeline genérico de validação de dados e que está preparando o próximo texto sobre como utilizá-lo como camada de API CQRS/REST.
    • A combinação de PostgREST e HTMX: um usuário disse que já usou PostgREST em um projeto anterior e avaliou que ele combina bem com HTMX. No entanto, expressou preocupação com a manutenção de templates HTMX dentro de funções SQL.
    • Ferramentas adicionais para evoluir para uma stack sustentável: um usuário perguntou quais ferramentas adicionais seriam necessárias para transformar esse conceito em uma stack sustentável, capaz de oferecer boa UX em aplicações de médio e grande porte.