遇到跨端开发或多项目开发时,遇到的一些问题探讨,后端开发语言如何选择?

最近有同学问我,做后端开发项目时用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

​ 每个项目域名不一样,但程序该共用的共用,独立的独立,这样扩展维护都是不错的选择,你想,如果是你一个人单独开发、维护多个项目,多套系统,你会怎么做呢? 欢迎大佬在下方发表你的看法。

​ 这是老姚跟一位同学探讨后想给大家分享的,其实还有很多想说的,苦于文采不行,想得多但表达不出来,想到了再补充,关注我,后续分享更多的技术方面的经验与想法,欢迎下方评论畅言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/582018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索Go语言的魅力:一门简洁高效的编程语言

介绍Go语言: Go,也被称为Golang,是由Google开发的一门开源编程语言。它结合了现代编程语言的优点,拥有高效的并发支持和简洁的语法,使其成为构建可伸缩、高性能应用的理想选择。 Go语言的特性: 并发编程…

Leetcode 56 合并区间

题意理解: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。 合并所有重叠的区间,并返回 一个不重叠的区间数组。 该数组需恰好覆盖输入中的所有区间 。 目标:合并…

计算机基础面试题总结

47、OSI、TCP/IP、五层协议的体系结构以及各层协议 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。 五层协议&…

k8s集群etcd备份与恢复

一、前言 k8s集群使用etcd集群存储数据,如果etcd集群崩溃了,k8s集群的数据就会全部丢失,所以需要日常进行etcd集群数据的备份,预防etcd集群崩溃后可以使用数据备份进行恢复,也可用于重建k8s集群进行数据恢复 二、备份…

gin框架使用系列之六——自定义中间件

系列目录 《gin框架使用系列之一——快速启动和url分组》《gin框架使用系列之二——uri占位符和占位符变量的获取》《gin框架使用系列之三——获取表单数据》《gin框架使用系列之四——json和protobuf的渲染》《gin框架使用系列之五——表单校验》 一、gin中间件概述 gin中将…

2024年中职“网络安全“—数字调查取证(attack817.pcapng)

目录 ​1.通过分析数据包找出恶意用户最初访问HTTP服务的包号,将该值作为Flag值提交, Flag格式为flag{xxx}; 2.继续查看数据包文件分析出恶意用户扫描了哪些端口,将全部的端口号按照一定顺序作为Flag值,提示:注意端口…

给有数据的表增加一个字段id作为主键,创建一个自增队列,将sequence队列生成的值作为id的值插入表中

1,先看原来的表是否有主键,如果有先删除 alter table crfnd.tbl_org_info drop constraint pk_tbl_org_info2,给这个表增加一个字段——id ALTER TABLE crfnd.tbl_org_info ADD id numeric(19);3,创建一个自增队列 CREATE SEOUENCE crfnd.seq_tbl_or…

编译原理手写版笔记

编译原理手写版笔记 来自smile 一个学期主要学习了词法分析、文法分析、语法分析、语义分析。 按照教学脉络,整理了一份期末笔记。用于复习整个学期的知识点 并且把所有的数据结构以及算法 整理出来。可以用于考试手写完成题目。 当然拿高分需要多练习&#xff0…

关于百万数据表全表分页查询研究

这里写自定义目录标题 前言一、背景介绍二、解决思路二、二张表的关联手法1、关联手法1 :使用JOIN2、关联手法 :使用 IN结论 前言 描述:文本主要用来记录,对大数据量表多表联合的分页查询效率的研究。 一、背景介绍 技术背景:使用若依框架…

理解 Go Mod Init

初始化Go模块和管理依赖的全面指南 go mod init 是Go编程语言(通常称为Golang)中用于初始化新Go模块的命令。在Go中,一个模块是一组相关的Go包,它们作为一个单元一起进行版本控制。通常,在项目目录的根目录下使用 go m…

【算法】运用滑动窗口方法解决算法题(C++)

文章目录 1. 滑动窗口 介绍2. 滑动窗口算法引入209.长度最小的子数组 3. 使用滑动窗口解决算法题3.无重复字符的最长子串1004.最大连续1的个数III1658.将x减到0的最小操作数904.水果成篮LCR015.找到字符串中所有字母异位词30.串联所有单词的子串76.最小覆盖子串 1. 滑动窗口 介…

数据分析-23--糖尿病预测(线性回归模型)(包含数据代码)

文章目录 0. 数据代码下载1. 项目介绍2. 数据处理1. 导入数据2. 处理数据 3. 建立模型4. 考察单个特征 0. 数据代码下载 关注公众号:『AI学习星球』 回复:糖尿病预测 即可获取数据下载。 算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号或➕v&am…

“双十一、二” 业务高峰如何扛住?韵达快递选择 TDengine

小 T 导读: 为了有效处理每日亿级的数据量,早在 2021 年,韵达就选择用 TDengine 替代了 MySQL,并在三台服务器上成功部署和上线了 TDengine 2.0 集群。如今,随着 TDengine 3.0 版本的逐渐成熟,韵达决定将现…

android实战之添加图标到项目中

引言 阿里云矢量库有很多图标,注册账号,下载下载选择的图标,下载时选择svg格式。 实现 1. androidstudio ,drawable右键---new ----->vector asset,选择本地下载的资源。 点击next。完成

devops使用

官方文档 使用 Git 进行代码 - Azure DevOps | Microsoft Learn

libssh 服务端权限认证绕过(CVE-2018-10933)

漏洞描述: libssh 是一个提供 SSH 相关接口的开源库,包含服务端、客户端等。其服务端代码中存在一处逻辑错误,攻击者可以在认证成功前发送MSG_USERAUTH_SUCCESS消息,绕过认证过程,未授权访问目标 SSH 服务器。 复现过…

LeetCode——动态规划

动态规划 一、一维数组:斐波那契数列 爬楼梯70简单 dp定义: dp[i]表示爬到第i阶有多少种不同的方式 状态转移方程: dp[i] dp[i-1] dp[i-1] (每次可以爬1或2个台阶) 边界条件: dp[0] 1; dp[1] 1;&#…

易混淆的公式

a x − 1 ∼ x ln ⁡ a a^x-1\sim x\ln a ax−1∼xlna log ⁡ a ( 1 x ) ∼ x 1 ln ⁡ a \log _a(1x)\sim x\frac{1}{\ln a} loga​(1x)∼xlna1​ ( log ⁡ a x ) ′ 1 x ln ⁡ a (\log _ax) \frac{1}{x\ln a} (loga​x)′xlna1​

传统船检已经过时?AR智慧船检来助力!!

想象一下,在茫茫大海中,一艘巨型货轮正缓缓驶过。船上的工程师戴着一副先进的AR眼镜,他们不再需要反复翻阅厚重的手册,一切所需信息都实时显示在眼前。这不是科幻电影的场景,而是智慧船检技术带来的现实变革。那么问题…

[Linux]Ubuntu noVNC使用

又到了逛大型程序员交友 网站的时间了,今天你准备好了吗。 今天要推荐的一个有趣的项目是noVNC setup好以后是这个样子的,可以在浏览器登陆vnc,不需要再安装一个vnc client. setup的过程比较简单,分为以下几步: 1. v…