作者:者年
链接:http://www.zhihu.com/question/28681417/answer/41792096
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
做web的,在语言层面有很大的区别么?在框架层面有很大区别么?
关键点:
1. http 协议
2. 各级缓存(浏览器缓存,web 缓存,db缓存)
3. 并发,集群状态如何同步?
4. 静态服务,动态服务,数据服务如何组建可扩展集群?
框架:都是那么几个领域呀。
1. MVC
2. ORM
3. Cache
至于其它是基于业务功能需求延伸:
1. 消息队列
2. 安全处理
3. RESTful 接口
4. 数据接口
5. 全文搜索
... ... 都是特定场景下的 web 应用需求。
上面这些好像都是同开发语言无关的知识技能,你若全掌握,使用php, java, ruby, python 甚至c++,都是同样的思路处理,没什么区别。
剩下的,就是经验方面的了:
1. 如何处理更安全
2. 如何划分功能模块更容易扩展
3. 如何应付高并发
4. 如何处理数据备份
... ...
--------------------------------------------------------------------
所以,总的来说,给我的感觉,你来不及,因为你还在纠结语言这个小小的东西,其它很多 web 开发的东西,你没注意到。
做 web 后端,使用一种语言,全处理过上面的问题后,你会一览众山小的。
另一个方面,具体到具体开发语言,语言的语法特性不同,因而框架在解决相同问题的领域,基于各自的特性所选择的不同的方案,这个可以对比下.
关键思路:不要以语言定路线,而是要以领域定路线。