该怎样选择框架?
2016-02-02 20:59
204 查看
如今开源世界已经越来越流行,软件的开发也越来越简单。
一般来说。仅仅须要选择几款开源框架。然后结合自己业务的特色,整合起来,就能够高速成为一个平台。
那么,怎样选择一款好的技术框架呢?
大家都知道,选择一款技术框架,大多数都是作为平台底层执行。一旦使用,基本上没有替换的可能。
假设选择的框架有一些未预见的缺陷性。越到后期。越是如鲠在喉,吐不出,咽不下。
非常多同学可能认为这样说有些过分,我却认为当一个有追求的程序猿,在遇到这样的境界时,恰恰就是这样的感觉....
接下来,我们就聊聊怎样选择一款好的框架。
首先,我觉得一个好的框架,应该在例如以下特性上有突出表现:
扩展性
全部程序猿都遇到过你所不能理解的需求,所不能忍受的功能。这些在开发中司空见怪,假设你选择的框架不具有强大的扩展性,后期须要各种Hardcode来解决这个问题,当Hardcode越积越多。直接导致你的平台不伦不类,之后就是永无休止的“技术债务”。
刚下海的程序猿可能理解不了。但凡有点经验的开发者,都非常能理解这样的“技术债务”,直接表现就是:平台不加入不论什么新功能,Bug还是几年修不完!
功能性
一个框架起码要具备它所该有的功能。怎样定义该有呢?面对绝大多数的需求,都能满足。
而特殊的需求,结合其扩展性也可实现。
易用性
难用的东西都被我们慢慢舍弃...这个不只限于技术的世界,大家都懂的。
以前Struts2的高扩展性外加强大的功能。成就了SSH的威名。而Struts的使用难度,我以前深有体会。
之后SpringMVC横空出世,轻量级。简单化征服了全部程序猿!
各大平台都充斥着SpringMVC的身影,假设你的印象还停留在SSH,说明你该补补课了。
流行性
每一个人都有救世主情结。以为能够随时解救万民于水火之中。可是往往须要我们出手时。我们却无能为力。
在技术世界。这样的情结尤甚。每一种技术都会被吹嘘成XX的终结者,XX标准框架,XX技术规范。XX广泛支持...
这些程序猿毫无抵抗力的词语充斥在你的耳边。让你欲罢不能。
有多欲罢不能呢? 来看看这些词语:粉色诱惑。蕾丝,制服,
少妇 ......
往往在这时候,各位程序猿一定要清醒的记住:被大众所选择的,才是有前途的。
技术框架一旦定性。万难回头!大众选择的。最起码证明其价值,反过来想,假设这前进的路上。没有普罗大众的支持,简直是地狱之行。
假设你还是觉得自己是救世主,选择救世主一样的框架。且你还真有这权利!!
!那么。祝你好运。
社区性
这个和流行性是一体的,一旦大众选择。它所属的社区必定活跃。
当社区活跃时。框架的Bug,缺陷性都会暴露在处女座的眼光下,有了众多的处女座。即使框架官方不更新,还怕没有插件来弥补吗?
更新频率
框架的更新频率。直接影响着社区性,而社区性和流行性又息息相关。
更新频率更代表着解决Bug。添加新功能的硬性指标。说不定你今天还纠结的问题,明天官方已经出标准功能了呢?
技术世界日新月异。旧的不一定代表过时,但一定不会引领潮流。我想你也不会相信,最后一次在2011年更新的JSF,真的会引领Java Web走向组件化时代!
况且非常多开发者在选择框架时,看到最后更新是2011年,已经非常难提起兴趣了,我就是这样的。!
依照如上特性。对照你想选择的同类框架,相信非常快就能够找到你中意的。
只是非常多开发者会问:扩展性。功能性,易用性这些指标。在选择时。根本不可能深入了解。要怎么办呢?
引用上篇文章所写:
一个框架,我觉得最最最最重要的是社区性和更新速度。
依据这两条,就能够确定大部分的框架,不信。我们比比看!
WEB框架 [SpringMVC]
[Struts] [JSF]
=>SpringMVC
能够自己看看Maven的更新频率,我就不去截图了。
JSON框架 [Jackson]
[Fastjson] => Jackson
这号称世界上最快的Fastjson,更新却是奇慢。也着实坑了我一回,无法任意定义时间格式。坑哭了!
CMD框架 [RequestJS ]
[SeaJS] =>RequireJS
这号称[简洁优雅][明显没有Bug]的SeaJS,居然没有一个插件,所谓的社区只就是百度前10条,各种对照RequireJS的文章。
好吧,我也被它坑过!
我承认,我对有些词语没有抵抗力。
很多其它的。就不举样例了,建议直接看Maven的更新历史,我反正不信,一个没人使用的框架,还能保持一月一更新。
一般来说。仅仅须要选择几款开源框架。然后结合自己业务的特色,整合起来,就能够高速成为一个平台。
那么,怎样选择一款好的技术框架呢?
大家都知道,选择一款技术框架,大多数都是作为平台底层执行。一旦使用,基本上没有替换的可能。
假设选择的框架有一些未预见的缺陷性。越到后期。越是如鲠在喉,吐不出,咽不下。
非常多同学可能认为这样说有些过分,我却认为当一个有追求的程序猿,在遇到这样的境界时,恰恰就是这样的感觉....
接下来,我们就聊聊怎样选择一款好的框架。
首先,我觉得一个好的框架,应该在例如以下特性上有突出表现:
扩展性
全部程序猿都遇到过你所不能理解的需求,所不能忍受的功能。这些在开发中司空见怪,假设你选择的框架不具有强大的扩展性,后期须要各种Hardcode来解决这个问题,当Hardcode越积越多。直接导致你的平台不伦不类,之后就是永无休止的“技术债务”。
刚下海的程序猿可能理解不了。但凡有点经验的开发者,都非常能理解这样的“技术债务”,直接表现就是:平台不加入不论什么新功能,Bug还是几年修不完!
功能性
一个框架起码要具备它所该有的功能。怎样定义该有呢?面对绝大多数的需求,都能满足。
而特殊的需求,结合其扩展性也可实现。
易用性
难用的东西都被我们慢慢舍弃...这个不只限于技术的世界,大家都懂的。
以前Struts2的高扩展性外加强大的功能。成就了SSH的威名。而Struts的使用难度,我以前深有体会。
之后SpringMVC横空出世,轻量级。简单化征服了全部程序猿!
各大平台都充斥着SpringMVC的身影,假设你的印象还停留在SSH,说明你该补补课了。
流行性
每一个人都有救世主情结。以为能够随时解救万民于水火之中。可是往往须要我们出手时。我们却无能为力。
在技术世界。这样的情结尤甚。每一种技术都会被吹嘘成XX的终结者,XX标准框架,XX技术规范。XX广泛支持...
这些程序猿毫无抵抗力的词语充斥在你的耳边。让你欲罢不能。
有多欲罢不能呢? 来看看这些词语:粉色诱惑。蕾丝,制服,
少妇 ......
往往在这时候,各位程序猿一定要清醒的记住:被大众所选择的,才是有前途的。
技术框架一旦定性。万难回头!大众选择的。最起码证明其价值,反过来想,假设这前进的路上。没有普罗大众的支持,简直是地狱之行。
假设你还是觉得自己是救世主,选择救世主一样的框架。且你还真有这权利!!
!那么。祝你好运。
社区性
这个和流行性是一体的,一旦大众选择。它所属的社区必定活跃。
当社区活跃时。框架的Bug,缺陷性都会暴露在处女座的眼光下,有了众多的处女座。即使框架官方不更新,还怕没有插件来弥补吗?
更新频率
框架的更新频率。直接影响着社区性,而社区性和流行性又息息相关。
更新频率更代表着解决Bug。添加新功能的硬性指标。说不定你今天还纠结的问题,明天官方已经出标准功能了呢?
技术世界日新月异。旧的不一定代表过时,但一定不会引领潮流。我想你也不会相信,最后一次在2011年更新的JSF,真的会引领Java Web走向组件化时代!
况且非常多开发者在选择框架时,看到最后更新是2011年,已经非常难提起兴趣了,我就是这样的。!
依照如上特性。对照你想选择的同类框架,相信非常快就能够找到你中意的。
只是非常多开发者会问:扩展性。功能性,易用性这些指标。在选择时。根本不可能深入了解。要怎么办呢?
引用上篇文章所写:
一个框架,我觉得最最最最重要的是社区性和更新速度。
依据这两条,就能够确定大部分的框架,不信。我们比比看!
WEB框架 [SpringMVC]
[Struts] [JSF]
=>SpringMVC
能够自己看看Maven的更新频率,我就不去截图了。
JSON框架 [Jackson]
[Fastjson] => Jackson
这号称世界上最快的Fastjson,更新却是奇慢。也着实坑了我一回,无法任意定义时间格式。坑哭了!
CMD框架 [RequestJS ]
[SeaJS] =>RequireJS
这号称[简洁优雅][明显没有Bug]的SeaJS,居然没有一个插件,所谓的社区只就是百度前10条,各种对照RequireJS的文章。
好吧,我也被它坑过!
我承认,我对有些词语没有抵抗力。
很多其它的。就不举样例了,建议直接看Maven的更新历史,我反正不信,一个没人使用的框架,还能保持一月一更新。
相关文章推荐
- 在CTime类中重载<<和>>
- 销量预测
- angularjs ng-select ng-options 默认选中项.
- libmad编译移植到A20
- Maven主要插件汇总
- Leetcode_num3_Same Tree
- python程序编译成exe文件
- 弱语言变量作用域
- java.io.Serializable
- Gridpanel符合条件的行有颜色
- JDBC获得数据库连接时写在URL上的?useUnicode=true&characterEncoding=utf-8的意义
- 【poj2891-Strange Way to Express Integers】拓展欧几里得-同余方程组
- HYSBZ/BZOJ 1005 [HNOI2008] 明明的烦恼 - Prufer编码&组合数学&高精度 此乃神题!
- HDOJ 1217 Arbitrage (最短路 Floyd)
- 并查集 路径压缩
- 关于解决ubuntu中Docky软件断电自动关闭的问题(Linux: Docky Closes After Waking Up From Suspend (Ubuntu 14.04))
- 结对编程的正确姿势,你会了吗?
- 微信关闭了QQ好友导入功能
- 机房数据关系图
- ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置