最近有一个项目,在讨论是用.NET还是PHP开发,这个讨论并非基于语言的优劣性,而是根据实际环境、情况考虑的结果。
这是以前开发、现在用着的一个web系统,类似mis的一个业务系统,他的一个相对独立一些的子系统(和其它部分联系也有,但比较少)。原先使用JSP/java开发,现在维护和开发都没有java的人了,所以必需要换开发语言。系统的逻辑处理相比之前有不少变化,但大的过程没有动,UI方面也有许多需要改,并且想更换数据库,把以前写在存储过程中的逻辑搬出来,便于维护。系统平台方面,虽然都是跑在apache/tomcat下,但以前是windows平台,打算迁移到Linux下。大概就是这么个样子吧。
支持使用.NET、不用PHP的理由有:
- 开发团队对.NET熟悉、熟练。
- 系统平台的切换可以以后再作。
- 开发时间太紧、任务不少,用PHP还要现学,怕完不成。
支持使用PHP,不用.NET的理由有:
- 坚持大环境的转换(从windows到Linux,不考虑mono之类的东东)。
- 以后再作=不作,能用的系统谁没事出钱让你再改一遍?
- PHP学习很快,有人带。
- .NET对维护不利,和svn配合不畅,在运行处无法直接修改小错误(必需编译,开发方不在现场,响应速度满足不了需要,当然只是在说小错误)
- 优先将紧急的任务先完成,争取到一些时间后再完善周边功能。
其实老实说,主张使用PHP是带有一些个人色彩的,但我觉得开源、Linux是大方向,及早动手对以后的工作有利,并且Linux下的管理明显要比windows要方便很多,对于要使用几年的系统来说这个投资应该是很“值”的;并且我也主观臆断一下,开发方在学习新的开发语言上是有“惰性”的,毕竟现在的人员配备都是.NET系的,学习不光耗时耗力,可能还会牵涉到人力成本的上升。
矛盾一:任务、时间、质量。 矛盾二:仅仅是完成任务 VS 系统平台迁移的总体部署 矛盾三:如果我有时间,那我有能力和信心让PHP发挥出应有的威力,可我既不属于开发方,也没有足够的时间(当然一些辅助性的工作或帮忙还是没有问题的)。
该如何选择呢?我这里虽然人少,但应该都是技术圈的人,大家给出出主意吧,或者转到其它人多的地方也行(恕我很少跑坛子),如何使PHP在短时间内让几位.NET系的开发人员学会,并做出质量不太差的系统?
开发方人员有code基础,我这里有些PHP经验,但现成可用的架构没有,adodb和smarty是肯定要用的,系统架构难道不成现搭一个?头疼ing。。。
传统的IT企业真的是在windows上“陷”得太深了,开源的路依然漫长哪~~
Update @ 2008-06-13
[我们的选择结果: 忙碌的5月](404)
不了解开发,个人倾向PHP。
不知道要做啥,且不考虑维护的话,但PHP有很多很多现成的Framework,在其基础上可以做快速的开发。
但从项目经验看,开发方想用啥就用啥吧~~好处是熟悉,且人员的响应是可预估的。
谢谢,维护不可能不考虑的,php的framework有很多,但我们没用过,不敢贸然上马。
另外,开发方想用啥就用啥也未必好,还要看生产的环境,并且,历史证明,开发人员对维护的响应时间虽可预期但总体而言是不及时的。
我的经验的不要挑战系统(或者说制度/群体)
你是什么职位?有权做什么样的决策?手底下多少人?都什么水平?你说的这几个人完全归你管吗?还是你只是提供建议?
我不认为任何速成的程序员能写出什么高质量的程序,这种事情干好了没你什么功劳,干砸了所有人都骂你
要看前提了,如果进度紧张的话,开发人员对哪个比较熟悉就用哪个了。不紧张的话,可考虑的因素就多了,比如是否需要跨平台,性能是否很关键,可能的用户数(scalbility)等,这些方面网络上对比资料也很多的。
谢谢,不过我们的项目已经开始了,也已经快结束了。 过几天我会专门把一些问题整理发布出来的。