这里不说用某个框架对项目的优势,先扯扯用框架的好处。
java经历这么多年的成长,前辈们都总结出来了,不用考虑了,一般都是那些个,ssh,s2sh,ssi,可能再加上view模板,缓存等等。而且刚上道的新手也知道怎么用这些个框架,尽管他可能不明白是怎么一回事。但它知道是这个套路。
什么语言都是这样的。有没有框架都可以用。但是每个人代码风格,习惯都不一样,会增加团队合作的困难性。代码可读性可能降低。刚写程序那会儿不理解用框架的好处,一个登陆程序分那么多包,写那么多类,这不犯傻吗?
相信很多人都有这样的经验。一个类超大,或者一个方法内容超多,甚至前台页面里边写了几乎所有的内容。写的时候还是很明白。哪一块是什么功能。可能哪一行附近是什么都清楚。一些时间后,这些代码有bug或者说有新需求了需要改动。然后找那个入口就要半天,还要把那些代码一行一行读懂。
但如果有框架就不一样。有框架则有规范,大家有统一的开发规范。就容易明白。不管是你自己写的代码还是别人写的代码,入口都一样。都是那些层。这里是显示的,那里是转发的,这里是业务的。那里是数据交互的。不用再去大批量代码的整理。哪个地方出了问题很大就清楚了。这里就足以说明使用框架的好处框架的重要性了。当然还有N多团队合作上的好处。比如文件分散了,不同人写不同功能合并也不容易冲突等等。
flex到底该不该用框架,该用哪个框架,相信这一直是让程序员不省心的事。
有一哥们框架选择的是puremvc。层次可清晰了。代码贼漂亮。前些天看到一哥们抱怨。。现在那个项目是继续用puremvc必死。不再死用puremvc半死。为什么啊。原因是每个界面都定义了大量事件,大量的事件监听,大量的mediator。量大的大到,一个小动作都需要在mediator里写事件监听。如果碰上了要用model,回来的时候还要继续找监听的事件。看着都眼晕。
flex不像java,Flex有MXML为快速应用开发提供了健全的系统和方法.使用额外的框架会让我为了适应这些框架而去做更多的事情。框架的作用是简化工作任务和提高生产率,而不是为了证明我能用或者用了就说明我是一个会用这个框架的开发者。
因此以前的项目我们都没有选择用框架。都是一个mxml 页面 嵌入 一个as 所有的业务都在这个as里边处理了。项目经历了一年多了。问题越来越显现出来了。我们总是一边改代码一边骂离职的同事。这王八蛋都是些什么代码。而且这些问题都是出在flex上。相反java用了sh组合。很少出现这个问题。更好笑的是我自己手中的一个项目,因为只有一个主页面的原固。大部分功能都在一个页面上实现。而且判断复杂。现在让我去维护这个项目我都头大。总会出现想把这个项目全删了再写一遍的冲动。我想我离开后也会让人骂娘的。然后我让别的开发者别骂以前的离职人员了。
最近这个项目想实现另一种方案。项目已经在成百上千的客户端上运行了。当然说的另一种方案也就是另N多判断。难已想像,也难保证加这些判断不会影响以前的程序。这个时候我在想。如果代码不是如此的密密麻麻。我会很大胆很放心的改。悔当初没有用框架把耦合度尽量降低。代码量多点我也不介意。
以上只能说明没用框架团队不好合作,代码不好维护了。
看吧。用框架是那行德性。不用框架是这个样子。我说那位哥真是身福中不知福啊。当然也可能是他使用框架有不当的地方。 我为他以后的维护者庆幸。
到这里我是认定了。一个稍复杂点的项目都得给我整上一个框架。别把什么东东都给整到一块。害死自己还害挂别人。
那到底用哪个框架呢。puremvc?cairngorm?mate?swiz? 看来看去我还是觉得cairngorm这个比较适合我,首先cairngorm官方的,flex性能是不咋滴可靠。他妈的我还是得相信官方。cairngorm相对mate来讲 mxml已经比较干净。puremvc整个层次确实比较明朗。不愧是纯mvc框架。好像代码量是比较大,而且注意的地方不少,如果不懂puremvc的人去维护不见得是个容易的事。
各位看到什么好的框架请向我推荐一下。