前后端双修,后端程序员写前端使用的框架推荐!

综合技术 2018-09-26 阅读原文

设计刚出的一套网页皮肤,封装度为0。各大前端框架可以按照“封装度”的标准来区分。

层层封装到可以直接用后台语言写页面,封装度为10。

1级——纯html+css

放5年前,基本就是用Dreamweaver刚排出来的页面或者网页查看源代码扒下来的皮肤。不涉及到js,就是纯页面皮肤。

2级—— bootstrap系列

bootstrap的出现是一个里程碑事件。引入了不少html5/css3的特性。由于它对响应式的支持以及良好的体验,给人一种耳目一新的感觉。其源码,不管是css还是js都值得学习一下,看后经常会有“原来还可以这样做”这种恍然大悟的感觉。不过归根结底是一套ui皮肤+少量js组成的框架,属于封装度偏低的框架。经典页面大概是这样:

3~4级—— metronic/adminLTE系列

基于bootstrap或者其他1级框架,然后集成了各种jQuery插件、富文本编辑器等js库,组成的一个大杂烩工具包和案例库。皮肤基本是基于bootstrap自定义的一套主题。案例比较详尽,开发的时候找到需要的组件把前端代码复制粘贴,再稍微调试一下就能达到良好的视觉效果。根据集成的第三方库的多少,基本可以划分到3~4级封装度这样的范围。这个级别的框架的代码更多的是属于粘合剂,将各种不同的第三方库的前端代码粘合起来。经典页面大概是这样:

5级—— jQuery-ui

这里要单独把jQuery-ui拿出来讲,并不是因为它的封装度有多高,而是我认为它是一个分界点。jQuery以下级别的框架,代码以css为主,自身的js代码少,框架量级更轻,更灵活,更适合互联网web产品。jQuery以上级别的框架,属于前端的重度封装,通过框架暴露的接口进行开发,开发人员甚至不需要太多前端知识,只需要详细查看框架的开发文档即可。jQuery以上级别的框架更适合传统管理软件的开发。

6~7级—— easy-ui/DWZ

easy-ui基于jQuery-ui,不过具有更丰富的组件库。貌似商业版收费很高。听说某大型国企花了大价钱购买下来使用。DWZ是国产框架中我认为综合表现还不错的,完全免费,有问题可以在他们的QQ群里提。其余的之前还用过金蝶的operamasks-ui,不过现在好像已经不更新了。这一类级别的框架还有一个另外的称呼——“富客户端框架”,意思就是重度js框架。使用起来开发效率很高,当年也是一度百花齐放,框架辈出。经典页面大概是这样:

8级—— extjs系列

extjs属于前端框架领域中的庞然大物,封装程度很高,具有自成体系的元素选择引擎和浏览器兼容方案,js写法上也有自己的方式。组件很多很全。只看extjs的官方文档和示例几乎不必学习任何其他的前端知识就可以做出“很漂亮”的前端页面。当然页面很容易“撞衫”。使用时间长了,会对其产生严重依赖,离开extjs,几乎不会写前端页面了。经典页面大概是这样:

9级——vaadin/GWT

最后一级,也是封装度最高的一级,也就是所谓的使用后台语言写前端。如果说之前的八级至少前端和后端还是相对分离的,后台程序在java中写,前台程序在html或者js中写;那么这一级别的框架简直会颠覆你的认知!只需在后台使用java写好了类和对象,并设置好相关的属性,网页的元素是自动通过后台对象生成的。这当然有好处,妈妈再也不用担心我不会写js和css了。然而就学一下html/css/js真的那么难吗?个人认为,尽管GWT有google的这么强悍的背书,但是这种9级封装的本质上把前后台耦合得更紧密。一个人做一个项目还可以考虑,但是一个团队前后台分离、模块化开发的时候,使用这种框架是一种灾难!所以我是极度不建议使用9级封装框架的。

综上,针对不同的编程方式,给出以下参考:

1 DOP(Deadline Oriented Program,面向截止日期编程)的程序猿们有两种选择:

a、努力学习html/css/js,使用2~3级框架;

b、看不上前端代码的,6~8级是不错的选择。对于业务优先、老板整天嚷嚷时间有多紧、客户有多急切的项目,你可以直接选b了,我觉得老板是不会给你时间学习html/css/js的。

2 EOP(Experience Oriented Program,面向用户体验编程)的程序猿们,大多数做的是追求极致用户体验的互联网产品吧。那果断选1级封装度的框架,可适当借鉴2~4级的框架。

3 MOP(Money Oriented Program,面向人民币编程)对于一直做后台,趁过年放假想赚个外快的程序猿们,我知道你们也不想在前端领域有多大发展,搞好后台就足够一辈子衣食无忧了,所以还是选择6~8级吧。

前端岗位正是在网页前端复杂性逐渐增加的推动下产生的。说实话,很多老程序员以前是看不上前端行业的,认为无非是一些奇巧淫技而已。而现在,以javascript为基础的前端技术已经成功逆袭,nodejs的发展更是让js有了扬眉吐气的一天。

现在回过头来看backbonejs/angularjs/reactjs/vuejs系列框架,它们其实并不是给后台程序员准备的框架。不要轻信它们官网上的提到的“简单易用快速上手”之类的宣传语,那不是跟后台程序员和js初学者说的。如果你对js原型链、作用域、异步回调的概念还很模糊,用了这些框架只会让自己陷入泥潭难以自拔!

虽然你也可以将这些框架简单粗暴得划分到7级封装度左右,但是我并不认为这些“深度前端”框架适合后台开发者。

如今互联网公司对于中高级的前端工程师或后端工程师,都是需要了解并学习一些后(前)端技术,对高端程序员的要求,不是精通某一门语言或者某一个平台,而是工程能力/解决问题能力以及学习能力。

在这里给大家分享一下,我是一名5年全栈工程师,自己根据这几年从事前端的经验,整理一套系统的前端教程(基础+案例+工具),跟大家分享下我的成果,进群:731771211 ,群里不停更新最新的教程和学习方法(进群送web前端系统学习路线,详细的前端项目实战教学视频),有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。

点击: 加入

简书

责编内容by:简书阅读原文】。感谢您的支持!

您可能感兴趣的

Hacking on Hacktoberfest Hacking on Hacktoberfest Have you ever wanted to contribute to Open Source software but weren’t sure where to start? ...
工作十年程序员详解C语言为什么要引入指针?... 前言 说起指针算是个 在 CC++ 中老生长谈的话题,但是今天我从另外一个角度给各位看官分析一下为什么非要引入指针这个让人看到都头疼的东西? 想必学过指针的都被它的各种繁琐所折磨,另一种角度讲就是被他的灵活易用所征服。不知道...
Find all words containing `p` ... Say, str = 'python php ruby javascript jsonp perhapsphpisoutdated' How do you find all words that contains p but no...
Safe.js—JavaScript 的响应式快速开发框架... Safe.js - JavaScript的响应式快速开发框架 Safe.js是一款能够有效提升开发效率和减少开发成本的框架! 他极其轻巧,未经gzip压缩之前仅有5kb ...
Beware of `strncpy()` and `strncat()` Most C programmers will instantly recognize the idioms for memcpy() : // OK: copy data into a buffer char des...