该怎样选择框架?

如今开源世界已经越来越流行,软件的开发也越来越简单。

一般来说。仅仅须要选择几款开源框架。然后结合自己业务的特色,整合起来,就能够高速成为一个平台。


那么,怎样选择一款好的技术框架呢?


大家都知道,选择一款技术框架,大多数都是作为平台底层执行。一旦使用,基本上没有替换的可能。

假设选择的框架有一些未预见的缺陷性。越到后期。越是如鲠在喉,吐不出,咽不下。

非常多同学可能认为这样说有些过分,我却认为当一个有追求的程序猿,在遇到这样的境界时,恰恰就是这样的感觉....


接下来,我们就聊聊怎样选择一款好的框架。

首先,我觉得一个好的框架,应该在例如以下特性上有突出表现:

扩展性

全部程序猿都遇到过你所不能理解的需求,所不能忍受的功能。这些在开发中司空见怪,假设你选择的框架不具有强大的扩展性,后期须要各种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的更新历史,我反正不信,一个没人使用的框架,还能保持一月一更新。








posted @ 2016-02-02 20:59  zfyouxi  阅读(216)  评论(0编辑  收藏  举报