做项目前选择好一个合适的框架将关系到未来的很多问题,例如,框架是否功能是你想要的,要改的东西多不多,好不好改动,后期好不好维护,数据好不好迁移,产品是否100%开源,对于二次开发的成本控制...太多的问题了,那么怎么选择一款好的框架呢?
针对不同需求的人对于项目的要求肯定也不一样,同样须求的人可能也会考虑很多其它的问题,下面我就谈一下个人的一点见解仅供参考
对于速成项目
如果你的项目是想很快上线,但又不想投入太多成本,那么你就只能针对性的合适的产品了,例如你要做商城,你可以选择开源的ecshop,tpshop之类的,一般情况下功能都不完全是你想要的,有些功能须要自己开发,这种你就得找人帮你二开(招人),或找公司给你定制
这种情况会产生几个问题:费用少就会带来质量低;你的产品时间基本受别人控制;一般你要想好须求定稿,不然会弄得很尴尬;项目长远发展不利;
当然好处就是成本低,速度快,因此对于速成项目,开源成品项目是你的首选
对于长远计划项目
如果你的项目是想以后长期发展,会做大,业务越来越宽泛,那么前期最好是多花点钱在技术成本上了,不然后期会给你带来你不可估计的问题,这时你就要找一个专业的人士帮你分析分析,然后选择合适的框架了。
如果后期只是维护维护,建议找一个外包公司进行长期合作就可以,每个人给一定的维护费用
如果后期是长期更改或升级,功能扩展之类的,就建议组建一支技术团队了
对于功能一直要不断改进完善的项目,容易扩展的框架就是首选,就像起房子一样,目前你只须要两层楼,未来有钱了要盖,要盖5层,8层怎么办,肯定最初你的地基打得够稳才行了,不然又得拆了重建。
对于多平台系统开发
如果你的项目要做pc端、app、微信端/H5、小程序,为了整体考虑,你就要考虑一个适合做多平台开发的系统了,多终端可能会组建多团队,但很多功能在项目之间会重复,为了提高开发效率,你须要总体规划一下项目的开发规范,尽量避免做一些无用的工作
对于这种系统,选择能多模块化开发的框架就很不错的,像 Laravel/YII/symfony/TP5.0/CI等框架都可以选择。
这是个人的一些经验参考,为了解决更多人的问题,欢迎留言进行讨论。