假设前端可以直接操作数据库并且解决了安全问题,还有必要需要后端工程师么?
类似技术
- graphql
- Tencent / APIJSON
- grpc
虽说以上技术都不是真的实际操作数据库,但是如果真的可以直接操作数据库并且解决了安全问题, 是否还需要后端工程师。
类似技术
虽说以上技术都不是真的实际操作数据库,但是如果真的可以直接操作数据库并且解决了安全问题, 是否还需要后端工程师。
和#1 说的一样也会细分吧,就好像,好像 UI 和前端的区别?
虽然帖主说的技术栈我都不认识,但是我还是挺期待“前端可以直接操作数据库”的
少纠结定义问题
那我问你, 后端工程师要是能写前端页面是不是就不需要前端了?
另外你操作数据库就不可避免的涉及建模, 性能等等问题, 这不就是后端的工作内容吗?
如果你把 Excel 也看成数据库的话,那不仅后端工程师不需要了,前端工程师也不需要了。
所以这个问题可以推广为「假设用户可以直接操作数据库并且解决了安全问题,还有必要需要前后端工程师么?」
不可能在客户端操作服务端的,sql 语句通过网络传送?
抛开安全问题不谈:缓存的问题,肯定是一个要解决的问题;数据库 IO 瓶颈的问题 肯定是一个要解决的问题(解决办法是队列,那么 队列的问题 肯定是一个要解决的问题);实时通信 肯定是一个要解决的问题;负载平衡 肯定是一个要解决的问题
总之 能带来的更有粒度的控制的,都可能发生一个个需要解决的问题 … 如果你放弃这块的粒度控制,你就不用去面对这个问题,最后 你也就不需要引入后端了
最后可以参考 no code 方案,连前端工程师都不需要了
v2ex.com/t/692949?p=1#r_9293489 无代码开发的,目前正在创业中,好处很明显:提升生产力,让老板减少成本,扩大效益;缺点是 粒度控制不行,只能做一些没有任何复杂逻辑的东西
v2ex.com/t/729158 低代码,会不会“干掉”开发者?
所谓的低代码或者无代码开发,它并不是空穴来风。大厂也在做这个
https://zhuanlan.zhihu.com/p/60194187
参考 Microsoft Flow,软件工程师都不需要了但只能完成非常有限的工作
如果数据库也放在客户端,那就不是 web,而是单机应用。如果数据库放在后端,这不就需要后端吗?
因此会出现 firebase / severless 服务,但这只不过是将后端外包、转移而已,后端还是真实存在的呀。
所谓的云也一样,外包了很多后端业务出去,但云平台难道不就属于后端的范畴?
用 firebase 自己不用维护数据库服务了,也不用担心后端不配合改接口,几乎不用担心服务器掉线问题,剩下的时间可以用来开发应用。
写呀,写呀,写呀……
开发完功能后,发现国内并不能使用 firestoreU•ェ•*U
大项目谁都不会乐意自己的后端被死死绑定,迁移难度大。
最大的问题是,firebase 只是把后端外包了,后端依然有,只是在别人手里捏着。
1.数据库属于后端。
2.前端直接操作数据库注定不安全。
但是数据库设计和优化貌似也是需要技术和经验的
1. 客户端直连 SQL 服务器
2. 每个用户分配一个 db 帐号。有不同的表的读 /写 /改权限
3. 业务逻辑跑在 db 通过存储过程、view 、触发器实现,也就是差不多对应 serverless scripts, 一些简单的字段映射,和 定时任务 hook 都支持了
起初 用 jsp 动态渲染页面,然后是模板引擎,然后是前后端分离
这不过是分工细化,流水线化
砍掉后端开发人员的环节, 保留远程数据库 不过是责任转移
bs 、cs 架构的服务 server 就是后端
真正的砍掉后端 应该是 没有后端
不使用远程数据库、远程中间件等等
也就是这个服务是一个本地服务 非 bs cs 架构