`
littcai
  • 浏览: 248048 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

Mootools前景?拿来主义VS重复发明轮子

阅读更多

    一段时间没来了,一直忙于底层应用的开发,Web端反而少了。很想说一些关于JS框架和Mootools的话。看到各大主流技术网站包括Javaeye在内,目前讨论的最多的是EXT,其次是Jquery,Mootools基本处于无人问津的地步,为什么?
    为什么那么多的人热衷于EXT和Jquery?
    我认为这是由于国内的技术底蕴影响的,国内使用的大部分技术都来源于国外,自主研发的很少,从Hibernate到Spring到EXT,太多的人喜欢拿来主义,喜欢现成的东西,想着配几个参数就完成一个功能,调用一个ANT命令就生成整个项目的源码。我觉得非常的悲哀!
    为什么那么多人用EXT?不就是EXT是一个完整的WebUI,不用你去写复杂的JS+CSS控制页面呈现,不用你去想一棵树是如何实现的、一个表格是如何实现的...开箱即用,不用去学复杂的JS,不用去学CSS,不用去学DHTML。
   为什么那么多人用Jquery?不就是Jquery有很多的插件嘛,虽然不像EXT那样大包大揽,按需使用,但同样面对着深度的封装,想改?门都没有(当然你可以走窗子)  
   然而大家都不想想使用了这些现成的东西之后发生了什么???一个EXT的页面,再也看不见HTML标签,body下面空空如也,取而代之的是一大堆的js脚本,哪个美工看得懂?所有的东西全部被封装了,如何维护?一有问题,只有Google一下,在汪洋大海里寻找答案,找不到也只能等待EXT开发小组发现这个问题然后解决。同时随着框架版本的升级,出现兼容性问题,如果你想升级,意味着你要重新学习这个框架,并对整个项目代码的重构(注意:因为页面都是框架生成的,意味着每个功能代码都需要重构并测试!)
   浏览器里你看到了什么?文字+图片+HTML(不是EXT,不是Jquery,也不是Mootools),这也就是我最后的观点:从基础学起,职责分离。页面呈现就是美工的工作,要想让呈现丰富起来,就要去学习HTML、CSS、JS,就要自己去控制它,即时不那么完善,起码你知道原理,遇到问题的时候也好处理。 
  Mootools是一个很好的核心框架,有她就够了。想要什么?自己写!

 

PS:一点愚见,欢迎大家讨论,切勿抨击。同时欢迎喜欢Mootools的人加入《Mootools圈子》,地址:http://mootools.group.iteye.com/

分享到:
评论
42 楼 littcai 2009-02-27  
oleiowang 写道
EXT 本来就是要将美工的责任分离出去给程序员 , 这样即能为公司节省费用,又能够提高开发效率,何乐而不为,你说的从基础做起,一点都没错


公司成本是省了,开发效率是提高了。只可惜程序员也只懂EXT的API了,初级点的甚至只懂复制粘贴了...

N年前招聘条件上要求懂JSP.
N-M年前招聘条件上要求懂Struts

今年招聘条件上要求懂EXT

明年呢?后年呢?作为程序员,为了自身的福利,还是多学学底层的吧,掌握了真正的技术才是自身的竞争力



41 楼 littcai 2009-02-27  
beitongmoming 写道
一直用mootools,非常的OO,大家讨论mootools确实比较少,可能是用mootools都注重底层开发了吧,所以都比较低调。呵呵。

顺便说一句,mootools的UI非常的丰富,上mootools官网 http://www.mootools.net/ 然后在右下有一个链接 Unofficial MooTools Forum 这里面有你想知道的一切。其中有一个模块叫 Your Script.这里面就是大家写好上传的UI类,常用的里面基本都能搜索到.

另外最近项目中用到了MochaUI(http://mochaui.com/),mootools写的基于canvas的布局框架,用的非常爽,喜欢的看下.


MochaUI这个东西我也看了一下,看它主页上的演示也非常的炫,组件上基本和EXT有一拼。当时看了就下载下来想应用到系统中去了。但实际使用过程中出现了以下几个问题:
1、底层使用的是canvas标签,在IE下要额外加载一个excanvas脚本。canvas是HTML 5标准规范的一部分
2、同EXT一样深度封装了,要学它的API,要改很难,控制上不灵活

局部应用的话会让人有惊喜的感觉,但真正想用好还需要花点时间,适合骨灰级玩家。像我这样的菜鸟就放弃了...
40 楼 beitongmoming 2009-02-27  
一直用mootools,非常的OO,大家讨论mootools确实比较少,可能是用mootools都注重底层开发了吧,所以都比较低调。呵呵。

顺便说一句,mootools的UI非常的丰富,上mootools官网 http://www.mootools.net/ 然后在右下有一个链接 Unofficial MooTools Forum 这里面有你想知道的一切。其中有一个模块叫 Your Script.这里面就是大家写好上传的UI类,常用的里面基本都能搜索到.

另外最近项目中用到了MochaUI(http://mochaui.com/),mootools写的基于canvas的布局框架,用的非常爽,喜欢的看下.
39 楼 oleiowang 2009-02-27  
EXT 本来就是要将美工的责任分离出去给程序员 , 这样即能为公司节省费用,又能够提高开发效率,何乐而不为,你说的从基础做起,一点都没错
38 楼 Satan 2009-02-27  
我已经开始感受到过度封装的痛苦了。
等我走了,且看谁来维护,让他感受一下我的痛苦。
37 楼 IT_bird 2009-02-26  
现在是什么时候了,经济危机啊。估计现在所有的软件公司首先考虑的就是如何节省开发成本。如果让开发人员自己来写大量的js、css、html的话,那么项目的开发周期难免就会被拉长,而精通这些技术的开发人员身价也不便宜。使用成型的框架效果就不一样了,既简单又快速,而且就算是普通程序员,学一个星期,保证OK。现在不是大吃小的时代了,现在是快吃慢的时代。当然,如果客户对页面展现没什么要求,那就一切都好办了
36 楼 tongyi121 2009-02-26  
其实都是个度,就现在来说,我觉得js的框架够多了,不需要再去发明了,就现在来说这么多轮子已经让人不好选择,现在来说应该是要帮助现在的这些轮子变得质量更好才是出路。不要为了发明轮子而发明轮子。
35 楼 littcai 2009-02-26  
fuwang 写道
楼主把jquery和EXT相提并论,这是不对的。
jquery和mootools是差不多的东西,都是轻量级的。
建议看看http://www.iteye.com/topic/259282里sp42对js框架的分级(在首页的底部)


把sp42的观点粘了过来
fuwang 写道

如果从框架角度分级的话,可以有以下分类:
零级,完成base工作,包括扩展原有对象的方法,Ajax通讯部分,比较精简
一级,完成effect工作,包括增加常用效果转换函数,如tween、drag、maskLayer、fade等的特效
二级,完成component工作,包括对话框、列表、树、日历等的组件
三级,完成application工作,包括完整的前端平台,允许用户定义能实现一定功能的模块
一些UI控件和开发框架只做零级Prototype.js,和一级jQuery/Mootools;一些做到了三级,如Dojo和EXT。


这个我是比较认同的,从中也可以看出现在各框架的受欢迎度:
EXT > Jquery > Mootools

★EXT : 完整UI,布局跟组件都有现成的例子,拿来抄抄改改就可以了,脚本和样式全不用动;但想要增强很难
★Jquery : 一级,但其有很多现成的二级组件,也是拿来抄抄改改就可以了;但其组件由于零散,且实现方式各异,需要花时间调试及整合一起
★Mootools : 以OO方式很优雅的完成了一级的工作;但其现成的组件不多,目前为止网上有几个完整的UI实现,但有的是IE only的,要么bug多多,基本无法拿来直接做系统。

一般一个正规点的系统开发模式是这样的:
1、最初由美工画好页面-->切割-->用CSS改进-->静态页面
2、由业务需要,由懂JS+CSS+DHTML的人修改动态的、交互的部分,如树、层叠菜单等
3、加入业务操作部分,如JSP代码、PHP代码、AJAX等

    从这里我们可以看到,EXT是完全颠覆了这个模式。主要是省掉了美工和那个懂DTHML的人,在某些资金有限的小项目或个人项目中,使用EXT确实省了很多钱、时间、人力。但这样的项目的可持续性和可发展性也是有限的,因为完全被框死了。同时,由于EXT的加载问题,及有限的带宽,第三部分基本只能用AJAX来实现,原来基于表单提交的方式将不再适用于EXT环境。
    如果改用Jquery呢?美工就省不了了,能省的是第二部中一些组件的创建。当然很多时候这些组件是满足不了要求的,这意味着你要研究它的源码,能改则改,改不了还只能自己写。
    最后是Mootools的情况,可以完全不用动这样的开发模式,美工只管界面画的好看,最后的静态页面还是老样子。在第二步中,编写基于Mootools的渲染组件,数据结构和渲染方式根据实际需要设计。业务操作部分该什么样还什么样,职责分明。(Jquery的核心与Mootools相同,两者各有优缺点)
   
  
34 楼 vtrtbb 2009-02-26  
我个人认为js框架都是鸡肋,实际我们需要的并不是里面所有的东西,合适的自己写几个就行了,当然ext还是很炫的。
现在我基本不用什么prototype,jquery,dwr 可能是我用不明白吧,呵呵,本人比较笨。因为seam 或是jsf里我直接用了richface,a4j等,代码很优雅,实在需要的时候自己就写一个了,不会满视野都是$()....等,感觉现在是框架的年代了,就像一个朋友说:java的作用不是别的,而是搞出了一堆架构和他们的师,从此,IT界以架构文明。。。。。
33 楼 fuwang 2009-02-26  
楼主把jquery和EXT相提并论,这是不对的。
jquery和mootools是差不多的东西,都是轻量级的。
建议看看http://www.iteye.com/topic/259282里sp42对js框架的分级(在首页的底部)
32 楼 changkunyang 2009-02-26  
我本人是做J2EE应用的,从当初的EJB热炒到Spring到Hibernate到Struts,有哪个是国人写的?EJB不炒了,全部改成Spring的,struts1不炒了,全部改成struts2
现在炒EXT,过两天出来一个更流行的,EXT的项目全部作废...过两年还有谁来维护?

对于楼主的这一观点深表赞同。
31 楼 littcai 2009-02-26  
tongyi121 写道
为什么提倡发明轮子呢?等到到处是轮子的时候,我们就无从选择了,我觉得应该专注,集大家之力,去专注于几个轮子就行了,我们可以改造轮子,但不要再去学习怎么制作橡胶,怎么制造钢铁,重复发明轮子又有什么进入,重复研究前人的研究,终究不会又太大的进入,拿来怎么啦,我觉得拿来很好,只要是选择性的哪来。Mootools就是一个拿来主义的产物,关代码层次来说就写的非常优雅。



轮子是哪里来的呢?还不是前人发明出来的呢。我可能一开始的观点不太明确,拿来主义重复发明轮子其实无所谓对错,关键是我们怎么去对待,怎么去寻找这个度,不能一味的拿来主义或者一味的发明轮子。拿来主义减轻了我们的重复劳动,但你同样要学习它;重复发明轮子是提高,是创新。拿来的再多,也不是你自己的,只有深入进去,自己发明,才真正是自己的东西。
30 楼 kkito 2009-02-26  
jquery不够oo,有点不适应
mootools应该是针对prototype的改进吧
用prototype的可以试试
29 楼 leton2008 2009-02-26  
我感觉mt应该跟jquery差不多。可能更多是jquery在插件的发展上要比mt要好。并且现在jquery的UI发展也不错。
28 楼 littcai 2009-02-26  
javaTo 写道
lz 做的 widgets 样式有待改进

http://code.google.com/p/mxui/


兄弟的作品做的很不错啊。我从事的企业应用,主要是服务器端的,Web方面一个是自己的兴趣、一个是老外的东西拿到国内的业务系统中功能经常满足不了,还不如自己写自己完全掌控,在使用了众多框架之后才选定Mootools的。我的美术水平是很烂的:)
27 楼 littcai 2009-02-26  
eric860 写道
LZ是来宣传Mootools的,直说不就得了。

"Mootools基本处于无人问津的地步,为什么?"

这是为什么呢?这个问题恰恰是LZ应该好好想的。


Mootools无人问津就是因为她只是个核心包,她的网站上没有各种各样的插件,没有漂亮的UI。而做系统的人大都想一步到位,只关心结果,不关心过程,就出现EXT风行的现象了!可有多少人对EXT深入了解的?就算了解了又怎么样?Web里本身还是JS+CSS+HTML。

就像Java中Spring只是个框架,具体系统设计成怎么样,分几层,各层的职能是什么还是由你说了算。过度的封装最后导致的只是昙花一现。

我发这个帖子,除了想宣传一下Mootools一下之外,更想和大家深入探讨一下其根源,以小见大。
26 楼 littcai 2009-02-26  
microboat 写道
做B/S系统的主要精力是业务逻辑分析,当然不能把时间浪费在UI上,所以用Ext是合适的。做网站主要是美观,内容、速度,当然就选轻量级的框架Mootools啦。


无论什么系统,核心都是业务,不然界面做的再美也没用。EXT的界面诚然很美,有很多控件,很多皮肤,但是客户(或者用户)不会关心你后面用什么写的,他只关心你能不能满足他的要求。我个人认为选EXT完全是偏技术的架构师或主管导向的,或者是个人追求新鲜事物,不能拿上台面。如果职责分明的话,UI完全就是美工的事,而哪个美工能精通JS+CSS+DHTML,更不可能深入研究EXT...
25 楼 foxlee 2009-02-26  
用什么都可以了,就看自己的团队怎么选择了,用哪个都可以,这两个都是基本的框架,最近发现mootools对一些对象的封装造成了一些问题,好像和瑞星有冲突。
24 楼 fuwang 2009-02-26  
janpoem 写道
终于看到这样的帖子了,个人认为,jQuery就是一堆垃圾。完全不觉得用jQuery写应用有什么好处。

自从两年前就一直在使用Mootools了,从1.0到现在,感觉MT越来越成熟,用得越来越顺手。


那也可以这么说:
终于看到这样的帖子了,个人认为,Mootools就是一堆垃圾。完全不觉得用Mootools写应用有什么好处。
自从两年前就一直在使用jQuery了,从1.0到现在,感觉jQ越来越成熟,用得越来越顺手。


可这么说又有什么意义呢。jQuery和Mootools都是非常优秀的轻量级js框架,使用其中一个即可,至于使用哪一个,有时候并不是个人能决定的,因为你在一个公司的团队里面。

23 楼 jalx 2009-02-26  
一直用mootools,简单,OO, 够用, 插件也很好.
不喜欢太杂乱的东西, 认为一个框架该做好的是本职工作.

相关推荐

    mootools

    这个库的设计理念是为开发者提供一种优雅、高效的方式来编写可维护的前端代码,它强调代码的组织结构和模块化,使得大型项目能够更易于管理和扩展。 MooTools的核心特点包括: 1. **面向对象编程**:MooTools基于...

    mootools详细教程chm

    MooTools 是一个轻量级且功能强大的JavaScript库,它提供了一种优雅的方式来处理DOM操作、事件、动画效果以及Ajax交互。这个“mootools详细教程chm”包含了丰富的资源,旨在帮助开发者深入理解和熟练运用MooTools。 ...

    Mootools 1.2.1 API 文档

    对于Joomla开发者来说,理解并熟练使用Mootools API不仅能够提高开发效率,还能确保代码的健壮性和性能。通过阅读Mootools.doc文档,你可以深入学习每个模块的详细用法,掌握如何编写高效的Mootools代码,同时了解...

    mootools tree and table

    首先,让我们来了解一下MooTools的核心概念。MooTools是一个轻量级的JavaScript库,其设计理念是模块化和面向对象。它提供了丰富的API,包括DOM操作、事件处理、动画效果以及各种UI组件。MooTools的类系统允许开发者...

    MooTools 帮助文档 中文

    MooTools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的JavaScript代码。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的...

    MooTools1.4中文PDF手册+MooTools-Core-1.5.1.js

    MooTools是一款强大的JavaScript库,它提供了一套优雅的面向对象的编程接口和实用的工具集,便于开发者创建高效、可维护的Web应用程序。MooTools 1.4中文PDF手册与MooTools-Core-1.5.1.js是学习和使用MooTools的核心...

    mootools 1.2 中文文档

    MooTools是一个轻量级的JavaScript库,设计思想源自于Prototype,但两者在实现和功能...对于那些觉得Prototype过于陈旧的开发者来说,MooTools 1.2是一个理想的替代选择,它以其高效、简洁的API赢得了开发者们的喜爱。

    mootools开发手册中文版

    MooTools 是一个轻量级且模块化的JavaScript库,它为Web开发提供了丰富的功能和工具。这个"mootools开发手册中文版"是针对MooTools 1.1.js版本的详细指南,旨在帮助开发者更好地理解和使用这个JavaScript框架。本文...

    Mootools1.2.3各版本下载

    - **DOM操作**:MooTools提供了简洁的API来选择、遍历和操作DOM元素,如 `$`, `$$`, `Element` 和 `Elements`。 - **事件处理**:通过`.addEvent`和`.removeEvent`方法,可以方便地添加和移除事件监听器,支持事件...

    mootools源码分析.rar

    MooTools是一个轻量级的JavaScript库,以其模块化、可扩展性和高性能著称。它提供了许多实用工具和功能,使Web开发更为便捷。通过对"Mootools源码分析"的深入探讨,我们可以了解到这个框架的核心设计理念和实现机制...

    MooTools帮助文档api

    MooTools 帮助文档 api ajax

    mootools 弹出框

    MooTools 是一个轻量级的JavaScript库,它提供了一系列强大的工具和方法来帮助开发者构建交互式的Web应用程序。在MooTools中,弹出框(通常称为“对话框”或“提示框”)是一种常见的用户界面元素,用于展示信息、...

    mootools.js插件 1.4.5 core下载.zip

    比prototypejs更丰富、更强大的mootools.js插件 1.4.5 core下载。mootools.js可以生成较为复杂的、动态的网页交互效果,和jquery一样强大。。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似...

    mootools框架入门教程

    mootools框架是一个功能强大且灵活的JavaScript框架,它提供了许多实用的方法来简化DOM操作和ajax开发。下面将对mootools框架的Element篇进行详细的介绍。 Element篇 Element篇是mootools框架中最基础的部分,它...

    Mootools v1.11 文档 pdf html Mootools v1.2.1 js

    首先,我们来详细了解一下MooTools的核心特性: 1. **模块化设计**:MooTools遵循CommonJS规范,采用模块化结构,允许开发者按需加载所需的功能,减少页面加载时间,提高性能。 2. **链式调用**:MooTools的一大...

    MooTools Mocha UI 最新版

    MooTools Mocha UI 是一个基于MooTools JavaScript库的高级用户界面框架,专为Web 2.0时代设计。这个框架的主要目标是提供一种方式,让网页开发者能够创建出具有桌面应用程序般用户体验的交互式网页。MooTools本身是...

    mootools-release-1.11

    MooTools 是一个轻量级且模块化的JavaScript库,它为Web开发提供了丰富的功能和工具。"mootools-release-1.11"是MooTools的一个特定版本,发布于2010年,旨在提供稳定性和兼容性的更新。这个版本在当时是一个重要的...

    mootools入门教程1

    MooTools 1.2 入门教程 MooTools 1.2 是一个强大的轻量级的 JavaScript 库,专门为减轻 Web 中交互性 JavaScript 开发。它可以让开发者轻松地实现 Web 交互效果,例如, morph(变形)和 tween(补间动画)等动画...

    mootools教程

    MooTools是一个强大的JavaScript库,它提供了一系列工具和方法,帮助开发者更加高效地进行Web页面的开发和DOM操作。在MooTools中,Element是最基本的类,它封装了大量DOM操作,使得JavaScript代码更加简洁易用。这篇...

    Mootools UI 框架

    Mootools UI 框架是一个基于Mootools JavaScript库的用户界面开发框架,它为开发者提供了一系列强大的组件和接口,使得构建富互联网应用程序(RIA)变得更加便捷和高效。Mootools本身是一个轻量级、模块化的...

Global site tag (gtag.js) - Google Analytics