需要前后端通吃吗?


Author: Kimmy

需要前后端通吃吗?

知乎链接


对于一个非计算机专业的同学来说,你所了解的东西已经很多了。不过可能因为受限于视角和各方面的原因,还是有那么一些不足吧。

说一下我自己的观点,希望能够对题主有帮助。
首先有很大一部分人都提到,前后端通吃是很正常的一个现象。其实这个现象特别是在企业级软件(常规的业务系统,如CRM、ERP和CMS等)开发中更常见。因为对于这些领域的软件,考虑更多的是如何实现业务流程,把体验和交互的优化则放在了次要地方。在这种时候,后端如何处理业务是重要关注点,而且必须具备相应的前端知识才有可能完成所有对应工作

与之相对应的是另外一个领域,比如我们常用的知乎、淘宝、微博等这些互联网网站的开发。这边的前后端区分就很明显了,甚至后端都是分很多层的。
一方面,由于业务量过大造成的系统复杂性问题(比如C10k problem),后端必须独立出来进行考虑。另外一方面,由于用户量过大造成的体验差异问题,前端也要拿出来进行体验设计。这个时候,后端要思考的不只是如何实现业务,还要考虑如何提升效率、如何增强扩展性、如何应对变化,同样地,前端也从仅仅把界面实现出来变成了考虑效率交互体验和其他各个相关方面的问题(比如题主提到的SEO)。

======================
OK,科普就到这里。具体喜欢哪一个领域,题主应该会有自己的主意。
然后就是给题主一些建议了:

  1. 后端。建议去看一下Rails(或者是少Rails-like,比如Laravel),了解下快速开发是怎样一种节奏;多考虑一下关于效率并发的问题,以及跟异步有关的内容,比如设想一下你的系统有了一万个、十万个、一百万个甚至一千万个用户的时候又要去如何设计和实现。
  2. 前端。 前端目前还在一步步发展,因为HTML5和即将推出的ES Harmony一步步的指引前端走向多平台、模块化、组件化,已经完全不是那个会jQuery 和搜索引擎就能完成前端功能的时代了。而且目前来说知识太零碎,少有能够比较全面涵盖到各方面的前端知识库存在。所以我的建议就是去了解一些现代的框架(比如Kissy)和技术,了解一下MVC / MVVM / FRP,了解一下作为后端的JavaScript(Node,甚至是MongoDB)。
  3. 开发平台。做后端的话,多了解一下Linux还是有用的。毕竟用它做服务器已经几乎是主流了。另外,常见的桌面系统都能够正常的跑起来前端的IDE。
  4. 编程语言。这个不用多说。代码写多了你会有自己的体会的。唯一的建议就是除了你在用的Java / PHP和JavaScript之外,再去多学习几门语言,比如前面提到的Ruby,以及常用到的Python等。
  5. 当然这不是全部。因为很久没做过Web开发了,我也只是道听途说,顺便说了说自己的想法。记得多关注一下社区动态,随时更新自己的知识库。
  6. 祝你成功!

关于前端开发的一些参考:

kb.cnblogs.com/page/190

http://kb.cnblogs.com/page/190206/


以上。

创建时间:2015-01-08 最近更新时间:2023-11-03