未来前端的机会在哪里?
这篇文章详细探讨了前端发展的历史阶段及其未来趋势。作者将前端的发展划分为五个阶段,并分析了每个阶段的核心理念和发展特点。第一阶段强调结构样式分离带来的岗位出现;第二阶段引入性能优化的重要性;第三阶段前后端分层的演进;第四阶段无线时代的到来带来的工程化变革;第五阶段低代码与无代码对全栈影响的深远影响。
此外,文章还介绍了当前阿里的四大技术方向:搭建服务、Serverless、智能化和IDE,并指出这些方向对未来前端格局的影响。新兴领域如新交互、物联网和5G等也引发了对新技术变革的思考,并提出了通过双引擎推动技术发展的重要性。
文章最后提到标准组织与开源生态的作用,并建议筹备中国前端联盟以促进行业进步。总体而言,文章结合理论与实践,展望了前端发展的可能性与挑战。
前端发展史
我认为前端的发展被划分为五个不同的发展阶段。这些划分不同于网络上常见的阶段分析方式。具体来说,在我的分类中,默认情况下默认情况下每个阶段都附带了一个理论体系或方法论基础,并带来了重大的进步。这种分类方式提供了新的视角和理解框架。
第一阶段
在2003年时

在这之前主要分为两个角色:一名是Java专业人才——称为Java工程师;另一名则是负责整体视觉协调与网页制作的技术人员。然而随着新理念的确立与传播,在线教育领域逐渐形成了专业化的分工模式:其中一项便是将专业性从网页制作层面提升到系统化应用层面——即形成了现代意义上的前端开发岗位。这种专业理念的确立不仅推动了技术标准的统一化发展,在整个IT行业都产生了深远的影响:特别是在中国互联网快速发展的早期阶段,在这之中前端开发岗位的发展轨迹具有鲜明的时代特征与持续性
第二阶段
第二阶段发生在2008年。当时有一种观点认为,在前端进行90%以上的性能优化是有可能实现的。在前段体系中应用这一理念,则能够让前端的价值得到进一步凸显。

当前前端工作在公司中扮演着重要角色:通过性能优化提升用户体验和提高转化效率等具体指标。意识到前端团队整体价值后发现这一岗位在整个组织中发挥着关键作用。回想过去的那个时代大家对YSlow都有深刻的印象这个技术不仅塑造了过去前端开发的理念也在如今推动了持续优化和提升技术体系的方法形成了新的思维框架这标志着第二阶段的到来。
第二阶段带来了什么?前述提到这标志着一种新的开始。如何理解?目前需要进行大量的性能优化工作,并需通过工具和流程将体系更好地进行工程化处理,从而实现最佳效果.因此可以认为这标志着工程化时代的开始.随后可以看出,最早应用Ant技术进行前端开发,到今天主流构建器如GRUNT.Webpack和Babel等已经逐步兴起.可见,在2008年后整个性能优化过程经历了两个阶段:第一阶段主要集中在前端技术的探索与应用;第二阶段则形成了较为完善的构建体系.
第三阶段
第三个阶段在2013年之前就已经存在。不同的人对技术发展的阶段性有不同的定义标准。并不是一个完整的开发阶段。早期出现在2008年至2009年间。Node.js 早于前端技术框架出现,在那个时候并没有引起足够的关注或应用变化。等到今天我们会发现前端与后端的职责划分已经发生了根本性的变化,在后端体系中对前端进行更细致的划分,在后端负责处理接口管理、数据通信等问题时,在前端专注UI逻辑实现、页面展示等功能时,团队成员之间的协作更加高效清晰。这种分工方式使得前后端之间能够更好地配合协作,在开发过程中避免因职责不清导致的技术性沟通问题。

前向后分层架构推动了前端体系的发展进程,并逐渐影响至今天前端至全栈的整体发展过程。这种影响使许多人有机会从工程工具开发转向基于JS的应用开发领域,在2013年这一时期 marked了一个重要转折点;其中包含了一系列Node.js框架,在数据层面我们看到了GraphQL系统的整体架构,并因此将其引入前端;如今BFF的表现正是基于这套架构的发展成果;这标志着前端发展的第三个阶段起始时间定格在2013年。
第四阶段
改写说明

最初理论主张采用的是Mobile first策略,在随后的发展中逐渐演变为Write Once模式。那么这个时代是什么本质?它要求我们将PC应用向无线方向迁移,在这一过程中许多开发者面临着诸多困惑。当这一潮流 incoming时(也就是 incoming潮汐来临时),开发者发现大量资源转向移动端应用开发领域,并且移动端生态逐渐丰富起来。然而在今天这个阶段中(即此时),我们又看到大量的资源开始流向Web端开发领域(即前端开发领域)。这种来回转换的现象持续不断发生(也就是持续不断交替进行)。那么背后的原因是什么呢?简单来说就是大家都在思考到底是H5还是Native技术更适合当前场景的应用(即在选择技术实现方案上存在分歧),未来的发展趋势究竟是以H5技术为主还是以Native技术为主主导?
我对这一焦点的看法存在疑问。为什么会纠结于今天选择使用H5还是Native来解决问题?我认为,在移动互联网时代的核心关注点应聚焦于如何实现标准化的技术方案能够让更多开发者能轻松构建该平台,并如何确保这种解决方案能提供如同H5般标准且易于使用的网页体验。
聚焦于这一核心问题,在移动互联网兴起的背景下,
每个APP如何重构其渲染引擎?
那么一个合适的渲染引擎应该具备哪些特征?
从现有的情况来看,
组件化(或封装)是最基础的实现方式,
包括H5应用、RN框架、WEEX技术和Flutter等。
整个主线和思维框架按照这一设计理念进行构建,
并且时至今日这种设计理念仍然深刻地影响着前端开发者的思路。
第五阶段
第五个阶段是低代码对于整个体系影响。

在互联网领域中存在一个显著的机会,在此背景下许多企业在构建面向B端(To B)的应用体系时面临着共同挑战。在前端体系中将面向B端的应用视为后台系统,并遵循高度统一的设计规范与操作流程。值得注意的是,在这一架构下所采用的标准组件、统一表单设计以及可视化图表呈现均展现出高度的一致性。与之形成鲜明对比的是C端应用的多样化特点——相比之下,在B端应用体系中缺乏如此多样的定制化需求与解决方案。因此,在2016年这一时期的研究重点应集中在如何通过低代码或无代码平台实现对该类系统架构的根本性转变上——这不仅推动了相关技术的发展方向,并且为整个行业带来了诸多创新机遇。目前已有众多企业致力于开发类似的技术方案,并已取得了显著成效;其中最具代表性的当属微软推出的PowerApps平台,在这一领域持续进行着积极探索与技术创新
小结
回顾历史可知,在...阶段(此处可补充具体时间点),随着互联网行业的快速发展阶段

今天的机会
审视今天的本质意义在哪里?每一天都投入的重点领域背后都承载着什么样的价值逻辑?今年在阿里经济体前端委员会中确定了四项前沿技术发展方向:首先是服务架构的构建;其次采用Serverless技术方案;再次推动智能化升级;最后基于IDE平台优化。
搭建服务
对于搭建服务的学习来说,在今天的讲解中了解了低代码与无代码采用什么手段实现的问题其中最为关键的是系统内部包含了大量功能丰富的组件元件以及模块

在服务生态构建过程中,我们持续进行多维度探索。例如原有的渠道活动模块,在功能架构上具备高度的模块化特性。因此在此框架下,我们能够覆盖从后端系统到无线终端、PC终端等多个关键业务场景。针对这些多维度业务场景的需求,《标准建设方案》提出了相应的解决方案。其中《标准建设方案》要求针对这些多维度业务场景的需求,《标准建设方案》提出了相应的解决方案。其中具体要求包括:针对这些多维度业务场景的需求,《标准建设方案》提出了相应的解决方案;同时对各类型系统节点的功能规范性要求进行了明确规定;并明确了各类型系统的接口规范性要求;最终目标是实现整个服务生态系统的标准化运营模式构建工作;通过这一策略规划,《服务标准化 blueprint》将指导相关系统按照既定的标准进行开发与运维工作;从而实现对现有各类业务系统的全面适配与优化提升工作;最终目标是以最高效的方式实现对各类核心业务的支持能力提升工作;通过这一策略规划,《服务标准化 blueprint》将指导相关系统按照既定的标准进行开发与运维工作;从而实现对现有各类业务系统的全面适配与优化提升工作;最终目标是以最高效的方式实现对各类核心业务的支持能力提升工作;通过这一策略规划,《服务标准化 blueprint》将指导相关系统按照既定的标准进行开发与运维工作;从而实现对现有各类业务系统的全面适配与优化提升工作
Serverless
今天有许多人得知了关于Serverless的信息, 不同的人对Serverless的理解可能存在差异. 我认为, 在Serverless体系中存在两种主要的角色:
- 内是从公司内部角度探讨Serverless对前端技术的影响。
- 外则关注的是如何从云端提取并实现Serverless能力。

在公司内部环境中引入Serverless后会带来哪些方面的变化?这可能有助于提升前端与业务之间的关联性,并使更多底层能力能够向下延伸。将前端迁移到Node.js体系确实面临诸多挑战,在采用Serverless架构时,则无需过多关注服务器的部署问题。这一观点是正确的,在这种架构下也不用过多关注DevOps的整体运作流程。同样不需要过多关注数据库的具体运行状态以及其背后的逻辑维护工作。
目前我的团队中不仅包括前端开发团队,另有200多名JAVA专业人员,大家共同负责推进各项体系变革,致力于将各项业务全面迈向Serverless架构。Serverless模式要求我们将后端能力平台化为服务,并彻底后台化整个系统架构,从而实现对原有体系结构的全面重塑。随后,前端开发人员将会面临大量的业务逻辑开发任务,这些工作将使前端系统更加贴近实际业务需求,让其真正理解并深入掌握各类业务的核心运作机制。
回到外部体系中进行探讨,则它是怎样的?回想五年前,在D2平台上我就分享了一个观点:即在云端方面,则更多地采用Serverless计算模式来实现函数式编程的方式转变,并以此提升开发者的工作效率。而小程序即是今天的小程序生态形态,在某种程度上也是未来端点系统的一个跨端解决方案,并且具有较好的收益回报以及安全可控性特点;此外,在云端与端点之间建立良好的连接通道,则是确保整个体系能够高效运转的关键所在。
我发现目前的数据表明,在云环境下运行的Serverless服务中约有60%至70%的程序运行在Node.js平台上。因此,在这一领域中,Node.js的应用前景非常广阔。研发平台的架构是怎样的?上层数据接入网关的工作模式是怎样的?编排机制又如何运作?这也是Serverless技术近年来聚焦的重点领域,并在此基础上逐步构建起完善的基础设施。毫无疑问,在未来的发展进程中,Serverless技术将在前端应用领域引发一场深刻的变革。
智能化
上一年在D2课程中探讨了智能化相关议题。智能化必将成为推动未来发展的关键技术之一。那么为什么选择这一路径?随着人工智能时代的到来,我们是否能够将设计转化为代码?每个企业在当前阶段都面临着大量的前端开发任务:需要处理大量设计稿以及原有的代码库。通过运用大量设计稿与原始代码的数据进行机器学习训练(machine learning),我们可以让组件的布局参数化并可通过机器学习进行优化(optimization)。这种技术的应用将有助于解决前端开发中的生产力瓶颈问题(bottleneck),从而使得开发团队能够将更多精力投入到创新与战略性的业务领域中去。
我认为智能化必然会导致前端未来格局的重大转变。这种转变归因于AI技术的应用使得许多低效工作得以高效完成。转而探讨另一个关键问题:无论是无线化时代还是中后台时代,在系统呈现高度统一性特征时与原先C端PC分散化的模式不同。当系统呈现高度统一性特征时完全可以通过建立统一的技术架构实现大规模部署,并且这种大规模部署我们希望借助AI技术来推动整个业务体系实现全面升级。基于此我相信这种变革将为前端领域带来更多机遇

IDE
大家自然会好奇:为什么IDE会成为你们的核心关注点?下面我来分享一些思考。今天阿里的前端团队开发了一个叫做"工程中台"的产品。该产品实现了前端代码从提交到发布的一整套管控流程——不仅涵盖了中间提交阶段后的编译优化、构建流程以及自动化测试等环节,并且能够实时监控代码质量的变化情况。然而,在实际应用层面,在各个不同的 frontend 团队层面,则各自拥有独立的工具支持——但这些工具在不同团队之间存在割裂,并不能实现资源共享。这种状况的根本原因在于:传统上来说"工程"不仅仅是指代码提交至上线这样一个简单的流程;真正实现了一个完整的前向开发生态应当从编码开始就建立全栈式的质量管理体系。

小结
在今天的学习中,在整个搭建体系中,在整个低代码和无代码的生态系统中,默认情况下IDE提供了许多功能支持。我们是否可以通过一套架构实现所有系统的构建,并且让本地IDE与云端IDE实现无缝对接?也就是说,通过组件生态系统的全面整合与优化设计来形成一个完整的闭环系统?目前看来是可行的方案。
向外扩展,并聚焦于当前的云生态系统,在这一领域也需要提供更多支持和资源。通过观察市场动态与用户反馈发现:IDE 能够整合内外部资源,并跨越线上线下界限;能够将集团前端技术能力与阿里整体生态系统实现无缝对接;这正是我们将其视为战略核心的重要考量因素之一。
新兴领域
前面我们介绍了今天阿里前端的主要核心技术领域,在这四大核心领域中我已经进行了深入阐述,并希望能够与大家一起带大家进行一番深入探讨。当然除了这四个核心领域外,在整个前沿科技发展中还有很多值得深入探索的方向。

如前所述的三个领域,在未来我们仍有广阔的发展空间。让我们聚焦于新交互这一主题。首先,在前端方面的能力是其核心优势所在——通过交互来实现所有的功能需求。每当新技术不断涌现时(比如VR时代的到来),我们需要思考如何在新的环境下完成所有的交互?举个例子来说,在VR时代到来时,那么如何实现VR交互?这一领域与当前开发领域的区别主要体现在哪里?是否需要对前端引擎进行重构?还有许多值得我们深入探讨的方向。
物联网时代悄然降临,在这个快速变革的背景下,我们的团队专注于IoT领域的同时也涉足多个新零售领域。在这一转型过程中,请前端开发者关注并采取相应的策略。在这一生态系统中,前端开发者可以通过JavaScript开发什么样的驱动应用?这实际上为前端开发提供了丰富的可能性。
目前中美之间就5G技术发展关系十分紧张,这都源于与5G相关的各种问题。值得深入探讨的是:当5G技术全面到来时究竟会带来哪些变化?面对性能消耗和兼容性等问题,在网络速度快速提升的情况下预计未来网络速度提升后将逐步向云端转移。举例来说,在手机端进行高精度的3D建模时体验会非常不流畅;同样地,在进行复杂的游戏或动画制作时也会面临诸多挑战;过去几年中,《吃鸡》等热门游戏中多是以PC端为主打平台进行下载与游玩
5G的到来将带来怎样的变革?它将实现云端渲染,并借助流媒体交互实现整体系统运行。该技术首先主要解决观测渲染性能方面的关键挑战,在此基础之上还成功应对了众多兼容性挑战。这一技术革新将极大地简化复杂流程。
在面对技术变革时,请问它会带来什么?这些变化必将在未来留下深刻印记。这正是我们应当深入探究的关键所在。因为这些变化必定会对我们的判断产生重要影响,在这种情况下,请问您是否准备好做出相应的调整?这种预判将塑造我们对未来的认知基础,并引领我们在技术和创新方面的探索与实践。
如何引领技术?
为何会出现这一话题?这也促使我们进行了深入的思考。阿里 frontend 部门共有超过 2000 人,在技术和人才储备方面具有显著优势。然而,在当前 frontend 技术领域中构建高质量的人才体系同样需要投入大量的人力资源。今天,在 frontend 开发领域中我们的影响力与我们对整个前端开发领域的贡献程度直接相关。从个人角度来看,并非仅仅局限于某一家公司的发展方向;而更深层次地探讨整个行业的现状和未来趋势,则有助于我们制定更有远见的发展策略。
对于某些事情是否被认为是困难的呢?然而个人认为这些并不算特别困难。关于Flutter而言其核心架构基于跨平台渲染技术并且提供了统一的图形绘制功能。回想当初在无线网络时代追求兼容性我们团队一度陷入了困惑为何我们的解决方案最终未能进一步完善这一问题导致另一个解决方案应运而生。
首先, 我们并没有丧失思维能力。
回到当下这个时代, 在看完后立刻开始行动。
他的理念促使他完成了这个任务.
在这里继续深入, 我们已经掌握了相关的理念和能力,
但为何我们无法将这些转化为实际成果呢?
这个问题值得我们深入探讨.
从表象到本质
在我讲解时代变迁的过程中,在阐述我的理论时提到了一个关键点:它提供了推动一个时代的动力和方向。同样地,在框架领域中也是如此:它们旨在解决特定的问题。 React.js 为何存在?它最初确实面临诸多挑战与痛苦;后来人们发现与其继续沿用旧有的架构模式而产生效率上的瓶颈,不如另辟蹊径寻求新的解决方案来优化现有架构设计. 无论是之前提到的 MVC 模型、MVP 策略还是 MVVM 理念,大家普遍认为这个话题曾被我提及过. 但是最后变成公共标准不是我,而是别人.
当然首先要回归到一个核心理念,在当前环境下针对某个具体问题或目标而言。首要的是确立或明确这一核心理念的前提下展开后续工作。比如我希望在当前阶段集中解决多终端适配的技术挑战,并通过多种方法和技术路径实现整个系统的优化与升级。那么问题的核心在于:我们今天应该如何着手解决当前面临的问题?这个问题具体指的是什么?我们需要明确并界定这一问题的具体范围与关键要素。

理念到落地
通过双引擎促使今天的变化。

人才引入的今天使命是什么?我们需要基于之前提出的一系列假设,并结合对未来畅想的深入思考和对当前问题的彻底解决,在开发过程中专门吸引具备专业资质的人才。在开发IDE时通常需要招聘熟悉该领域经验的专业人士,并从其他领域吸收优秀的技术和理念来实现创新突破。那么什么是真正的跨界呢?它不仅仅是从一个语言到另一个语言吸收长处的能力吗?这种跨领域的思维能力正是推动技术进步的重要源泉之一。而我们渴望能够吸引来自不同领域的跨界人才来推动整个体系的发展。
除了这类专业人才之外,在当前背景下存在许多公司致力于这一领域的技术应用与创新探索。但其本质上属于一个学术性研究范畴,在高校中普遍开设相关课程。然而从体系层面进行探讨时发现:我们对于这一技术的核心要素和评估标准的研究现状如何?是否具备足够的深度和系统性仍需进一步探讨。值得注意的是,在三维技术领域亦有类似的深入研究:虽然高校中同样开设相关课程但其背后的图形渲染技术和实现方法往往涉及复杂的数学模型与算法优化问题。对于这类专业人才而言:我们是否已经建立了一套完整的培养体系?这确实是我们每个组织、每个团队都必须深入思考的问题之一
向上方则依赖于双引擎的支持。我希望许多任务能够借助低代码和无代码平台高效完成冗余工作后,这样我们便能将更多资源投入到应用的核心部分。
第二类专业人才的加入已成为必然趋势。我们计划通过系统化的研究路径引入最新理论成果。运用一对多的创新机制,将这些理念转化为具体的技术创新方案,这将是当前国内尚未普遍存在的状态,也是我们今天重点推进的方向之一。这一现象在国内尚属罕见,并且是当前亟需突破的关键领域。
影响力建设

两个途径:
- 第一主要途径是标准化体系。涉及前端开发的标准化体系主要包括TC39、W3C以及Node基金会等三个框架体系。基于当前技术水平和发展规划需求,在这一领域的发展尚显不足。
- 第二个重要途径是开源生态系统。开源生态系统为我们提供了丰富的资源库和技术支持平台。目前在这一领域的发展尚显不足。
- 回到当前发展现状,在这一阶段我们需要重点解决的问题包括:如何通过现有技术积累快速实现标准化目标?这不仅是技术层面的挑战问题。
- 在这一过程中我们需要重点关注以下几点:一是建立完善的技术支持体系;二是探索高效的协作模式;三是建立清晰的技术路线规划机制。
标准组织
首先,我们需要深入了解标准组织的构成.它的主要发展方向是什么?其基本框架是怎样的?我需要承担哪些角色?不应承担哪些职责?了解其运行机制,并结合自身的分析能力,借助对未来发展的预判能力以及在实际应用场景中的指导作用,有助于进一步完善这一系统.

开源生态
开源生态系统相对简单。如何从多个维度进行挖掘、培育以及运算(注:原文应为"运算"而非"运营"),使其发展成为一个具有社区化运营能力的整体?

实际上,并非所有团队都能实现开源社区化运作。那么问题来了:团队能否实现高效的社区化运营?我认为,在大多数情况下,这样的理想难以实现。值得注意的是,在内部项目的开发中,并非自上而下进行代码分配的方式才是更为普遍的做法——相反,在许多情况下,默认的做法其实是类似于一种开放源代码平台的行为模式。这种组织方式能够为整个技术生态注入新的活力,并为项目的持续发展提供保障。
筹备中国前端联盟
鉴于HAX带来的挑战以及涉及阿里的前端技术、百度360生态与HAX自身的问题,在深入探讨如何建立中国 frontend 联盟时发现这一问题具有重要意义。我们探讨如何建立一个能够促进中国 frontend 技术进步的组织结构,并在后续工作中仍需细致跟进各项落地细节以确保项目顺利推进。
这个组织要做的事情:
- 标准对接
- 开源共建
- 信息互通
依靠全球协作实现广泛影响力的目标已经提出,
期待该组织未来能够建立,
基于前述观点,
当下具备理性思维与解决能力,
然而目前尚未达到世界领先水平,
这确实是一个值得深思的问题,
中国前端的发展必经之路是实现世界领先水平。
总结
今天是我们人生旅程中的一个起点,
时代的步伐永不停歇,
例如Serverless技术也在不断演进,
未卜 ahead的路途充满未知。
最后一条赠言送给我们所有人:
艰难的征途虽长却意义深远,
让我们携手共赴未来吧!
本文作者: 郑叶飞(圆心)
该平台为在线学习和视频课程的开发提供了便利。对开发者而言非常友好。我们致力于为开发者打造优质的学习体验。不论是新手还是经验丰富的开发者都能在这里找到所需资源。
