ExtJS和BootStrap,有些疑问

2013-07-27 22:16:55 +08:00
 Ricepig
在Web开发中,ExtJS和BootStrap是典型的两类UI库。ExtJS代表着对于富客户端(尤其是windows客户端)的模拟,而BootStrap则是网页本来应该有的样子。

我的疑问是,既然是Web开发,类似于BootStrap的框架应该只主流,用户看到的Web应用程序就应该是Web应该有的样子。但是为何ExtJS和EasyUI此类的框架还具有强大的生命力呢?

我能想到的唯一因素就是:用户习惯。但是即使是ExtJS这种模拟得相当好的,也和原生富客户端有一定区别吧。
22135 次点击
所在节点    程序员
24 条回复
darasion
2013-07-27 22:20:46 +08:00
我认为,主要是看开发者会哪样。
如果开发者会ExtJS比较多一点,就倾向用ExtJS;如果开发者觉得bootstrap更好用,则倾向使用bootstrap。

用户才不关心这个,只要看起来好看好用即可。
Ricepig
2013-07-27 22:23:55 +08:00
@darasion 其实我是想问,用户觉得哪个好用
darasion
2013-07-27 22:25:08 +08:00
@Ricepig 那这要看你的设计是否合乎用户的胃口了。我觉得。
pandada8
2013-07-27 22:26:48 +08:00
基本就是Win8 Metro风格和VB拖出来的程序来比较……
Ricepig
2013-07-27 22:26:48 +08:00
@darasion 我的意思是bootstrap这种设计是更符合用户胃口呢,还是extjs
lichao
2013-07-27 22:27:30 +08:00
应用场景不太一样,bootstrap 适合传统的 web 应用,extjs 适合 b/s 版的 erp 软件,不冲突啊
Ricepig
2013-07-27 22:28:15 +08:00
@pandada8 还真不是这样,vb使用devexpress就能拖出metro。

但是bootstrap和extjs风格差太多了
Ricepig
2013-07-27 22:28:58 +08:00
@lichao 那我的问题就是,extjs为什么更适合erp?
darasion
2013-07-27 22:33:40 +08:00
@Ricepig

实际上最后还是开发者引导用户做决定,

假设我用bootstrap很熟了,extjs从来没看过,我肯定把bootstrap的东西设计的相当好看好用,extjs弄出来的很丑陋,然后沟通时话里话外肯定大谈bootstrap的好处,没事贬低一下extjs啥的,然后用户通常会接受“专家”的意见。。然后就没有然后了。

哈,所以选啥东西,还是在于某些主观倾向。

客观上讲,也许用啥都无所谓的。
lichao
2013-07-27 22:34:07 +08:00
@Ricepig 因为 [ExtJS代表着对于富客户端(尤其是windows客户端)的模拟]
另外 extjs 出来得比 bootstrap 早好多年,我们公司的 OA 就是用的 extjs
Alexisused
2013-07-27 22:38:30 +08:00
EXTjs 对于开发那种复杂的后台管理系统来说非常快捷 能节省非常多的时间。不过够慢够难看
Ricepig
2013-07-27 22:49:43 +08:00
@lichao 除了用户习惯,没有别的了吗?
Ricepig
2013-07-27 22:50:08 +08:00
@Alexisused 慢是什么原因造成的?是页面堆积了太多html element吗?
Ricepig
2013-07-27 22:50:38 +08:00
@darasion 也许是吧,尤其是行业用户,可能他们觉得无所谓,完成功能是最主要的。
lichao
2013-07-27 22:58:51 +08:00
@Ricepig 就我平时的直观感觉而言,ERP 应用往往表格类的需求多一些,这正是 ExtJS 的强项,也是 Bootstrap 的弱项。另外,ExtJS 在低版本的浏览器上表现的也还行,即使是 IE6

当然也有传统的 Web 应用使用 ExtJS 的例子 -- Youku,几年前在 Youku 的代码中看到过少量使用 ExtJS 的组件,现在不清楚了
binux
2013-07-27 23:06:19 +08:00
如果用Bootstrap,交互完全自己写,那用不用Bootstrap不是一样的吗
Ricepig
2013-07-27 23:16:20 +08:00
@lichao 嗯,grid是一个很大的加分,基本上企业应用全是各种表格。
Ricepig
2013-07-27 23:17:02 +08:00
@binux 基本上extjs也就是一些窗口效果,还有grid封装了一些,其他和bootstrap类似吧
davepkxxx
2013-07-28 06:04:51 +08:00
不过extjs是收费的。
jjx
2013-07-28 11:22:05 +08:00
两者都在用, 其实对于做应用而言,两者均不完美

extjs 使用时完全可以不懂css (当然懂了就加分了),只要熟悉extjs 的方式(1是类的创建和继承,其次是用layout布局,用json构建ui),就可以像写桌面一样写(当然,那些习惯windows forms拖拉控件的人同样是不会适应的)

extjs 的问题在于桌面的观感, 写的时候会朝桌面应用的行为靠,比方说双击就是典型的桌面应用的行为,当然这在移动浏览器中是不支持的
其次是sencha的策略, extjs 对移动浏览器的支持是不够的,你写的extjs应用,直接上移动浏览器通常是会有问题的,一种是你的桌面的一些行为,比方说双击,或是ui的大小之类的,在移动浏览器上表现不好或支持不够,其实是extjs在移动浏览器上的性能不佳,ui不适合触摸。 这样,逼着你使用touch重新再构造一次移动的支持。不像基于jquery的方案, 你的应用,用移动浏览器也是勉强可以应付的。
第三是ui的单调,很快会审美疲劳。虽然官方现在有海皇星,但个人使用感觉直接套用效果反而很差,你必须从头构造你的ui才能用上,这样就失去了它存在的意义。


基于jquery的方案,比方说kendo ui/wijmo或是国内的easynewui之流, 大量的时间会花费在ui 构建上, 这里,过多的选择反而是不好的事情,因为你不像extjs那样不用选择,你可以做出任何的效果,结果,你的大量时间花在布局上。 其次, 针对数据的操作远不如extjs来的直接, 比方说树上点击一个节点,取得node绑定的数据对象,基于jquery的ui framework都实现的不直观。如果不讨论angularjs 这种绑定怪胎(angularjs得确很厉害,但angularjs和ui framework的结合是个问题,除非你不考虑ui framework)。 extjs 的data->控件的绑定是最符合应用开发的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/77173

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX