今年,公司放弃了使用多年的自行研发的web开发框架,选择了spring mvc,以后所有的系统的web层都基于spring mvc开发。这个决策让我有些郁闷,原来的框架我觉得很好,已经很成熟。对于我们现在的系统,spring mvc在某些方面还没有原来的框架好。这点其实不太重要,通过一些扩展可以满足我们的开发需要,但放弃原来的框架是不应该的。毕竟,我们在这个框架上曾经投入过,如果是我的话,我绝对不会抛弃它。就像自己的孩子一样,他有缺点,我们总不至于把他抛弃,应该有耐心的去培养他。
一个软件公司或者互联网公司的核心竞争力就是良好的产品,其背后必然要来自强大的技术作为支撑。拿来主义固然好,开源组织会创造、维护框架,企业可以节约成本,降低技术门槛。但是我们不能忘记技术创新,也许某一天我们会发现自己已经没有核心竞争力了。语言、虚拟机、数据库我们发明不了,但至少上层的应用开发框架我们可以发明吧。如果公司比较小,受资源、成本的制约,无法自行研发框架;但作为一个大公司,我们的技术仅仅是用一些流行的开源框架吗?
我很喜欢《程序员》杂志封面的那句话“技术改变世界,创新驱动中国”。这句话体现了一个追求技术的人员最朴素的愿望。技术创新也许很艰难,过程很痛苦,但这是塑造新的技术文明必须要做的。
开源框架不单单可以免费使用,降低技术门槛。最重要的,我觉得是可以利用其开放源代码的优势,我们可以对其进行研究,缩短我们与国外的技术差距。我觉得轮子一定是要发明的,哪怕是模仿。虽然现在我们做的没有国外的好,但这只是暂时的,不去做永远都是落后。
我觉得创新要经历以下几个阶段:
1、学习别人的开源框架,熟练使用它,了解其优点和缺点;
2、剖析它的原理和实现;
3、参考其实现进行模仿和改进;
4、不断通过积累,开发适合企业特点的框架。
不管是个人还是公司,良好的发展必须要来自持续的学习和创新。学习别人已有的,创造适合自己的才是生存之道。