Express.js vs. Rails

Proč porovnávám tyto rámce

Chystám se začít pracovat na mobilní aplikaci s jiným vývojářem. Rozhodli jsme se použít React Native pro frontend, protože už mám s Reactem zkušenosti. Snažili jsme se však zjistit, jaký rámec použít pro náš back-end. Protože jsem Express nikdy předtím nepoužíval, chtěl jsem se ponořit do rozdílů mezi Rails a Express. Kromě toho jsem během hledání práce viděl více společností, které v popisu práce uváděly Node a Express než Rails. Zdá se, že Express by byl dobrý nástroj k učení a opravdu mě baví programování v JavaScriptu, ale také mě baví jednoduchost Rails.

Co je Express?

Express je webový rámec pro vytváření webových aplikací na straně serveru. Využívá Node.js a stejně jako Rails používá vzor MVC k řízení logiky back-endové aplikace. Obsahuje obslužné metody HTTP, širokou škálu middlewaru, který lze zahrnout, a mnoho dalších funkcí, které usnadňují vytváření webové aplikace pomocí JavaScriptu. Někteří lidé dokonce porovnávali Express se Sinatrou, což je spíše rámec Ruby nižší úrovně než Rails.

Porovnání rámců

Na první pohled mi bylo docela zřejmé, že Express je mnohem minimalističtější než Rails. Rails je velmi rozsáhlý framework a je velmi zaujatý tím, jak by měla být aplikace sestavena. Existují soubory modelu, soubory řadiče, soubory zobrazení, soubor tras a mnoho, mnohem více. Express je mnohem lehčí a nabízí větší flexibilitu, pokud jde o strukturu vaší aplikace.

Klady a zápory Rails

Klady

Rails přichází se vším, co potřebujete k vytvoření webové aplikace ihned po vybalení, včetně vestavěné podpory pro databázi SQLite. Protože je optimalizován pro webové aplikace a obsahuje spoustu balíčků, je vytvoření standardní webové aplikace pro vývojáře super rychlé. Syntaxe Ruby je velmi intuitivní a pro vývojáře snadno srozumitelná. Vzhledem k tomu, že framework je zaujatý, podíváte-li se na aplikaci Rails jiného vývojáře, bude relativně snadné pochopit, jak funguje.

Nevýhody

Protože Rails přichází s tolika balíčky, může být docela pomalé a těžké. Navíc, protože je o struktuře vaší aplikace docela přesvědčený, je zde malá flexibilita a může být frustrující pracovat mimo tuto krabici. Spolu s tím může být obtížné ladit vysoce abstrahovaný kód v Rails, protože vývojář je tak daleko od základní funkce rámce. Ještě jedna věc, kterou je třeba poznamenat, je, že se bohužel zdá, že Rails již společnosti příliš nepoužívají.

Expresní výhody a nevýhody

Klady

Express je super lehký a rychlý. Dodává se s minimálními balíčky a vývojáři mohou přidat middleware podle potřeby. Je vysoce přizpůsobitelný a flexibilní, na rozdíl od Rails, který udržuje strukturu aplikací relativně podobnou. Je to jeden z nejvíce podporovaných rámců Node, takže vývojáři mohou zajistit, že budou často prováděna vylepšení.

Nevýhody

Vzhledem k tomu, že Express je lehký, může k vytvoření stejné aplikace vyžadovat více řádků kódu než Rails. Rails přichází s generátory, které vám umožňují superrychle sestavovat modely, řadiče, serializátory a další. Express bude vyžadovat více času na nakódování aplikace tak, jak chcete.

Rozhodnutí

Myslím, že po všech mých výzkumech se přikláním k používání Express. Protože je lehký, super rychlý a postavený na Node, myslím, že to bude skvělý nástroj k učení. Pravděpodobně nakonec použijeme MongoDB / Mongoose spolu s Express pro zarovnání se zásobníkem MERN.

Dejte mi vědět, jestli jste vytvořili aplikace s Express a Rails a co si o těchto frameworkech myslíte. Děkuji za přečtení!

Další zdroje
  • Střední blog
  • Expresní dokumenty
  • Informace o JS uzlu