The Codest
  • O nás
  • Služby
    • Vývoj softwaru
      • Vývoj frontendů
      • Vývoj backendu
    • Staff Augmentation
      • Vývojáři frontendů
      • Vývojáři backendu
      • Datoví inženýři
      • Cloudoví inženýři
      • Inženýři QA
      • Další
    • To Advisory
      • Audit a poradenství
  • Odvětví
    • Fintech a bankovnictví
    • E-commerce
    • Adtech
    • Healthtech
    • Výroba
    • Logistika
    • Automobilový průmysl
    • IOT
  • Hodnota za
    • CEO
    • CTO
    • Manažer dodávek
  • Náš tým
  • Case Studies
  • Vědět jak
    • Blog
    • Setkání
    • Webové semináře
    • Zdroje
Kariéra Spojte se s námi
  • O nás
  • Služby
    • Vývoj softwaru
      • Vývoj frontendů
      • Vývoj backendu
    • Staff Augmentation
      • Vývojáři frontendů
      • Vývojáři backendu
      • Datoví inženýři
      • Cloudoví inženýři
      • Inženýři QA
      • Další
    • To Advisory
      • Audit a poradenství
  • Hodnota za
    • CEO
    • CTO
    • Manažer dodávek
  • Náš tým
  • Case Studies
  • Vědět jak
    • Blog
    • Setkání
    • Webové semináře
    • Zdroje
Kariéra Spojte se s námi
Šipka zpět ZPĚT
2021-06-30
Vývoj softwaru

Kolejnice a další dopravní prostředky

The Codest

Krzysztof Buszewicz

Senior Software Engineer

Rails je framework kompatibilní s Rackem, který se zaměřuje na rychlý vývoj aplikací. Bohužel přístup "vše z krabice" a slepé chování podle Rails často způsobují, že kód aplikace ztrácí na kvalitě, a to jak z hlediska příjmu (čitelnosti), tak i fungování.

Oblíbené problémy Rails a Rails-way

Problémy zmíněné v: článek o Shopify

  • směrování,
  • before-actions,
  • velké akce v regulátorech,
  • soukromé metody v řadičích,
  • mixiny použité jednou,
  • logika v zobrazeních,
  • Zpětná volání ActiveRecord,
  • Asociace,
  • "tlusté modely".

Další problémy

  • Ověřování aktivních záznamů,
  • implicitní před explicitní,
  • zneužití funkce DRY,
  • delegace do sdružení,
  • servisní volání v modelech.

Alternativy k systému Rails

Pokud jde o Rails v Ruby světě, máme několik alternativ. Mezi další frameworky založené na Racku patří: - Sinatra, – Roda, – Hanami.

V čem jsou jedinečné?

Sinatra i Roda nabízejí nás syntaxe blokového směrování, ale směrování v Sinatře je seznam a v Rodě strom. V obou frameworcích se musíme s implementací modelové vrstvy vypořádat sami. V případě Rody je dobré použít drahokam Sequel.

Roda se inspiruje Sinatrou. Sama o sobě je velmi lehká, ale má spoustu zásuvných modulů.

Hanami je nejblíže Rails pokud jde o oblasti, na které se vztahuje rámec. Nejdůležitější rozdíly z hlediska použití jsou:

  • ovladače v Rails vs. akce v Hanami,
  • specializované třídy / objekty zpracovávající konkrétní požadavek HTTP, nikoli jeden kontrolér pro akce související s konkrétním prostředkem (modelem),
  • vrstva modelu založená na úložištích a entitách, která odděluje perzistenci od zbytku aplikace, nikoliv vzor aktivního záznamu.

Hanami verze 1 silně omezuje použití ROM, na které je založena (verze 3, a to už je 5), takže se nevyplatí používat tam navrženou modelovou vrstvu. Protože se však jedná o velmi otevřený framework, je poměrně snadné implementovat tam model vlastní.

Doplňky pro systém Rails

Vyplatí se používat řešení, která nejsou závislá na Rails a blíží se "čistým" Ruby. V prezentaci jsou zmíněny tyto nástroje:

  • Sequel (ORM, alternativa k ActiveRecord),
  • ROM (mapovač objektů),
  • knihovny dry-rb: dry-validations, dry-system a dry-monads.

Pokračování je snadné umístit do projekt, je založen na zásuvných modulech a také implementuje vzor aktivního záznamu. Má lepší podporu nízkoúrovňových dotazů než Rails' ActiveRecord.

ROM používá Sequel, ale jeho koncepce spočívá v převodu mezi záznamy v databázi (databázích) a záznamem v databázi. Ruby objekty. Jeho cílem je rychlost a transformace dat. Jasně odděluje vrstvu perzistence v aplikaci.

Knihovny Dry-rb jsou velmi užitečné nástroje:

  • Dry-validace se v projektech API používá velmi snadno a umožňuje skvělou kontrolu správnosti příchozích dat,
  • dry-system vyžaduje trochu cviku a trpělivosti, aby jej vývojáři pochopili, ale umožňuje velmi flexibilní správu závislostí v aplikaci a izolované načítání komponent projektu; pokud chceme tuto knihovnu použít v Rails, můžeme použít suché kolejnice,
  • suché monády jsou teoreticky obtížným konceptem, ale v praxi je jejich pochopení jednodušší, výsledné monády mohou být skvělým způsobem, jak zvýšit čitelnost. kód zvažováním konkrétních případů namísto větvení if.

Závěry

Nejlepší je použít Rails abyste nemuseli používat Rails jeden den.

Zdroje

Články

  • Vůně kódu v aplikacích Rails (od společnosti Shopify)
  • Hanami: repozytoria
  • Průvodci kolejnicemi

Rámce

  • Sinatra
  • Roda
  • Hanami

Drahokamy

  • Pokračování
  • ROM
  • Biblioteki dry-rb
  • Validátor schématu JSON v jazyce Ruby (json-schema)
  • Pagy
  • Rodauth
  • rodauth-rails

Specifikace

  • Rack
  • Schéma JSON

Přečtěte si více:

Co je Ruby on Jets a jak pomocí něj vytvořit aplikaci?

Vuelendar. Nový projekt Codestu založený na Vue.js

Týdenní přehled nejlepších technických článků společnosti Codest. Tvorba softwaru pro 50 milionů souběžných soketů (10)

Související články

Ilustrace zdravotnické aplikace pro chytré telefony s ikonou srdce a rostoucím zdravotním grafem, označená logem The Codest, která představuje digitální zdraví a řešení HealthTech.
Vývoj softwaru

Softwarové vybavení pro zdravotnictví: a případy použití

Nástroje, na které se dnes zdravotnické organizace spoléhají, se v ničem nepodobají papírovým kartám z doby před desítkami let. zdravotnický software dnes podporuje zdravotnické systémy, péči o pacienty a moderní poskytování zdravotní péče v klinických a...

NEJKRÁSNĚJŠÍ
Abstraktní ilustrace klesajícího sloupcového grafu se stoupající šipkou a zlatou mincí symbolizující efektivitu nákladů nebo úspory. V levém horním rohu se zobrazuje logo The Codest se sloganem "In Code We Trust" na světle šedém pozadí.
Vývoj softwaru

Jak rozšířit tým vývojářů bez ztráty kvality produktu

Zvětšujete svůj vývojový tým? Zjistěte, jak růst, aniž byste museli obětovat kvalitu produktu. Tento průvodce se zabývá příznaky, že je čas na škálování, strukturou týmu, najímáním zaměstnanců, vedením a nástroji - a také tím, jak může The Codest...

NEJKRÁSNĚJŠÍ
Vývoj softwaru

Vytváření webových aplikací odolných vůči budoucnosti: postřehy týmu odborníků The Codest

Zjistěte, jak společnost The Codest vyniká při vytváření škálovatelných, interaktivních webových aplikací pomocí nejmodernějších technologií, které poskytují bezproblémové uživatelské prostředí na všech platformách. Zjistěte, jak naše odborné znalosti podporují digitální transformaci a obchodní...

NEJKRÁSNĚJŠÍ
Vývoj softwaru

10 nejlepších lotyšských společností zabývajících se vývojem softwaru

V našem nejnovějším článku se dozvíte o nejlepších lotyšských společnostech zabývajících se vývojem softwaru a jejich inovativních řešeních. Zjistěte, jak mohou tito technologičtí lídři pomoci pozvednout vaše podnikání.

thecodest
Podniková a škálovací řešení

Základy vývoje softwaru v jazyce Java: A Guide to Outsourcing Successfully

Prozkoumejte tuto základní příručku o úspěšném vývoji softwaru outsourcing Java, abyste zvýšili efektivitu, získali přístup k odborným znalostem a dosáhli úspěchu projektu s The Codest.

thecodest

Přihlaste se k odběru naší znalostní databáze a získejte aktuální informace o odborných znalostech z oblasti IT.

    O nás

    The Codest - Mezinárodní společnost zabývající se vývojem softwaru s technologickými centry v Polsku.

    Spojené království - ústředí

    • Kancelář 303B, 182-184 High Street North E6 2JA
      Londýn, Anglie

    Polsko - Místní technologická centra

    • Kancelářský park Fabryczna, Aleja
      Pokoju 18, 31-564 Krakov
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polsko

      The Codest

    • Home
    • O nás
    • Služby
    • Case Studies
    • Vědět jak
    • Kariéra
    • Slovník

      Služby

    • To Advisory
    • Vývoj softwaru
    • Vývoj backendu
    • Vývoj frontendů
    • Staff Augmentation
    • Vývojáři backendu
    • Cloudoví inženýři
    • Datoví inženýři
    • Další
    • Inženýři QA

      Zdroje

    • Fakta a mýty o spolupráci s externím partnerem pro vývoj softwaru
    • Z USA do Evropy: Proč se americké startupy rozhodly přesídlit do Evropy?
    • Srovnání technických vývojových center v zahraničí: Tech Offshore Evropa (Polsko), ASEAN (Filipíny), Eurasie (Turecko)
    • Jaké jsou hlavní výzvy CTO a CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2026 by The Codest. Všechna práva vyhrazena.

    cs_CZCzech
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech