关于muse类库
从我的上一个类库mk到现在,已经有一年的时间了。这段时间里,mk类库并没有更多的发展,因为大部分功能都用不到。更多的,我是在写一些独立的ui控件的类。也是在写这些类的同时,我开始厌烦那些重复的代码:不停地for/while/if;不停地查阅资料,翻看以前的代码。我总是忘的,因为js不是我唯一、主要的工作,甚至算不上我的周边工作。周围的人没有人知道我在写js、研究js,甚至他们会提到web2.0,会约摸着说ajax,但他却不知道Javascript和Java的关系,甚至不知道什么是js。
此外,在一些技术群里,我发现开始使用jQuery的人越来越多,并且jQuery越来越成熟,越来越易用。但是一些苛刻的使用者仍然觉得,这个类库的大小和所需要实现的功能之间,没有很好的平衡。或者说,我只用到一两个函数(方法),但是却要加载一个70k的包,太不值得。
而且,期间出现了jsExt。虽然我很不喜欢这种庞大得象个怪物的东西,但是我很欣赏它这种做派:为了好看,不择手段。就算jQuery,也不是人人都喜欢,我何必非要难为自己要控制在多少k呢?它把取舍的问题抛给用户,是个聪明的做法。
在一次讨论中,一个朋友希望我能做一个类似ext中的布局框架的东西。原因很简单:用frame的话,框架间传递参数太麻烦了。我简单地做了一个实现,虽然在ie6下有很多问题,而且美工方面着实雷了那人一下,但是这其中的一些经验和代码,我却非常想留下来。所以,我又重新开始构思我的类库。
今年,自己的工作方面也有较大的开发任务,所以,诸多原因,绕着圈子地把握又拉回到自己的框架上。但是以前的mk框架已经开始用在一些地方了,所以这次,重新开张,开始一个新的框架:muse。希望muse之神能给我些灵感,虽然他并不管程序员。
这次给自己定了几个原则:
1、代码最少。为此我可以以牺牲可读性为代价,用一些js特有的写法。其实js的写法就很值得好好研究一番。
2、有限开发。这是向ext学习,我不想所有问题都自己抗。我不会去写debug类,但我会写尽量详细的文档,说明使用方法,并且做到在按规定操作的前提下,最大化兼容各浏览器。
3、分模块。我简单构思了几个namespace:muse,muse.ui,muse.event,muse.style,muse.dom等等。这些将存储在不同的js文件中,这样不必为了几个功能而引用全部的类库。
那么,开始吧。