比如java社区的spring ruby社区的Rails python社区的django php社区的lavarel nodejs社区的egg
从表面上来看
大而全的框架能提高效率
能够组件化,标准化,工程化将软件开发变成象富士康组装苹果手机一样,不需要员工懂原理,只要满足一个要求,能够高效率地拧瓶盖就可以了
但从码农的层面来看,框架提高了效率,码农的工作时间从原来的955变成了996 提高效率并没有增加工资水平,单位时间的工资反而下降了 组件化,标准化,工程化的结果使得表面上高大上的软件开发变成了实际上的工地搬砖工,虽然你有丰富的开发经验 熟悉各种场景的解决方案,但是在职场上的竞争力不如刚毕业不懂原理,但是会git clone 工程化操作的培训工,而培训工的最大优势并不是技术水平高,而是能996加班 等到这些培训工面临成家立业的其他问题无法全力以赴加班的时候,又被新一波水平更差,但更能996加班的培训工更低成本地替换 so 码农不停追赶大而全的框架的结果,实际上的结果就是变相降低单位时间的工资,同时逐步削减工作机会,以便自己被流水线的下一个新的螺丝钉更轻松地替换
egg 不是大而全的框架,谢谢。
egg 只是在 Koa 的基础上,加了一个 Loader 机制,以及补全了几个常用的场景的能力。
剩下的都是完全自由组装的可选插件。
egg 的定位是为了给上层大而全的框架提供一个统一的规范和底层。
但从码农的层面来看,框架提高了效率,码农的工作时间从原来的955变成了996 提高效率并没有增加工资水平,单位时间的工资反而下降了
说的好像,不用框架,自己从底层开始撸,你就可以 995 似的。。。逻辑不对啊,那你是不是 vue/react 都不用,直接原生 js 开始写啊。
历史上java,从model1到model2,到ssh、ssh2到spring全家桶。到sprint boot。。。。从小到大,从大到小。。。全场景,而已。
node是以小见成。从http到express到koa,然后出现egg。未来是serverless的,faas下更小。。。。。从小到大,从大到小。。。全场景,而已。
程序猿本身就是一种努力使别人和自己失业的工种
@atian25 题主莫名的就在偷换概念。。。996 的原因原来是框架引起的么= =
有些事情不是业务人员做,就是框架做,往大而全发展是单应用框架发展的趋势。 但以后未必,比如狼叔举例的faas,反而越做越轻。 不同情况不同用法,什么时候轻好,什么时候重好,只有自己知道。
这个问题楼主理解错了,首先是 每个后端语言都在发展AOP 思想的框架。 起源于 ruby on rails ,发展于 java 的spring ,发扬于 php 的lavavel ,node.js 的 nest.js , go 的iris ,python 的django 。 但也由于语法层面限制,各个语言实现有所不同。
甚至发展在前端的 angular 。
其次,egg 并不是大而全的框架, midwayjs 和 nest.js 这类才是。
然后,框架的目的是增加约束,从而提升开发效率,降低维护成本。 而核心在于“需求”,没有买卖,就没有伤害。【发展生产力,解放生产力】
最后,再深入一些, 以前需要10个,甚至100个人干的活,现在1个人就能做,随之而来的也是科技的进步,手机,笔记本,往前推50 甚至 100 年,敢想象吗?
@zuohuadong 要说 midwayjs 也算不上大而全。个人认为是在 eggjs 基础上加上 ioC 以及 TS,开发比 eggjs 顺手些。
@waitingsong nest.js 和 midwayjs 确实是类spring 、ror、laravel 的框架~