阿里前端主席谈:前端发展史,引领新技术、前端价值


阿里前端技术委员会主席袁欣先生发表了讲话《前端路上的思考》,谈到了他对前端发展过程,今天的机遇,如何引领新技术和前端价值的看法。这篇文章的结构安排如下。

前沿发展史

我已经将前端开发编译成五个阶段,这与网络上看到的阶段分析不同。我认为每个阶段都有理论或方法上的支持,这带来了一个飞跃。这是我的前端交流学习qun:前面是七三一,中间是七七一,后面是两个。如果您需要在下载中学习资料。我已经这样做了十多年了。我有问题随时问我,如何学习,如何学习,等等。

第一阶段

第一阶段是在2003年。当时每个人都知道,当时所有的HTML,CSS和JS都是我们所谓的结构风格行为的分离。这个理论今天创造了前端机构。

在此之前基本上有两个位置,一个是JAVA工程师,另一个是设计。当时的设计包括视觉设计和HTML + CSS。但是由于这个结论的出现,让前端真正成为前端,专注于今天大多数前端工作。这一概念的核心的出现带来了整个前端地位的出现。事实上,2003年,中国第一个真正的前端工作是在2005年,在此期间有一个连续性。在那之后,许多公司出现了重构工程师,他们也是今天许多前端的主体。

第二阶段

第二阶段是2008年。当时,有一种理念认为90%的性能优化是在前端。在前景系统中,该理论允许进一步反映前端值。

前端现在可以回答公司的意见:我们可以通过性能优化来优化性能,提高转换率。突然发现整个岗位的前端体现了很大的价值。我相信那些经历过那个时代的人都记得YSlow,其中包括影响今天演出系统前端的所有想法。这是第二阶段。

但第二阶段带来了什么?写上面的内容,打开工程。如何理解?要在今天进行大量的性能优化,您需要通过工具和流程更好地设计系统,然后获得最佳结果。所以我认为这是一个开放的工程。后来我们可以看到最早的Ant前端工具,GRUNT,Webpack,Babel等。通过这种方式,第二阶段是2008年的整个性能优化过程,其想法是90%的性能优化处于前端。

第三阶段

第三阶段是2013年。我今天分享的内容与我们最初的理解不同。每个人都从框架阶段,中间技术W3C出现或Node.js出现时定义了它。这不是一个阶段。事实上,人们发现Node.js早于2013年,并且可能在今年出现了,但为什么当时没有改变呢?要改为今天,我们更喜欢使用另一个词来分层正面和背面。在后端系统中,让前端更多地关注前端UI层和逻辑层,后端关注后端界面,使我们之间的分工更加清晰。如果后端开发了一个页面,则前端有问题,但前端会查看后端以不正确地写入标签。这是不合理的合作方式。

前端和后端的分层促进了前端系统的发展,并且它也慢慢地影响了从前端到全栈的过程。这使得许多人更有可能使用Node.js从工程工具开发慢慢过渡到使用JS的应用程序开发,这在2013年是一个很大的变化。当然,有很多Node.js框架。在上层数据层,我们还将看到GraphQL的整个逻辑编程系统,因此我们将把这个系统带到前端。我们今天看到的BFF也是基于此。系统的发展。从2013年开始,这是前端的第三个发展阶段。

第四阶段

在第四阶段,我相信很多人都有感受,因为移动时代的到来改变了今天整个PC和无线的格局,并改变了我们大多数人在前端的发展方式。

第一个理论是移动优先,然后是一次写入,随处运行。这个时代是什么时候?我们将PC工作转向无线工作,很多人都陷入其中。当趋势来临时,我们发现大量的前端涌向客户,客户似乎蓬勃发展。但今天,大量客户纷纷涌向前端。两者之间不断转换。为什么?因为每个人都在思考它是H5还是Native,是未来的H5开发还是Native开发?

我认为这种关注是错误的。你今天为什么要与H5或Native挣扎来解决这个问题?我认为今天是无线时代,重点应放在这里:如何使用最标准化的开发来让更多人开发这个页面,如何提供像H5页面这样的标准。

回到这个焦点,当移动时代到来时,你如何重新定义每个APP的渲染引擎,这个渲染引擎是什么样的?正如您所看到的,包装是最早的,您可以打包H5 APP,以及RN,WEEX和今天的Flutter。整个主线和思路都是按照这个概念进行的,这个概念仍然影响着我们的前端发展。

第五阶段

第五阶段是低代码对整个系统的影响。

这里有一个背景是互联网的发泄。所有公司都看看To B的系统.Bo的系统是什么,无论是Ali还是Jingdong?事实上,我们看到前端系统中的B作为中间和后部,有什么样的特征?例如,布局高度标准化,其表格高度标准化,其表格高度标准化,其可视化高度标准化.该系统有很多标准化,不像C-多样性,这个系统内部,如何重建这个具有低代码或无代码系统的系统是2016年的一个关键考虑因素,它在2016年给我们带来了很多变化。如今,许多公司都提供这样的解决方案。例如,今天的Microsoft PowerApps,每个人都在这个领域进行新的探索。

总结

我们从评论中可以看出,2003年结构风格行为的分离表明了前端职位的出现。 2008年,90%的性能优化在前端,工程开始。 2013年正面和背面的分离带来了完整的堆叠演变。 2014年移动首先是无线时代的到来。 2016年,LOWNO Code出现了,这导致了中间和后面的重塑。

今天的机会

我们今天怎么想?今天投资的每个方向背后的想法是什么?我们今年为阿里经济的前端委员会提供了四个技术方向:第一个是构建服务,第二个是无服务器,第三个是智能,第四个是IDE。

建筑服务

首先看看施工服务。今天,实现低代码和无代码的方法是什么?首先,中间必须有大量的组件,组件和模块。

在消费者系统中,我们也做了很多尝试。例如,原始渠道活动在活动系统中被高度抽象,因此在该系统中,我们可以看到整个建筑服务处于中间或后面。整个无线方面以及PC端都有很多场景。如此大量的场景需要标准化整个框架,我们希望将内部的组件,组件和模块标准化。我们也希望这些服务可以为今天的所有服务服务,无论是中间还是后面。 C面页面也很好。我希望有这样一个系统服务标准化服务,并打开整个系统,这就是为什么建设服务被认为是未来最重要的方向。

无服务器

今天很多人都听说过无服务器,很多人对无服务器有不同的理解。我如何理解这无服务器?我知道无服务器有两个角色:

一个是内部和内部是从前端公司Serverless的角度来看。

一个是外部和外部的。它可能是如何在云上提供无服务器功能提取。

回到公司,Serverless有什么影响?我认为可以使前端更接近业务并使更多功能下沉。 Node系统的前端面临巨大挑战。很多人说你不会写Node.js.你是一名前端工程师。我非常同意这一说法。但是对于无服务器,我们不必注意部署,不注意操作和维护,不需要注意所有的DevOps,也不需要注意底层的状态数据库。他会让前后系统的整个系统像前后层一样向前迈出一步。

智能

去年,我谈到了D2的情报。智能化必定是未来。你为什么这么说?当AI出现时,我们可以从设计变为代码吗?今天,每个公司的前端都有大量的设计,大量的原始代码,我们通过大量的设计草图和原始代码进行机器学习,这样可以学习中间布局,使中间组件可以了解到,我相信D2C将来能够解决前端问题。生产力瓶颈使得前端从当今的许多低端开发和手工工作中解放出来,并将其重点转移到许多领域的深度参与和深度突破上。

所以我认为智能肯定会带来前端未来的变化,因为AI以这种方式完成了大量低效的工作。回到另一个问题,无论是在无线时代还是中后时代,整个抽象层次都是高度收敛的,不像C-end的原始PC是不同的。在收敛的情况下,它必须基于收敛系统进行缩放,这个尺度是我们希望通过AI实现的整个转换。我相信前端会有另一个变化。

新兴地区

早些时候我们谈到了今天阿里前端的四个技术方向。我已经说过这四个方向了。我希望能给大家带来一些想法。当然,除了四个方向之外,我们仍然有许多未在上面列出的部分。

上面提到的三个部分,我们仍然有很多空间可以探索未来。看看新的互动,前端的优势在于通过互动完成所有工作。当所有新技术出现时,您如何在新环境中完成所有工作?例如,当VR时代到来时,您如何完成VR互动?整个领域和当前发展领域有什么区别?它是其架构的重构前端引擎吗?还有许多值得我们想象和思考的东西。

物联网时代即将到来,我们的团队专门做物联网,他们正在做很多新的零售。我们必须做出哪些改变也是前端需要关注的事情。在那个系统中,我可以用JS编写什么样的驱动程序?这个行业可以促进什么样的发展?事实上,他们都打开了通向前端的大门。

在过去的5G中,中国和美国非常紧张,因为它们与5G有关。但是什么带来了5G的到来?想想这个问题。今天,我们正在观察大量的性能消耗和兼容性问题。在未来,随着整个网络速度的提高,它肯定会转移到云端。如果你今天在手机上进行非常复杂的3D渲染,你会发现非常好的停滞。如果你今天在手机上做非常复杂的游戏和动画,那也很有挑战性。今天,在PC端而不是在移动电话上播放鸡肉,因为对整个系统的整体性能消耗和渲染有强烈需求。

5G即将发生什么?所有渲染都在云中完成,所有系统都通过流交互完成,第一个解决了观察渲染时的所有性能问题。第二个解决了很多兼容性问题。它会变得更容易。

当我们正确看待技术变革时,我们会带来什么?什么样的变化?这是我们需要深思熟虑的部分,因为这肯定会在未来做出一些改变,我们的预判决定了我们如何看待今天的未来,如何统治未来,我们应该做些什么。我相信新的互动,物联网和5G肯定会对前端的未来发展产生额外的影响。

如何引领技术

为什么这个话题?这也是这两年的痛苦思考。阿里前端有超过2000人。这些人非常有能力,但中国有数万个高质量的前端。今天我们对前端领域的前端领域有何影响?实际上,它并不成比例。回到我们现在应该做什么?我们应该怎么想?我们应该如何提升整个国内前端的影响力和质量?我觉得我不仅从阿里队的角度思考,而且从国内前端的角度来看。我们能做什么?

事实上,有些事情每个人都觉得困难吗?事实上,我觉得这并不困难。据说Flutter基于下沉渲染,绘图引擎是上层多终端解决方案。我记得我刚刚进入无线时代制作兼容性解决方案。这个想法是一样的。为什么我们做一个没有声音的事情并继续探索。另一种解决方案应运而生。

首先,我们并非没有想到。第二,回到今天的时代,你可以在阅读之后立即写一个。但他为什么要写作?读完他的想法后,你可以马上写一个东西。在这里,我们有想法,我们有能力,我们没有任何事情要出来。这是一个值得认真考虑的问题。

从外观到本质

当我谈到时代的变化时,我的理论是因为它有一个支持改变时代的理论。框架也是如此,框架必须基于问题存在问题。 React.js解决了什么?起初很痛苦,然后以其他方式重构。无论以前的MVC,MVP还是MVVM。每个人都说我之前提到过这件事,但最终它不是公众,而是其他人。

当然,首先,回归一个想法,今天要为某件事做些什么。首先,必须有想法。例如,今天我希望解决当前多终端适应的问题,并希望通过多种渲染方式完成系统变更。问题是如何解决今天的问题?问题是什么?我该如何定义这个问题?我们必须形成一个概念,以便倒退以及如何倒退?

前端值

公司前端的价值是多少?前端不是公司价值的专业建筑,但专业建设是不可或缺的,但与此同时,作为组织中的职位,我对公司的地位有何价值?所以我说在做之前并不等于价值。技术能力不等于整个企业的价值。我应该在这做什么样的想法?

传统的三件套

今天许多团队也完成了传统的三件套:如何提高前端效率并提高资源效率?如何进行性能优化和体验优化?许多团队正在进行性能优化。另外,如何保证产品的质量等。这是您作为发展职位应该做的最基本的事情。

Gap在哪里?

例如,今天的运营策略是什么?什么是领先模式?什么是产品逻辑?什么是业务闭环?什么是转换漏洞?市场份额是多少?它需要的不是前端功能。它还需要三个其他功能:商业思维,基于数据的功能和产品化功能。

如何思考业务的闭环?从产品角度来看,产品逻辑应该是什么?该产品应该怎么做?如何通过了解今天的数据并促进系统的变化来看待许多问题?这是我们的前端需要增强的。当你拥有这三种能力时,我相信你公司的价值会得到体现。

总结

今天,我们仍然在走向未来。未来的世界仍在变化。例如,无服务器正在发生变化,未来仍然未知。最后,我会给每个人一个句子:路很长,路很长,我会搜索它。