以框架定位论前端的先进性

开发 前端
我们看一下前端的问题是啥,我以为最重要的问题是前后端比例失衡问题,本质上这个是不可以解的,只要有地方不叫,那就是需要成本优化的。

[[432075]]

 朋友圈有人说希望我聊一下前端先进性,这是个不太好讨论的问题,尝试着从框架定位方面讲讲。

首先,我们看一下前端的问题是啥,我以为最重要的问题是前后端比例失衡问题,本质上这个是不可以解的,只要有地方不叫,那就是需要成本优化的。公司是商业组织,这是很容易理解的。从更大的角度看,整个前端开源生态也面临一样的问题,从3大框架混战到2018年之后就进入相对稳定的时期,能做的更多是微创新,也是一个尴尬的困境。

如果说一定要找解法,优化解法如下。

  • 造轮子,提效,以前造业务相关广度优先,现在是深度优先。

  • 产研链路优化,提效

  • pk需求,管理预期,降低分子,降压

  • 提升自己产能,坚持每日有点进步

都是打破自身边界的事儿,每个领域其实都是可以有先进性的。以上4点其实是我在阿里4年经历的总结。但论先进性,有些话是不好讲的。以阿里的技术来做品评也是不合适的。如果想做到中立,又能讲清楚,以框架来讨论应该是个好主意。我本人也对开源也还算熟悉,对各种框架也还算熟悉。

[[432076]]

框架设计定位的4点想法:人无我有,人有我优,人优我特,人特我转

  • 人无我有:如果市面上没有,那是创新,比如前端同学苦webpack久已,如果能做到bundless,那就是蝎子粑粑独一份,比如snowpack(2018年开始)就是很好的例子。

  • 人有我优:虽然snowpack是第一个,但它还是有很多可以改进的空间,vite(2020年初)做到了真正的按需编译,快速的冷启动,即时的模块热更新,使用rollup插件机制,站在rollup生态上,更方便。

  • 人优我特:在我们做ssr的时候,研究了市面上的所有ssr方案,彼时egg已经做的相当好了,所以我们采用了next的写法,做了ssr和csr无缝降级,在大流量c端方面做了降级,兜底等方面的优化,所以egg-react-ssr的定位是略显小众,特别的,好处是在ssr领域做到最好,聚焦,极致。

  • 人特我转:ssr领域其实能做的,egg-react-ssr已经都做到没有对手了,next转型做大而全,那么ssr接下来如何走呢?2019年Serverless在前端开始成为探索方向,二者结合,将ssr和csr放到Serverless上渲染,于是就有了Serverless-side rendering,即基于Serverless的端渲染。网上说的Serverless ssr其实是被带偏了的,他们只是看到了ssr和Serverless的集合,这是不专业的。

简单的讲了一下框架设计的定位方法,本质上,它考验的是作者的格局,框架定位是否准确,和它能够做到多大是有直接关系的。 从定位是可以看出框架的先进性的,比如vite 很明显就是踩在风口,根植于rollup生态,最差情况vue自己收益,所以这样的设计是一定会受到开发者的认可的。

再看几个我坚持的原则

  • 遵循DRY原则,不要做同质化的东西。做不出特别的点便不要做。比如fastify就是很好的,虽然是web框架,但在性能领域,无论模块,还是node源码,还是http client都在做优化,这种持续且有深度的开源是非常棒的。相反,如果只是简单的搞一个Web框架,换个写法,不做也罢。

  • 克制,先专精,然后再考虑后面的事儿,毕竟人的精力是有限的。首先能知道自己该做啥的不多,毕竟俯视视角不是一天二天就能形成的。其次,大家习惯性做加法,想改变这种想法是非常困难的,挑战人性。

  • 设计的时候要大,做的时候要小。设计的时候是可以随便讨论的,将所有问题抛出,批判性的反复讨论,最终形成框架的定位,这个过程一定要透明,公允,不然容易带有过多个人意志,虽然很多时候是对的。做的时候小是因为精力问题,先有再优,后面正常迭代就好了。

  • 先解决自己的问题,其次挑一个有挑战的努努力能够搞定的业界难题,如果二者能结合是最好的。很多时候,社会责任很多人是没到考虑的时候,格局不大到一定程度是不会这样思考的。

当然,我们看别人的项目也要有一定的包容性。

  • 先看定位,理解意图,你就会更包容

  • 理解所处阶段,如果业务很忙,如果底子或沉淀不足,如果人不够。。。有很多因素决定框架的质量

  • 基本功是否够硬,比如文档,架构,代码规范等等,多看优点,有思考,有不同,从观赏者的角度有收获就好

其实说白了,换位思考而已,大家都不容易,不必苛责。

先进性本身也是相对的,能够满足自身需求,能够对社区有帮助就更好了。

责任编辑:张燕妮 来源: Node全栈
相关推荐

2011-12-07 09:38:56

2011-12-02 10:05:07

2010-09-29 13:52:25

2023-07-10 08:55:41

数据库研发人员Oracle

2023-07-04 07:57:08

Chiplet技术

2018-03-01 22:09:33

2010-08-17 15:09:45

综合布线系统故障

2014-02-17 09:37:31

亚马逊WorkSpacesVDI

2021-06-22 09:16:56

GoogleSLSA端到端

2023-09-04 09:00:00

机器学习算法

2016-11-07 15:13:54

2019-08-29 18:07:51

机器学习人工智能

2021-09-10 09:09:58

ARTIF威胁智能框架安全工具

2013-10-24 10:40:23

前端框架

2023-02-20 08:41:08

SignaluseState()

2010-10-09 10:06:39

UPS

2022-04-14 15:18:52

技术架构企业

2009-08-28 15:35:31

C#与VB.net

2010-01-13 10:53:51

Web前端工程师定位
点赞
收藏

51CTO技术栈公众号