Skip to content
Sun,Haohao edited this page May 25, 2015 · 1 revision

Lark与RoR

Lark在设计之初,就充分参考了RoR的设计。因此,Lark与RoR有许多相通之处,RoR的使用者在接触Lark时,一定会倍感熟悉。然而,Lark并非RoR在nodejs上的完全复制。事实上,RoR已经发展多年,有着自身独特的产生背景、设计理念和实现标准。而Lark作为Web框架的晚辈,肯定会一方面吸收前辈优秀成熟的设计,同时根据自身的特点,提供具有优势竞争力的解决方案。

当然,本文无意引起谁好谁坏的争论,而是旨在通过对比Lark和RoR,剖析两者的设计思路和实现方案,使您对Lark(或许还有RoR,如果你之前不太了解的话)有一个更加深刻的了解,提高学习和使用Lark的效率。

设计理念

  • Lark是一款基于Koa的Nodejs框架,主要目标是支撑大流量高并发的Web服务。性能、多人开发模式、架构和可维护性是Lark的关注重点。

  • 而RoR是基于Ruby的Web开发框架,其目的是简化Web服务的开发,为开发者提供大量的工具组件,开发者只需要专注于业务的核心部分,写少量的代码即可完成大量的工作。

由上可见,Lark与RoR的关注点是不同的。RoR的主要目的是提高开发者的工作效率,实现软件开发周期的缩短。而Lark则重点关注的是多人同时开发高性能服务的场景。

或许仅凭这2段话,可能还不太好理解。不过不要着急,后面会从分别使用RoR和Lark的过程来细细阐述。

创建项目

Lark和RoR都提供一键式创建项目的命令:Lark new demorails new demo;

当项目创建完毕之后,进入项目目录可以发现,两者均在项目中创建了web服务所需的大部分模块的目录。甚至,无论是lark start还是rails server,都可以立刻执行此demo项目。

(待续)

Clone this wiki locally