备案 控制台
开发者社区 阿里巴巴终端技术 文章 正文

迈向应用研发新时代,前后端一体化研发模式即刻体验

本文涉及的产品
函数计算FC,每月免费额度15元,12个月
简介: 随着 Serverless 基础服务带来的技术红利,前端工程师能够以更低成本和更高可靠性掌控后端的服务。在应用开发过程中不仅仅要考量运维的成本,如何让前端开发架构同后端应用架构结合,来实现应用研发提效,同样是开发者关注的核心,本文将从前后端一体化研发模式的开发实践上同大家一起讨论探索。

截屏2021-11-19 上午10.28.16.png随着 Serverless 基础服务带来的技术红利,前端工程师能够以更低成本和更高可靠性掌控后端的服务。在应用开发过程中不仅仅要考量运维的成本,如何让前端开发架构同后端应用架构结合,来实现应用研发提效,同样是开发者关注的核心,本文将从前后端一体化研发模式的开发实践上同大家一起讨论探索。



传统应用研发模式



在传统的前端研发的流程中,大抵会有如下两种同后端的研发协作方式:


  • 前后端分离模式
  • BFF(Backend For Frontend)模式



前后端分离


前后端分离的开发模式,其特征非常明显:


  • 前端负责视图展现,以 SPA(single-page application )为代表的通用解决方案
  • 后端负责业务和数据逻辑的处理


截屏2021-11-19 上午10.28.30.png


对于这种职责的划分,也成为前端开发这一职业出现的一大因素,开发者期望不同的开发工程师在能够各自专注在其领域和负责的事情上,不仅仅分工的分离,资源部署也可以进行分离。对于前后端连接的部分,如 API 相关的约束和规则,以约定方式提前沟通。


相比于传统 Web 开发,比如 JavaWeb,前端端分离带来的优势是明显的。但对于前端领域希望的优化的方向,可能受限后端架构,比较有代表性的场景:SSR(Server Side Render)。


BFF


除了可能出现的架构受限之外,在实际项目开发中,也经常出现前后端开发分配的问题,比如一个业务逻辑,后端同学希望通过两个接口的组装下,而前端期望减少 http 请求,应该再加一个接口。


从各自领域出发各有各的道理,而前端在面向快速迭代的业务上,也希望掌握更多的控制权,那在前后端之间加一层处理,用于用户体验的适配和 API 的聚合就变得水到渠成。


截屏2021-11-19 上午10.28.41.png



BFF 的出现可以降低一定的沟通成本,在后端服务化的现今,通过 BFF 组装接口架构上会更合理。前端也掌控的更加服务能力,让 SSR 等方案的应用也将变得更加顺滑。


相信“全栈开发者们” 大多数还未来得及享受 BBF 带来的幸福感,便要开始烦恼因为这一层引入导致的问题,特别是链路复杂度上升,除了前端资源和后端资源发布之外,还需要关心 Node 应用;维护成本的问题,让本就缺乏运维经验的前端开发更是无从下手。



前后端一体的框架设计



在 Serverless 技术红利的现在,BFF 以往需要关心的负载、容灾和报警等运维方面的内容,都可以借助 Serverless 的技术体系得到缓解,同时面向前越来越多的前后端协同开发模式,如何提供一套框架以提效应用研发显得尤为重要。


什么是一体化研发


传统全栈开发,大多是前端资源和 Node 服务分别进行维护,独立启动调试服务,并各种拥有自己的开发部署流程。


截屏2021-11-19 上午10.28.55.png



传统模式更多是将资源机械地组合在一起,没有有充分发挥 Javascript 的语言优势,无法解决前后端开发之间存在的割裂感。


截屏2021-11-19 上午10.29.05.png



一体化的研发模式,希望提供的开发体验,除了同仓库之外,还能够以同一个命令开发构建,开发过程中共享源码、类型,真正做到一起开发一起部署。



一体化研发框架设计


前后端一体的研发框架,包括前端 React 框架以及 Node 框架


截屏2021-11-19 上午10.30.23.png



以框架工程服务为基础,提供工程构建和运行时开箱即用的能力:


  • 借助工程上的插件能力,在调试时提供统一的 dev 服务,构建时统一的命令构建产物
  • 通过前端及 Node 运行时能力的生成,为技术方案的一键开启提供了可能


前端以函数调用的方式请求后端服务,通过函数式的编程范式,让开发更贴近现代前端 Web 研发的方式。


截屏2021-11-19 上午10.30.32.png



前端显式地引入后端代码,为了在构建阶段能够正确进行前端资源和 Node 服务的打包,框架通过约定方式进行 API 的编译及转化


截屏2021-11-19 上午10.30.40.png



后端 API 按目录约定生成指定的 API 路由,前端的函数调用,在编译阶段默认转化成 request 请求,开发者多数情况下无需关心 API 的调用地址。


除此之外框架提供了基于函数式的服务调用,让开发者以更加贴合函数式的方式使用 Node 服务。


通过前后端一体的研发模式设计,提供了更加符合直觉的应用开发方式,开发、调用、测试均像纯函数一样简单,让前后端开发方式更加一致。



开箱即用的技术方案


前后端一体的开发模式下,不仅仅可以让应用开发更加顺滑,而且在应用一些技术方式时将变得更加简单。


以 SSR 的使用流程为例,在传统模式下,如果希望应用 SSR 能力:


截屏2021-11-19 上午10.30.51.png


而在一体化的研发模式下,开发者仅仅只需要在工程配置文件中开启一个配置项:ssr: true 便可以获得上述流程中的所有能力,包括工程构建上需要进行的处理。


通过一体化框架的能力,大大降低了技术方案的应用成本和复杂度,几乎以零上手成本的方式呈现给开发者。


除了 CSR、SSR 的一键切换之外,诸如 SSG(Server Static Generate)的技术方案也能变得开箱即用。



开发与部署



一体化的开发模式下,仅需要一个命令便能开始应用的开发调试:


截屏2021-11-19 上午10.31.00.png


借助框架 vite 模式和 Node 代码的运行时编译,给开发者带来流程的开发体验,开发调试速度得到极大提升。


对于应用部署同样通过统一的构建命令完成整个应用的构建,结合基于 Serverless 的平台服务完成一键部署,享受 Serverless 的技术红利带来的低运维甚至零运维。


在不增加技术运维成本的基础上不断拓展前端开发的边界,向着应用开发升级。



未来



借助 Serverless 带来的运维成本降低,让前端开发者专注开发的基础上更加大胆自信地去掌控整个应用的逻辑。不断拓展自己在业务上的能力边界,逐步从前端开发转向应用开发。



一体化应用的开发模式,以其高效开发、便捷部署的特点将会占据应用开发的一席之地,而针对特定领域的解决方案,在配合平台服务能力的基础上会有更大的想象空间。在未来的研发模式中,框架仅仅只是提供了开发过程的研发提效,面向应用开发的全链路,必定是工具、框架、平台等多个维度相互结合,共同打造极致研发体验的过程。


如果对于一体化的研发模式感兴趣欢迎关注相关的项目:


  • 基于 React 的一体化研发解决方案 ICE: https://github.com/alibaba/ice
  • 云端一体 Node.js 框架 Midway: https://github.com/midwayjs/midway
  • 多端应用研发方案 Rax: https://github.com/alibaba/rax



研发模式体验



2021.10.19 - 10.22 云栖大会期间,我们在云栖小镇 D3 馆的云起实验室布置了云端一体化研发的体验区,大家可以抢先接触和体验面向未来的云端一体研发模式,体验项目包括专注中后台以及面向跨端开发的一体化研发,同时现场将有精美小礼品赠送,欢迎大家前来现场探讨和体验。


截屏2021-11-19 上午10.31.15.png



相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
技术小达人
目录
相关文章
开发者社区
|
云计算 项目管理 云安全
附PPT下载 | 小邪:新基建之云上IT研发路 - 基于云架构的研发模式演进
企业的数字化上云已经成为社会共识。5G、工业互联网、人工智能、云计算作为数字经济的主要基础设施,将成为中国新基建的主要内容。云将给IT部门及IT人员带来研发运维方面的革命性的变化与冲击。本次分享将由阿里巴巴集团副总裁、云智能基础产品事业部负责人蒋江伟为大家介绍阿里巴巴面向互联网、面向云的研发模式的演
开发者社区
1340 0
mrq4nk6ni2neg
|
26天前
|
机器学习/深度学习 人工智能 运维
智能化运维的崛起:AI在IT管理中的应用与挑战
【6月更文挑战第21天】随着人工智能(AI)技术的飞速发展,其在信息技术(IT)运维领域的应用已成为推动效率和创新的关键动力。本文将深入探讨AI如何重塑IT运维的面貌,包括自动化故障检测、预测性维护、以及智能决策支持等方面。同时,我们也将分析在实施智能化运维时所面临的技术挑战和道德考量,并提出相应的解决策略。
mrq4nk6ni2neg
342 4
天下无贼001
|
1月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维的兴起与挑战
【6月更文挑战第10天】随着云计算和大数据技术的飞速发展,智能化运维(AIOps)逐渐成为IT行业的重要趋势。它通过集成机器学习、数据分析等技术,实现对复杂系统的自动化监控、故障预测和问题解决。本文将探讨智能化运维的核心理念、实施步骤以及面临的主要挑战。
天下无贼001
23 1
游客mieztdzbvgtuy
|
16天前
|
机器学习/深度学习 人工智能 运维
智能化运维的演进之路:从自动化到人工智能
本文将探索智能化运维(AIOps)的发展脉络,从早期的脚本自动化到现今集成人工智能技术的高级阶段。文章将基于最新的行业报告、学术论文和案例研究,深入分析AIOps如何通过数据驱动的方法提升运维效率和预测性维护的能力,以及这一转变对IT运维专业人员技能要求的影响。
游客mieztdzbvgtuy
25 0
ZohoCRM
|
2月前
|
人工智能 文字识别 自然语言处理
低代码引领AI创新:业务解决方案智能化设计
低代码平台结合AI技术,正推动构建智能化应用的革命。低代码通过可视化界面和预置模块简化开发,提高效率,降低技术门槛,并能灵活应对变化。AI则为应用带来智能决策支持、自动化工作流和增强用户体验。实际应用中,AI用于智能预测、情感分析、OCR和关键字提取,帮助企业加速数字化转型,提升业务价值。
ZohoCRM
73 1
auqbllxiu
《从传统到智能企业研发效能转型之路》电子版地址
从传统到智能企业研发效能转型之路
auqbllxiu
71 0
《从传统到智能企业研发效能转型之路》电子版地址
阿里云Serverless
|
弹性计算 运维 监控
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题?
系统上线 SAE 之后,开发运效率提升了 50%+,机器成本下降了 20%,运维人力成本下降了 60%,扩容速度更是比之前快了十几倍,很好的完成了之前定下的目标。
阿里云Serverless
203199 10
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题?
阿里云云原生
|
弹性计算 运维 监控
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题
系统上线 SAE 之后,开发运效率提升了 50%+,机器成本下降了 20%,运维人力成本下降了 60%,扩容速度更是比之前快了十几倍,很好的完成了之前定下的目标。
阿里云云原生
496 0
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题
学堂小助手
|
存储 分布式计算 监控
阿里云互联网中间件:让企业实现业务云化持续创新|学习笔记
快速学习 阿里云互联网中间件:让企业实现业务云化持续创新
学堂小助手
181 3
开发者小助理
|
机器学习/深度学习 人工智能 城市大脑
前端智能化在阿里云大数据研发平台中的实践
前端智能化有哪些实际应用场景?
开发者小助理
492 0
前端智能化在阿里云大数据研发平台中的实践

阿里巴巴终端技术

热门文章

最新文章

  • 1
    标准流程描述语言 WDL 阿里云最佳实践
  • 2
    Amazon Redshift数据迁移到MaxCompute
  • 3
    Ossimport 大数据量迁移方案总结
  • 4
    星际之门SG1第一至十季/全集Stargate SG-1迅雷下载
  • 5
    浅谈物联网工程专业:技术融合与未来发展
  • 6
    Foxmail新建文件夹后,邮件连同文件夹都找不到了
  • 7
    6.6. ALL / Any
  • 8
    netty中的ChannelHandler和ChannelPipeline
  • 9
    mysql dba系统学习(23)必须明白的sql知识
  • 10
    BYOD世界: 2015年该期待什么
  • 1
    DataWorks操作报错合集之在执行SQL查询时遇到报错,代码为[XX000],该怎么解决?
    25
  • 2
    实时计算 Flink版操作报错合集之使用kafka connector时,报错:java.lang.ClassNotFoundException,是什么原因
    24
  • 3
    DataWorks操作报错合集之数据源可以连通但离线同步任务报错无法取到源表的字段,是什么导致的?
    17
  • 4
    实时计算 Flink版操作报错合集之使用flink jar开发,报错:找不到main方法,是什么原因
    18
  • 5
    DataWorks操作报错合集之使用连接串模式新增PostgreSQL数据源时遇到了报错"not support data sync channel, error code: 0001",该怎么办?
    21
  • 6
    实时计算 Flink版操作报错合集之在进行数据处理时,遇到文件末尾添加了回车换行符但仍然报错,该怎么解决
    18
  • 7
    DataWorks操作报错合集之执行读取任务时遇到报错:“ERROR: failed to acquire resources on one or more segments”,该怎么解决?
    22
  • 8
    实时计算 Flink版操作报错合集之遇到报错ORA-01435用户不存在的问题,该如何解决
    14
  • 9
    通信组件之provide 与 inject实现兄弟组件通信
    15
  • 10
    Python 神器:wxauto 库
    16
  • 相关课程

    更多
  • 云生态人才需求现状与职业规划
  • 研发效能
  • 云原生技术趋势与行业发展解读
  • Serverless 架构在软件研发工程实践方面的价值
  • 企业运维监控平台架构设计与实现
  • 大数据SRE体系能力建设
  • 相关电子书

    更多
  • 京东应用运维智能化演进实战
  • 阿里智能运维平台如何助力研发应对双11挑战
  • 阿里巴巴研发效能提升及业务创新实践
  • 相关实验场景

    更多
  • 基于Hologres+PAI+计算巢,5分钟搭建企业级AI问答知识库
  • 倚天大数据电商数据分析快速实践
  • 利用大模型大规模分发技术,实现AIGC在线应用秒级弹性
  • 云原生AI套件:五分钟微调宝可梦风格StableDiffusion
  • 5分钟轻松打造应对流量洪峰的稳定商城交易系统
  • 快速开发光伏电站数字孪生运维系统
  • 下一篇
    通义千问API入门教程

    PHP网站源码西乡网站seo优化西乡seo排名福永英文网站建设广州百姓网标王推广宝安网站优化按天扣费福田品牌网站设计光明网络广告推广南山网络营销宝安网站排名优化布吉模板推广横岗百搜标王福田如何制作网站丹竹头企业网站设计大鹏网站搭建龙岗网站制作设计龙华SEO按天收费荷坳网站推广工具观澜seo排名松岗外贸网站设计东莞网站优化按天扣费光明设计网站吉祥关键词排名吉祥企业网站设计大运百度关键词包年推广广州SEO按天计费永湖网站排名优化大芬百搜标王惠州推广网站南澳企业网站建设吉祥SEO按效果付费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化