Web 前端开发面临的挑战主要有哪些?

阿当的一篇blog http://hi.baidu.com/cly84920/blog/item/8a37ff2e0946ca4e4ec226e0.h…
关注者
922
被浏览
114,122

21 个回答

前端和后端没有可比性

前端的开发,如果没有总体的设计思路,会成为一种碎片似地程序,一个效果一坨代码,一个功能一滩脚本,一个需求片逻辑,我曾经遇到过,因为ue调整,把整个前端的代码除了核心数据处理函数保留,其余的全部修改的情况。

基本上前端的开发,处于dom操作,数据处理,数据交互三部分,如果合理的分配这三部分的功能,那么前端的代码就很容易扩展和调整。可惜现在优秀的前端开发者很少,因为前端门槛很低。

那么接下来我回答挑战所在:真正的前端开发的挑战,还在于开发者的思路,兼容性,布局,css js都不是问题,问题在于如何合理的组织语言逻辑,如果正确抽象出需求中的模块,在如何用代码处理。清楚的用代码表达出思路,清楚的写好注释,给后续维护者一个可阅读的思路。

前端的改动量,是后端的数倍,前端没有绝对,只有跟随需求不停的修改。

第一大挑战还是兼容性。虽然微软已经决定将ie6安乐死,ie9/10看起来相当标准。向后兼容似乎轻松了,但向前兼容又开始越来越让人头疼了。打算搞一个web app,你会发现android上的webkit是多么混乱。在桌面浏览器上总是有css hack可以摆平,但在mobile上只能考虑退化方案。从兼容浏览器(外加套壳的浏览器)到兼容设备,实际上兼容性变得更复杂了。

第二大挑战是交互的复杂度。和目前UI/交互的要求相比浏览器引擎给我们接囗的确太低级了。于是今年前端技术的热门话题是各种javascript, css的预处理器、各种mvc框架、和微框架的讨论。


第三大挑战是代码可维护性。复杂度的提升直接影响代码的维护性。JS/CSS/HTML代码生命周期越来越长,也就越来越需要从代码质量、架构和工具上保证它们的可维护性。代码的历史问题是永远的痛点。

第四大挑战是性能。


第五大挑战是个人成长。