在不使用任何框架的情况下在Ruby中完成Web应用程序 - 有多难?陷阱?

unj*_*nj2 1 ruby frameworks

我是一个Ruby noob.这个社区中有没有人写过没有任何框架的Ruby应用程序?(编辑:我的目标是自己写一篇.)告诉我们你的经历.这有多难?您使用的最低抽象是什么?有什么陷阱?谢谢.

Don*_*rve 9

这是一个非常非常广泛的问题.您是要编写自己的框架,还是只是一个简单的CGI类应用程序(您可以非常轻松地使用ERB).

我可以看到不使用框架(包括你编写过的框架)的最大缺陷是,对于其他人来说,弄清楚你的代码在做什么以及为什么会更加困难.此外,您将失去所有自动化测试,数据绑定,打包,文档生成以及框架绑定在一起的其他好东西.

当然,如果你自己完成所有的捆绑,那么你刚刚编写了一个框架.:)

如果没有,你写了一堆可怕的意大利面条代码.

我所做的,因为你是Rubyist的开始,是读Rails(或Sinatra)的来源,并试着找出它的作用.不是因为它必然是一个很好的例子,而是因为通过潜入一对夫妇,你对网络框架的理解会更加完整.这非常非常有价值.

编辑:

我查看了你的其他一些帖子,看起来你是学生,所以我要提醒你不要写自己的框架,不要因为这本身就是一个坏主意,而是因为什么是软件框架代表 - 即使用语言X的多年经验总和.

程序员就像海狸 - 我们想要建立.我们希望自己构建一切,始终坚持修复现有工具的缺点.虽然这是一件非常高尚的事情,但它往往会让人们走上很少做的事情,因为他们不愿意使用别人写过的工具,往往归结为很小的化妆品原因.年轻的程序员对此特别内疚,我也没有什么不同 - 我浪费了几年的时间来编写Web服务器和数据库抽象层,而不是编写我本可以赚钱的软件.

如果我可以回去做不同的事情,我会开始为已经存在的框架做出贡献,而不是仅仅尝试从头开始"做对".

现在,"首先使用其他人的工作"这一规则有一个例外,那就是当你获得了使用工具的经验,知道什么时候建立新的东西.在他决定编写Rails之前,DHH(创建Rails的人)是一个非常长的Ruby编码器.

作为一个Ruby新手,你可能会更好地阅读其他人已经做过的事情,修补/改进它,而不仅仅是自己开始.您将了解有关该语言的更多信息,为社区做出有价值的贡献,并为自己提供一些好的简历素材.