需要前后端通吃吗?
对于一个非计算机专业的同学来说,你所了解的东西已经很多了。不过可能因为受限于视角和各方面的原因,还是有那么一些不足吧。 关于前端开发的一些参考: http://kb.cnblogs.com/page/190205/ http://kb.cnblogs.com/page/190206/ 以上。
说一下我自己的观点,希望能够对题主有帮助。
首先有很大一部分人都提到,前后端通吃是很正常的一个现象。其实这个现象特别是在企业级软件(常规的业务系统,如CRM、ERP和CMS等)开发中更常见。因为对于这些领域的软件,考虑更多的是如何实现业务流程,把体验和交互的优化则放在了次要地方。在这种时候,后端如何处理业务是重要关注点,而且必须具备相应的前端知识才有可能完成所有对应工作。
与之相对应的是另外一个领域,比如我们常用的知乎、淘宝、微博等这些互联网网站的开发。这边的前后端区分就很明显了,甚至后端都是分很多层的。
一方面,由于业务量过大造成的系统复杂性问题(比如C10k problem),后端必须独立出来进行考虑。另外一方面,由于用户量过大造成的体验差异问题,前端也要拿出来进行体验设计。这个时候,后端要思考的不只是如何实现业务,还要考虑如何提升效率、如何增强扩展性、如何应对变化,同样地,前端也从仅仅把界面实现出来变成了考虑效率、交互、体验和其他各个相关方面的问题(比如题主提到的SEO)。
======================
OK,科普就到这里。具体喜欢哪一个领域,题主应该会有自己的主意。
然后就是给题主一些建议了: