Semantic-UI和其他几个前端框架

本来是想介绍Semantic-UI的,但如果只介绍这个框架,没什么内容,框架相关feature站点上有不需要说,所以干脆列出自己常用的几个前端框架,算是做个阶段性总结。

本文的核心是侧重于HTML/CSS的框架,JS框架或以JS为核心的框架不讨论(比如YUI);多屏已是既定事实,虽然不是所有开发都要考虑自适 应,但有自适应功能至少说明了这框架短期内不会被淘汰,所以不带自适应功能的框架不讨论(比如flaminwork);非开源、不可商用,或是需要付费的 框架不讨论(比如easyframework)。

先说Bootstrap,这两年都在用它,如今 Bootstrap有点烂大街了,难免有些审美疲劳。但想想在Bootstrap这种框架出现之前,程序员做的界面实在是惨不忍睹,如今至少升级成“还能 看”的级别了,所以“泛滥”这个问题是瑕不掩瑜的。平时开发个小工具用它来做界面,写个底层脚本用它来做文档界面,工作环境中也可以用来做原型或是布局, 谁都看得懂没什么学习成本。总体来说,这个框架对于互联网的美化实在是功不可没。

Bootstrap的优点是拿来就能用,节省时间。缺点是class满天飞(也许你看到这篇文章的时候它已经变好了但不影响我现阶段的吐槽),而且不够语义化,也不适合做定制——最多改改颜色,如果对自适应有定制需求可以考虑用Foundation
替代。这个框架我最初是用来写产品原型的(这个用途现在已经被Bootstrap替代了),结果到3.0版Foundation更改Title为“全世界
最先进的前端自适应框架”(most advanced responsive front-end framework in the
world),是否最先进有待商榷,但它在自适应方面的定制性确实比Bootstrap好,Bootstrap有的控件它都有。

我没在生产环境中用过Foundation,12年6月它由原型工具转型成前端框架时,Bootstrap已经很流行了,有Twitter做技术后
盾,不太可能说服程序员转向Foundation。现在的4.0版本用Zepto替换了jQuery,如果项目中在用Zepto可以考虑用它代替
Bootstrap。

接下来才是本文的重点——Semantic-UI。这名字就是它最主要的卖点了:语义化。Semantic-UI比Bootstrap更语义化,使
用了更容易理解的标签名称:导航的是nav,主要内容的是main,class名也很明确,而且不像Bootstrap需要套很多层。Bootstrap
很通用,兼容性很好,甚至能兼容低版本的IE,Semantic-UI则更Geek,有不少CSS3的特性,比如ShapeReveal就很有趣。从界面设计风格来说,Semantic比Bootstrap(2)更扁平化:

这些特性都很fancy,但我现在用Semantic-UI替换Boostrap,主要是因为它的JS插件(Modules)更容易操作,预设了一些常用动画,视图(Views)中的评论(Comment)和动态信息(Feed)
实在是帮了大忙。反正我需要用到的Bootstrap功能它都有,于是欢乐的更换了Semantic-UI。大多数的样式效果Semantic-UI都比
Bootstrap代码量少,在相同的熟练程度下开发起来比Bootstrap快。而且提供多种主题,一定程度上避免了Bootstrap千站一面的问
题。

再找找缺点,我刚开始用的时候,被Semantic-UI的Grid
过。自适应的问题,bootstrap通过md/sm/xs定义在不同屏幕宽度下的显示,虽然麻烦,但容易控制。Semantic-UI是用
Stackable/Doubling来实现,而且还能手动调整,不知不觉就被玩坏了。似乎这个框架的设计接近Ruby的哲学而不是Python的,同一
个需求有多种方式来实现,比如我要实现列表,可以用List或是Items;要实现侧边栏,可以用Rail或是Grid,选择多了有时候也是很纠结的问
题。还有,Semantic-UI完整的库文件很大,JS+CSS文件有接近500kb的大小,考虑到国内的网速,这个体积显得有些庞大了。可以用
NodeJS自己build,前提是清楚每个组件具体是干嘛。

以上框架适合擅长实现功能(前端的JS以及后台相关交互)但不擅长设计的程序员,用以上框架可以快速做出一个不错的Web界面。另一种场景是自己会设计,或是由专业设计师出设计,再转成HTML/CSS,上述框架就太重了,很多功能用不上。

这种情况我通常只需要框架来做布局(Grid),10年写过一篇文章介绍网页设计多用960px宽度的原因,当时还在用960gs,但自适应的需求960gs满足不了,就用了一段时间的lessfreamwork。最近960gs的作者开发了unsemantic,于是又换成了unsemantic。在编写自适应网页时,要根据设备的不同加载不同的css文件,unsemantic都替你切分好了,省时省力。

最后得说说Topcoat,可以认为 Semantic-UI - unsemantic = Topcoat。有时候只需要一个单页面,甚至都不需要导航条,我是用Topcoat+布局类框架来做的。Topcoat可以让各类页面元素更美观,纯css实现,文件小,更灵活也更容易定制。

以上,再次强调本文的目的是布道用,在开发个人项目的程序员们可以考虑尝试Semantic-UI,前端框架的更换风险小,有更多地小白鼠,不,实际用户之后才更利于这个框架被用于生产环境中。需要例子可以参考:Erya - 基于SemanticUI + Django的内容发布系统,DEMO地址是: http://bbs.dmyz.org/

http://dmyz.org/archives/548

时间: 2024-10-09 17:36:17

Semantic-UI和其他几个前端框架的相关文章

前端框架之Semantic UI

前记 今天,又一轮的实训开始了.意味着最后一个暑假结束了.马上就步入大四了,搭上了大学的最后一班车.开学后意味着新挑战,有许多技术等着自己去学习.今天,老师教了我们一个前端新框架---------Semantic UI.我把自己学到的与大家分享! Semantic UI—完全语义化的前端界面开发框架,跟 Bootstrap 和 Foundation 比起来,还是有些不同的,在功能特性上.布局设计上.用户体验上均存在很多差异. Semantic UI 特点: 文档和演示非常完善 易于学习和使用 配

160908、前端开发框架Semantic UI

简介 网页开发中,CSS控制网页样式.作为测试开发工程师,我个人不太擅长手写CSS.样式微调.兼容浏览器等工作,所以我选择使用成熟的前端框架,可以快速开发出样式美观的网站,也解决了大部分浏览器兼容问题.前端框架百花齐放,我们公司的产品使用了Bootstrap,我个人使用的是Semantic UI. 安装Semantic UI 首先需要安装node.全局安装gulp(我使用的是Mac环境): brew install node sudo npm install -g gulp 然后进入项目的静态文

前端框架汇总

Semantic UI Semantic UI-完全语义化的前端界面开发框架,跟 Bootstrap 和 Foundation 比起来,还是有些不同的,在功能特性上.布局设计上.用户体验上均存在很多差异. Semantic UI 特点: 文档和演示非常完善 易于学习和使用 配备网格布局 支持 Sass 和 LESS 动态样式语言 有一些非常实用的附加配置,例如inverted类. 对于社区贡献来说是比较开放的. 有一个非常好的按钮实现,情态动词,和进度条. 在许多功能上使用图标字体. Seman

目前几款基于html5的前端框架:如Bootstrap、Foundation、Semantic UI 、Amaze UI

Bootstrap是由Twitter在2011年8月推出的开源WEB前端框架,集合CSS 和HTML,使用了最新的浏览器技术,为快速WEB开发提供了一套前端工具包,包括布局.网格.表格.按钮.表单.导航.提示,其核心就是基于Less框 架构建的CSS.Bootstrap框架拥有美观的样式和封装完善的JQ插件,使用方便,基于Bootstrap的扩展也很多,这是其他框架所无法比拟 的,也是其最受欢迎的条件之一. Foundation宣称是世界最好的响应式前端框架,默认支持5种网格布局,是三款框架中最

Javascript库,前端框架(UI框架),模板引擎

JavaScript库:JQuery,undoscore,Zepto 纯Javascript语言封装, 前端框架(UI框架):Bootstrap,Foundation,Semantic UI,Pure.css 前端框架.UI框架,或者叫UI模板 HTML + CSS + (JavaScript)? 模板引擎: 叫HTML模板引擎?  模板文件(HTML)+(CSS)?+数据(JSON) =输入=> 模板引擎  =输出=>HTML (客户端)前端模板引擎(渲染),(服务器)后端模板引擎(渲染)

Amaze UI web mobile 前端框架

目录结构 index.html - 空白 HTML 模板: blog.html - 博客页面模板(预览): landing.html - Landing Page 模板(预览): login.html - 登录界面模板(预览): sidebar.html - 带边栏的文章模板(预览): 在 app.css 中编写 CSS: 在 app.js 中编写 JavaScript: 移动端首选 Zepto,桌面端选 jQuery,这应该是大多数开发者的共识.那对于跨平台的响应式网站呢? Zepto 体积小

云适配将推出中国首个开源 HTML5 跨屏前端框架 - Amaze UI

云适配,这是一家能以一行代码将你的网站移动化,实现网址不变且内容实时自动同步的服务提供商.云适配所采用的技术是一项基于云计算.利用html5进行网站跨屏适配,它为目标网站开发一行JS代码,并嵌入PC网站,这个JS代码通过对PC网站目标网页数据的分析和抓取,在云端完成用户当前设备的网页最佳展现方式的计算,最后在浏览器端实现html结构的重排及CSS的重新渲染,以适应移动端用户的浏览习惯. 在他们用一行代码做适配的过程中,积累了一套跨屏的前端常用网页组件,而最近,他们想把这套组件开源出来,将这套组件

手机前端框架UI库(Frozen UI、WeUI、SUI Mobile)

Frozen UI 自述:简单易用,轻量快捷,为移动端服务的前端框架. 主页:http://frozenui.github.io/ 开发团队:QQVIP FD Team Github:https://github.com/frozenui/frozenui Demo:http://frozenui.github.io/frozenui/demo/index.html WeUI 自述:WeUI是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一. 开

【ui】amazeui前端框架

amazeui Amaze UI是一款较全面的轻量级 (更适于mobile,但也可以用于web)的前端框架. 她综合了业界一些优良插件,直接拿来用而不用一个个去搜索

HTML5前端框架Amaze UI全面开源

近日,国内首个开源 HTML 5 跨屏前端框架 Amaze UI 开放下载体验. Amaze UI 是一个针对 HTML 5 开发的轻量级.模块化.移动优先的跨屏前端框架,通过拆分.封装了一些常用的网页组件,比如轮播图框.文字框等等组件,让前端开发者只用复制代码便可以将这些跨屏的组件写入自己的网页中,而不需要自己在开发的过程中重写一遍. 该框架的特点是 mobilefirst,解决 Web 应用从 PC 向多屏适配的问题,兼容国内主流浏览器和平台,并且专注解决中文排版优化问题,受到不少国内前端开