先说一下个人认为:整个Web层的纯业务开发可以说都没有难度,后端业务基本就是CURD,前端基本就是数据渲染到视图。
1.逻辑部分: 后端业务层的代码大多数时候只是在处理数据库中的数据,即便是双十一这种场景大部分难点也基本是在业务框架(HSF分布式服务框架)、数据库(OceanBase)、网关(SLB负载均衡)、缓存(分布式KV存储Tair)、计算平台(Blink)、调度平台(Sigma)等等层面被解决了,而不需要过度侵入业务层。所以对比前端将数据稍加处理渲染到页面上,后端的CURD也没有凸显出什么难度。
2.性能优化:服务端的性能优化基本离不开负载均衡、缓存、资源池,至于IO优化(异步、非阻塞)一般也是在框架或者语言层面解决了。
我承认有在有线程与锁的语言(例如Java)中,并发场景下做好多线程优化和锁的优化不简单,但是并发编程的范式不仅限于线程与锁啊,还有CSP和Actor等等,我作为一名前端过了一遍Go语法和框架文档后就能快速上手写出性能不算太差的后端Go代码了,基本不用去考虑线程和锁。