我为什么开发EasyJS类库-一个更改JS编程风格的类库

来源:互联网 发布:淘宝 百科 编辑:程序博客网 时间:2024/06/07 09:56
我是一个从事软件开发将近20年的老程序员,我的主要的精力是从事java后台的开发,大约2年前开始了手机的开发,除了开发android/ios的原生代码程序外,也使用基于javascript的phonegap来完成一些业务。我对js有着天生的抵制情绪,因为js存在着一些不可避免的弱点,比如,因为没有编译期的校验功能,对于大型团队的开发非常不利,当某些模块/函数变化时,必须通过查找或者其他方式类检查是否有其他模块对它的调用。而且,我是一个追求完美代码的程序员,当看到有上百个全局函数上千行的js文件,我惊叹于居然能写出这样的代码。正是因为这个原因,我一直从事后台的开发,我喜欢java的完美(当然,不是每个程序员都能写出完美的代码)。两年前,我看到手机商业应用的开发前途,我转向了前端的开发,当时以为还是从事JAVA的开发,但是事与愿违,很多开发是通过js来完成的,我不得不开始JS开发,这中间有个插曲,因为看到JS的弱点,我在业余时间完成了一套java的前台开发框架用于开发android,但是因为公司的战略问题,这个框架被搁置起来。(在下面的几个月我会整理这套开发框架,奉献给社区)。2013年初,一个多年的中国朋友和我谈起关于JS开发,他们遇到了同样的问题,前端的开发效率低下,大量的重复代码,维护极端的困难,程序修改后需要大量的测试,我的朋友问我能否搞一套框架来简化前端的开发,我首先拒绝了他的要求,我真的不喜欢JS。但是经不起朋友的再三恳求,而且他绝对相信我可以完成一套框架来简化JS的开发,其实,更加能说服我的是JS/HTML的市场绝对地位,基于此,我开始研究面向对象的JS程序开发。通过互联网,看到了多个实现OOP的方式,但是没有一个是完美的,能够实现完整的继承封装属性,我也想起我现在公司开发中遇到的一些麻烦,经过仔细学习和对JS深入研究,在今年复活节假期中我完成了初版的函数库。在这个函数库中,基本上能够完美的实现面向对象的封装和继承,顺便也实现了JS的动态加载(import),通过这个方式,可以把上千行的js文件切割成不同的类来实现特有的业务逻辑。在这个假期中,我还完成了一套MVC的JS框架(基于EasyJS的对象机制),现在这套框架正在试运行阶段,希望在不愿的将来能够把他奉献给社区。在此,我特别感谢我的家人,特别是我的太太,因为她做医院工作,很多假期无法和家人一起共享,这次提前申请做假期期间休息,希望能一家人一起过一个愉快的假期。但是当她知道这一切的时候,她坚定的支持我的工作,放弃了全家的活动。20/04/2013