当今时代众多CSS的前端框架纷涌而至,但真正的优秀的却屈指可数。
在这篇文章中我们将对我认为最好的五个框架进行比较,每个框架都有自己优缺点和特定的应用领域,这允许你根据特定项目的需求选择合适的框架。比如, 如果你的项目比较简单,你就不需要复杂的框架,此外,许多选项是模块化的,这允许你仅使用你需要的组件,或者混合使用不同框架的组件。
我们要讨论的框架都是基于其在github上的人气展示的,首先说最流行的,当然是:Bootstrap。
(注意:下面的一些信息在未来的几周和几月后就过时了,如:GitHub 上的评分(Stars)和版本数,因此如果你是在这篇文章发布很久以后阅读的话,你需要留意这一点。此外,还要注意框架大小是否将必要的CSS和JS文件最小化。)
1. Bootstrap
Bootstrap 在当今流行的各种框架中是无可争议的老大。鉴于其每天仍在增长的巨大人气,可以肯定,这个美妙的工具绝对不会让你失望,它也不会在你成功建立网站前就离你而去。
-
创建者: Mark Otto and Jacob Thornton.
-
发布: 2011
-
当前版本: 3.3.1
-
人气: 在Github上有75,000+ stars
-
描述: “Bootstrap是最流行的的 HTML, CSS和 JavaScript 响应式开发框架 ,web上开发的第一个移动项目.”
-
核心概念/原则: RWD 和移动优先
-
框架大小: 145 KB
-
预处理器: Less 和 Sass
-
响应式: Yes
-
模块化: Yes
-
开始模板/布局: Yes
-
图标设置: Glyphicons Halflings set
-
附加/插件: 没有捆绑插件,但许多第三方插件可用.
-
独特的组件: Jumbotron
-
文档: 良好
-
定制: 基本的GUI定制器。不幸的是,你需要手动输入的颜色值,因为没有可用的颜色选择器。
-
浏览器支持: Firefox, Chrome, Safari, IE8+ (你需要 Respond.js for IE8)
-
许可证: MIT
Bootstrap说明
-
Bootstrap 的主要优点是它非常流行。从技术上讲,它并不一定比这次列出来的其他框架好,但它提供的资源(文章和教程、第三方插件和扩展、主题开发者等等)比其他四个框架的总和还要多。简而言之,Bootstrap无处不在。这是人们继续选择它的主要原因。
-
(注意:“独特的组件”的意思是,相比这里提到的其他框架是独一无二的。)
2. Foundation by ZURB
Foundation是这几个框架中第二大的,在像ZURB一样实力雄厚的公司支持下,这个框架确实很强大,是的,就是foundation。毕 竟, Foundation已经在很多大型网站上投入使用,包括 Facebook, Mozilla, Ebay, Yahoo!和国家地理等等。
-
创建者: ZURB
-
发布: 2011
-
当前版本:5.4.7
-
人气: 在Github上有18,000+ stars
-
描述: “世界上最优秀的响应式前端框架”
-
核心概念/原则: RWD 、手机优先、语义的
-
框架大小: 326KB
-
预处理器: Sass
-
响应式: Yes
-
模块化: Yes
-
开始模板/布局: Yes
-
图标设置: Foundation Icon Fonts
-
附加/插件: yes
-
独特的组件: Icon Bar, Clearing Lightbox, Flex Video, Keystrokes, Joyride, Pricing Tables
-
文档: 良好,还有许多额外的资源是可用的。
-
定制: 没有GUI编辑器,只能手工定制。
-
浏览器支持: Chrome, Firefox, Safari, IE9+; iOS, Android, Windows Phone 7+
-
许可证: MIT
Foundation说明
Foundation 是一个提供业务支持、培训和咨询真正专业的框架。它还提供了很多资源帮助你更快和更容易学习和使用框架。
3. Semantic UI
Semantic UI 经过多年的努力,致力于能够以更语义化的方式构建网站。它使用自然语言的原则,使代码更可读,更容易理解。
-
创建者: Jack Lukic
-
发布:2013
-
当前版本:1.2.0
-
人气: 在Github上有12,900+ stars
-
描述: “基于自然语言有效原则的UI组件框架”
-
核心概念/原则: 语义,标签的矛盾性、响应式
-
框架大小: 552KB
-
预处理器: Less
-
响应式: Yes
-
模块化: Yes
-
开始模板/布局: No
-
图标设置: Font Awesome
-
附加/插件: yes
-
独特的组件: Divider, Flag, Rail, Reveal, Step, Advertisement, Card, Feed, Item, Statistic, Dimmer, Rating, Shape.
-
文档: 非常好。Semantic提供了一个很好的组织文档,还有一个提供入门指南,定制和创建主题单独的网站,。
-
定制: 没有GUI定制器,只能手工定制。
-
浏览器支持:Firefox, Chrome, Safari, IE10+ (IE9 with browser prefix only), Android 4, Blackberry 10
-
许可证: MIT
Semantic UI说明
Semantic 是这里讨论的最创新和功能最全面的框架。在框架的总体结构和命名约定方面,也以清晰的逻辑和语义类超过了别的框架。
4. Pure by Yahoo!
Pure是一个轻量级的、模块化的框架,以纯CSS编写,它包括很多组件,你可以根据需要联合或独立使用它们。
-
创建者: Yahoo
-
发布: 2013
-
当前版本: 0.5.0
-
人气: 在Github上有9,900+ stars
-
描述: “您可以在每一个web项目中使用的一组小的和响应式的CSS模块”
-
核心概念/原则:SMACSS,极简的.
-
框架大小: 18 KB
-
预处理器: None
-
响应式: Yes
-
模块化: Yes
-
开始模板/布局: Yes
-
图标设置: 没有,可以使用Font Awesome替代
-
附加/插件: None
-
独特的组件:None
-
文档: 良好
-
定制: 基本的GUI定制器。
-
浏览器支持:Firefox的最新版本, Chrome, Safari; IE7+; iOS 6.x, 7.x; Android 4.x
-
许可证: MIT
Pure说明
Pure只提供一个基本的风格,使你的项目有一个干净的开始。对于工作中不需要一个全功能的框架只需要有特定的组件的人来说是最理想的。
5. UIkit by YOOtheme
UIkit 是一个简洁的框架,它易于使用,易于定制组件。虽然它不像其它竞争对手一样受欢迎,但它提供了相同的功能和质量。
-
创建者: YOOtheme
-
发布: 2013
-
当前版本: 2.13.1
-
人气: 在Github上有3,800+ stars
-
描述: “一个轻量级的和模块化的前端框架,用于快速开发和功能强大的web接口。”
-
核心概念/原则:RWD, 手机优先.
-
框架大小: 118 KB
-
预处理器: Less, Sass
-
响应式: Yes
-
模块化: Yes
-
开始模板/布局: Yes
-
图标设置: Font Awesome
-
附加/插件: Yes
-
独特的组件: Article, Flex, Cover, HTML Editor
-
文档: 良好
-
定制: 优秀的GUI定制器。
-
浏览器支持: Chrome, Firefox, Safari, IE9+
-
许可证: MIT
UIkit说明
UIkit已经成功的在许多WordPress 主题上使用,它提供了一个灵活、强大的定制化机制,也可以通过GUI定制器进行手动操作。
哪一个框架更适合你?
最后,在选择合适的框架方面,让我给你一些意见,这里有一些重要的事情需要注意:
-
这个框架有足够的人气吗?更大的普及意味着更多的人参与这个项目,因此,会有更多来自社区的教程和文章,更多真实的案例/网站,更多第三方扩展,与相关web开发产品更好地结合。巨大的人气也意味着框架不太会过时,毕竟一个有着巨大群体使用的框架是不太可能被放弃的。
-
这个框架还在持续积极开发吗?一个好的框架是需要结合最新的网络技术不断升级的,特别是关于移动方面的技术。
-
这个框架已经成熟了吗?如果一个框架尚未在实际项目和测试中使用,那么你可以随意玩,但依赖它做专业项目就不太明智了。
-
这个框架提供良好的文档吗?良好的文档总是能为你的学习过程提供便利。
-
这个框架的特异性程度有多高?这里的要点是,相比一个特异程度高的框架,使用一个更通用的框架要容易得多。在大多数情况下,最好选择一个最小风格 的框架,因为它更容易定制。相比重写或覆盖现有的规则,添加新的CSS规则是更方便和高效的流程。另外,如果你在现有框架的头部添加新规则,那么你将可能 会留下一些不被使用的规则,这将增加不必要的CSS文件的大小。
最后,如果你仍然不确定,可以采用混搭方式。如果一个特定的框架不满足您的需要,您可以从两个或两个以上的项目来混合组件。例如,你可以从一个框架得到较小的CSS样式基础从另一个框架得到一个优秀的栅格系统,再从第三个框架获得更复杂的组件。模块化万岁!:)
你的想法是什么呢?这些框架有什么优点和缺点是这里没有提到的呢?你认为还有其他问题是应该被列出来的吗?在下面的讨论中可以让我们获悉。
(责任编辑:IT) |