写点什么

架构之书:田园与《Agile Web Development with Rails》

用户头像
lidaobing
关注
发布于: 2020 年 12 月 17 日
架构之书:田园与《Agile Web Development with Rails》

前面的几篇文章介绍了几本书,整体的思路都是如何用 SOA,如何领域建模等等手段来构建大工程,避免再现《人月神话》里边的悲剧。在 10 年前,整个业界也被带到了一个思路,所有的工程都应该用 Java,都要面向接口编程,都要做服务拆分,而对于一些小服务(比如一个 TODO list,或者一个项目管理工具),这一套东西太重了,而且让工作变得非常无聊和低效。


Ruby 给社区带来了一个全新的生态,这是一门非常讨好程序员的语言,比如始终使用实体动作语序(ruby 的 [].length vs Python 的 len([])),基础库可扩展,可以通过 Mixin 来扩展功能,可以用 __send__ 来破坏封装,灵活的 kv 参数语法,DSL 能力,bundler 锁定版本,以及通过 rspec, cucumber 引导的两种新的测试风格。这些都让写 ruby 代码充满了愉悦感。


Rails 是 Ruby 上的一套 web 框架,在本质上跟 Spring/Django 这类的没有太大的区别。但 Rails 通过命令行方式来快速生成模板工程和模板代码,大量用缺省来取代配置,灵活的 ER(实体与关系)声明和查询接口,甚至包括 Database Migration 流程,通过这些东西极度简化了编程,甚至达到了可以在现场演示如何用五分钟搭博客的地步。这些优点也逐步被其他框架采纳,但要谈整体理念,Rails 还是有优势的。


在整个 Web/企业开发被 Java/Spring 体系所垄断的时候,Ruby/Rails 简直是一股轻流。让我知道 web 开发其实还有其他思路,并且这些新思路可以大幅度节省我们的时间。很可惜,Ruby 在性能提升上不如人意,同时动态类型语言有一些天生的缺点导致在严肃工程上没有优势,再加上 golang 等兼顾性能和简洁语言的崛起,导致 ruby 社区的人逐步分流到其他语言,没能成为主流开发语言。


Agile Web Development with Rails 其实是一本 Rails 的入门书,读这本书能让我重新唤起当年初学程序用 VB6 时的愉悦感,写 Ruby 就像在一个钢琴边上做一个即兴演奏,配合上 rspec 的 TDD 实践,不紧不慢地逐步实现着一个个的功能,好一个爽字了得。读这本书还有一个好处,就是能让你习惯并且喜欢上 REST 风格。


题图:爱德华·马奈的草地上的午餐

发布于: 2020 年 12 月 17 日阅读数: 68
用户头像

lidaobing

关注

还未添加个人签名 2017.10.18 加入

还未添加个人简介

评论

发布
暂无评论
架构之书:田园与《Agile Web Development with Rails》