(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, Forfatter på The Codest - Side 11 af 13

Populære Rails- og Rails-way-problemer

Problemer nævnt i: artikel om Shopify

Yderligere problemer

Alternativer til Rails

Når det kommer til Skinner i Ruby verden, har vi flere alternativer. Andre frameworks baseret på Rack omfatter: - Sinatra, - Roda, - Hanami.

Hvad gør dem unikke?

Både Sinatra og Roda tilbyder os en block routing-syntaks, men routing i Sinatra er en liste og i Roda et træ. I begge frameworks skal vi selv håndtere implementeringen af modellaget. I Rodas tilfælde er det en god idé at bruge Sequel-perlen.

Roda er inspireret af Sinatra. Det er meget let i sig selv, men det har en masse plugins.

Hanami er tættest på Skinner når det drejer sig om områder, der er omfattet af rammerne. De vigtigste forskelle med hensyn til brug er:

Hanami version 1 begrænser kraftigt brugen af ROM, som den er baseret på (version 3, og den er allerede 5), så det er ikke værd at bruge det modellag, der foreslås der. Men da det er en meget åben ramme, er det ret nemt at implementere sin egen model.

Supplementer til Rails

Det er værd at bruge løsninger, der ikke er afhængige af Skinner og er tættere på "ren" Ruby. De værktøjer, der nævnes i præsentationen, er:

Efterfølgeren er nem at sætte i en projektDet er baseret på plugins og implementerer også det aktive record-mønster. Den har bedre understøttelse af forespørgsler på lavt niveau end Skinner' ActiveRecord.

ROM bruger Sequel, men dens koncept er at oversætte mellem poster i databasen(erne) og Ruby objekter. Den sigter efter hastighed og data transformation. Adskiller klart persistenslaget i applikationen.

Dry-rb-biblioteker er meget nyttige værktøjer:

Konklusioner

Det er bedst at bruge Skinner så du ikke behøver at bruge Skinner en dag.

Kilder

Artikler

Rammeværk

Ædelstene

Specifikationer

Læs mere om det:

Hvad er Ruby on Jets, og hvordan bygger man en app med det?

Vuelendar. Et nyt Codest-projekt baseret på Vue.js

Codests ugentlige rapport med de bedste tech-artikler. Bygning af software til 50 millioner samtidige sockets (10)

da_DKDanish