较前文 Rails 从入门到完全放弃,已有两年。
在用过Rails往后的时光里,使用其他语言的Web框架时,让我一个前端时时刻刻无法忘记Rails的思想以及艺术性。
我如何选择框架和构建框架
Rails对我编程生涯的影响深旷长远
,约定优于配置
这一思想深入人心。
在我选择以何种Web开发框架来支撑业务开发时,首要考量的是框架的设计思想。
框架选择优先级
- 继承Rails思想的
- 像Rails的
- Rails
继承Rails思想的
这个我称为神似,不单单徒具其表,还有其思想。
像Rails的
样子做的像Rails,实际上千差万别的
Rails
为什么把Rails列在普通优先级。一方面是生态的问题。其实项目立项的时候,首先想到的是Rails,但是迫于种种原因,不得不选择其他的Web框架。 首要是人才招聘,找到一个熟悉Web开发的工程师比较难,找到一个熟悉Web开发的Rails工程师更难,而国内Rails开发的工程师群众基础不够强。
由此,我并没有选择Rails做开发,而是能继承Rails思想并且容易上手、群众基础强的Web框架,如PHP Laravel。
构建框架
用的轮子多了,也会想着造轮子,谁年轻的时候没这么造过呢。
然而,比起造轮子,我更倾向于造车——把优秀的轮子组装起来。 过去的两年的,我把Rails的思想应用到了前端。做了一套开发实践《Dva + Ant Design 前后端分离之 React 应用实践》
有了这一套实践,后续的前后端分离项目,企业中台、H5应用中。 有了约定和规范,码起来飞快。再结合CI、日志、监控(全部基于阿里云)。省时省心。
Nodejs的抉择
进入编程世界已经有几年了,我也不再是懵懂新手。但是对于整个编程大海而言,我还是在沙滩边拾贝的少年。 在我使用过的语言中,JavaScript无疑是我使用过的诸多语言中最频繁的。这也使得我在编程倾向性上,偏向JavaScript。 而在Nodejs生态中,eggjs无疑是最得Rails真传的企业级Web框架。Egg 为企业级框架和应用而生
当我选择Node技术栈的时候,Eggjs是和Rails一样舒服的Web框架。而Eggjs的作者也曾言,使用Eggjs能让P5、P6达到P7~P8的水准。 让P7~P8能玩出更多花样。