目前前端开发者使用JS框架是种很普遍的现象,因为框架可以加快开发速度,同时避免各类浏览器的兼容性问题。不过同样是用框架开发,不同开发者的境界水平还是有一定差距,本文将这些前端开发者分为三个等级。

第一种境界:了解各类框架、并熟悉甚至精通某种框架的使用,但并未看过框架代码、或者并不理解框架核心细节的实现,甚至不清楚框架的设计原理、基本思想、适用场景。这类人的编程思路始终限制在”特定框架“的范围内,尽管能使用框架写出满足需求的代码。

这种人停留在”会用“框架的阶段,他们很在乎各种框架的比较,且一定要对框架分出三六九等。这些人写代码的思路始终没有离开”功能实现“。

第二种境界:精通各类框架,熟读各类框架源码,非常了解各类框架的核心功能的细节实现,熟识各类框架的优缺点和适用场景,权衡利弊后理性选择相对适 用业务逻辑的框架,并能根据业务的需要有针对性的修改框架核心代码使之更加满足可维护性和性能上的需求,但依然要基于某种框架进行业务开发,框架的范围依 然停留在组织代码、第一层的抽象和组件的模块化的范围内。

这种人停留在”精通“框架的阶段。他们的特点是有能力去对框架做有针对性的二次封装,甚至有些人有能力重写框架核心代码,但依然要基于某种框架做扩展和hack。这些人写代码的思路始终在”代码管理和框架级别的抽象“。

第三种境界:异常精通各类框架,同时精通业务逻辑,娴熟的对业务逻辑进行抽象,具备传统软件工程师的基本素质,有能力设计业务框架,并根据业务逻辑的需要重写合适的底层框架。这类人的编程思路已经完全脱离“框架”的限制,达到一种真正自由超然的境界。

这种人已经达到技术方和需求方一致认可的“专家”级别,技术功底扎实、同时精通业务。他们写代码的思路已经完全脱离“框架”,并始终围绕业务逻辑,主要工作即为业务逻辑层面的抽象和接口设计。

那么,你在哪个境界?

前端开发者使用JS框架的三个等级的更多相关文章

  1. Web前端-Vue.js必备框架(三)

    Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...

  2. 前端Js框架汇总

    概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人心,.net co ...

  3. Vue 浅谈前端js框架vue

    Vue Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vu ...

  4. 前端Js框架 UI框架汇总 特性 适用范围 选择

    身为一个资深后端工程师,面对层出不穷的前端框架,总让人眼花缭乱,做一个综合解析贴,从全局着眼,让我们明白各种前端框架的应用范围,为如何选择前端框架,从不同的维度提供一些线索,做为一个长期优化贴,欢迎指 ...

  5. 前端Js框架汇总【转】

    概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人心,.net co ...

  6. 前端Js框架汇总(工具多看)

    前端Js框架汇总(工具多看) 一.总结 一句话总结: 二.前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领 ...

  7. 12个实用的 JavaScript 框架分享给前端开发者

    JavaScript库是预先编写的 JavaScript 工具代码,让开发者可以更容易开发 JavaScript 应用.这个列表我们列出了2017年1月份功能丰富的 JavaScript 库,可以帮助 ...

  8. (转)2018几大主流的UI/JS框架——前端框架 [Vue.js(目前市场上的主流)]

    https://blog.csdn.net/hu_belif/article/details/81258961 2016年开始应该是互联网飞速发展的几年,同时也是Web前端开发非常火爆的一年,Web ...

  9. 进阶攻略|最全的前端开源JS框架和库

    新的 Javascript 库层出不穷,从而Web 社区愈发活跃.多样.在多方面快速发展.详细去描述每一种主流的 Javascript框架和库近乎不可能,所以在这篇文章中主要介绍一些对前端发展最具影响 ...

随机推荐

  1. html5 新属性

    <p contenteditable="true">这是一段可编辑的段落.请试着编辑该文本.</p> <input id="email&qu ...

  2. Android应用中MVP最佳实践

    转自:http://www.jianshu.com/p/ed2aa9546c2c 文/Jude95(简书作者)原文链接:http://www.jianshu.com/p/ed2aa9546c2c著作权 ...

  3. package.json 的语法解释

    https://www.ijser.cn/npm-package-json-document/ 形式可以有如下多种: version 严格匹配某个版本 >version 必须大于某个版本 > ...

  4. java读取property文件

    property文件中: url = jdbc:mysql://localhost:3306/resume   user= root   pwd = 123 java代码读取:       packa ...

  5. 膜拜一个神奇的女人——Hedy Lamarr

    她演绎了首部露点电影.经历了六次婚姻.出版了首本自曝隐私的自传,还曾入室行窃过两次——在这样一个饱受争议的大环境下,她还能在60多年前提出“跳频”技术和一系列无线信号技术的全新概念,其中,“跳频”技术 ...

  6. java设计模式--结构型模式--装饰模式

    装饰模式 概述 动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. 适用性 1.在不影响其他对象的情况下,以动态.透明的方式给单个对象添加职责. 2.处理 ...

  7. UVa 11401 三角形的个数

    题意:由1,2,3...n组成的序列中找三个数,且以这三个数为变长能组成三角形,求这样的三角形个数. 思路:当每次输入n时重新都计算一遍会TLE...先预处理,将结果存入ans数组. 代码: #inc ...

  8. 关于链表的一些重要操作(Important operations on a Linked List)

    上篇博文中讨论了链表的一些基本操作: 链表的基本操作(Basic Operations on a Linked List) 然而,为创建一个多功能的链表,在深度学习之前我们还需要了解更多的链表操作. ...

  9. copy模块

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #copy复制对象 #作用:提供一些函数,可以使用潜复制和深复制进行 ...

  10. HTTP 协议实现

    一.超文本传输协议及HTTP包    HTTP协议用于在Internet上发送和接收消息.HTTP协议是一种请求-应答式的协议--客户端发送一个请求,服务器返回该请求的应答,所有的请求与应答都是HTT ...