(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); thecodest, Autor em The Codest - Página 11 de 13

Problemas populares do Rails e do Rails-way

Problemas mencionados em: artigo sobre a Shopify

Problemas adicionais

Alternativas ao Rails

Quando se trata de Carris no Rubi temos várias alternativas. Outros frameworks baseados em Rack incluem: - Sinatra, - Roda, - Hanami.

O que é que os torna únicos?

Tanto o Sinatra como o Roda oferecem nós uma sintaxe de encaminhamento de blocos, mas o encaminhamento em Sinatra é uma lista e em Roda - uma árvore. Em ambos os frameworks, nós mesmos temos que lidar com a implementação da camada de modelo. No caso do Roda, é uma boa ideia usar a gem Sequel.

O Roda é inspirado no Sinatra. É muito leve por si só, mas tem muitos plugins.

O Hanami é o mais próximo de Carris no que diz respeito aos domínios abrangidos pelo quadro. As diferenças mais importantes em termos de utilização são:

A versão 1 do Hanami limita fortemente a utilização da ROM em que se baseia (versão 3, e já é 5), pelo que não vale a pena utilizar a camada de modelos aí proposta. No entanto, como se trata de uma estrutura muito aberta, é muito fácil implementar aí o modelo.

Suplementos para Rails

Vale a pena utilizar soluções que não dependam de Carris e estão mais próximos do "puro" Rubi. As ferramentas mencionadas na apresentação são:

A sequela é fácil de colocar numa projetoO sistema é baseado em plugins e também implementa o padrão de registo ativo. Tem melhor suporte de consulta de baixo nível do que o Carris' ActiveRecord.

O ROM utiliza a Sequel, mas o seu conceito consiste em traduzir entre registos na(s) base(s) de dados e Rubi objectos. O seu objetivo é a velocidade e dados transformação. Separa claramente a camada de persistência na aplicação.

As bibliotecas dry-rb são ferramentas muito úteis:

Conclusões

É preferível utilizar Carris para não ter de utilizar Carris um dia.

Fontes

Artigos

Estruturas

Gemas

Especificações

Ler mais:

O que é o Ruby on Jets e como criar uma aplicação com ele?

Vuelendar. Um novo projeto da Codest baseado no Vue.js

O relatório semanal da Codest sobre os melhores artigos de tecnologia. Construindo software para 50 milhões de sockets simultâneos (10)

pt_PTPortuguese