最近有同学问我,做后端开发项目时用php,java,c#,go,pathon...哪个好,从最近阿里云、美团服务器崩溃来看,我想给你最直接的回答是,没有完美的,只有适合自己的。咱们讨论最多的问题就是跨多端开发,以及多项目开发后期所带来的升级、维护等相关问题,接下来就该问题,我发表一点自己的看法,也算是自己的一点经历、总结。
跨端开发带来的问题?
以前带团队开发项目的时候,经常会做一些多端项目,包括pc,移动,app(安卓、IOS), 当时小程序不火(不管)。做的过程当中,如果项目相对较小的话,PC+移动+接口代码可以完全交给一个人处理,当然进度会比较慢,开发人员也相当的辛苦,后期升级维护起来也是相当的困难(我草xxx),如果项目比较大的话,PC、移动、接口分别交给不同的人来开发,这样速度是上来了,但又带来了新的问题:每个人写的程序不一样,后期交给一个人来维护升级更加老火,而且必须是有相当经验丰富的大佬才可以;甚至还有用A程序开发页面,B程序开发接口的傻X过程,这种情况我都不想说了,但投资人就是想快点出来,没有办法的办法(我当时的心情就是,想哭又想笑)。
再到后来,各家小程序的兴起,又要增加开发人员来做小程序,无形当中又给开发、维护增加了成本,这样下去,一些初创或小开发公司是扛不住的,为了解决这一难题,uniapp就出现了么,但这....,这TM解决了老板的烦恼,却不把技术当人看了呀,...... 好像这是前端的事情,后端就要笑了,反正接口就那一套就可以,貌似前后端分离,对后端开发人员来说是一个大的解脱。
如果上面这些问题没少让你掉头发,请在最下面打CALL留下你的足迹,我看有多少人来着。
跨端完了就完了??? NO 。。。。。。 还有跨项目(一个公司做多个业务)
跨项目开发带来的问题?
正常情况,一个公司多个项目分别由不同的团队开发,资金雄厚的老板。。。(你出钱,我高兴),那些又不愿意出钱,又想做好的(统一别名SB)大有人在,3K预算搞个商城出来,那都是基本操作,为了产品能上线,反正开发人员也是东拼西凑,上线->收钱->跑路... 一气呵成。不吐不快呀,话说回来,一般的公司,每个项目都有专门的人员负责开发、维护升级,成本还是很高的,某些大厂也一样(不点名了),业务不好的时候,几千几万个人被开除也不是不敢。。。 知所谓理想有多大,挖的坑就有多深。
还有就是当某个项目稳定运行一端时间后,程序基本稳定,再发展其它项目的时候,重新开发一套? 复制一套出去修改? 在原有的程序上增加? 不知道你们是怎么做的,哪种是你们觉得好的?欢迎大家在下面讨论。
最后带来的思考?
所有的问题解决办法,都是在问题产生后的思考,打磨,总结,反反复复......,在我当时遇到这些困惑的时候,我心中就有这么一些问题:
- 一套系统的后端开发,如何让一个人就能轻松搞定?
- 一套系统如何把PC、移动、APP、小程序等相同逻辑共用?
- 一套系统如何做多个项目,而不乱?
- 一套系统做多个项目时,如何能共用一些API,而不同的API相互独立?
- 一套系统做多个项目时,有不同的独立后台?
- 多个项目集成为一套时,某个系统不要了,还能轻松移除?
- ...... 欢迎大家补充
声明一下,我主要做web项目(所以就用PHP),基于这么一些问题,于是就去搞了这么一套系统,用于平常的开发,当时有想过自己去做一个新的系统,但考虑到出来后,用的人要去熟悉系统,就放弃了,直接选择当时国人用得比较多的框架拿来开发、二次封装。省事呀,哈哈,可以直达去看一下:http://demo.tpframe.com/,这个便是集成了多个系统为一体的。
包括api地址都是独立:
https://errand-api.tpframe.com/easydoc
http://recycle-api.tpframe.com/easydoc
https://tmall-api.tpframe.com/easydoc
http://tcms-api.tpframe.com/easydoc
每个项目域名不一样,但程序该共用的共用,独立的独立,这样扩展维护都是不错的选择,你想,如果是你一个人单独开发、维护多个项目,多套系统,你会怎么做呢? 欢迎大佬在下方发表你的看法。
这是老姚跟一位同学探讨后想给大家分享的,其实还有很多想说的,苦于文采不行,想得多但表达不出来,想到了再补充,关注我,后续分享更多的技术方面的经验与想法,欢迎下方评论畅言。