复杂业务环境中的前端架构设计

简介: 在云栖社区举办的云栖计算之旅第3期——前端专场沙龙中,阿里云前端开发工程师城池带来了《复杂业务环境中的前端架构设计》的分享。分享中,他主要介绍前端技术发展历程和阿里云在设计业务支撑架构方面的实践经验。

在2016年12月23日由云栖社区举办的云栖计算之旅第3期——前端专场沙龙中,阿里云前端开发工程师城池带来了《复杂业务环境中的前端架构设计》的分享。分享中,他主要介绍前端技术发展历程和阿里云在设计业务支撑架构方面的实践经验。


以下内容根据现场分享和幻灯片整理而成。


前端发展历程

前端发展历程可以概括为石器时代、铁器时代和工业革命三个阶段。

石器时代

12b81b5a83456a7953c36bf3e4f6012e33e2ac47 

在石器时代,前端开发者主要工作是写一些简单的HTML代码、JS代码以及切图;那时,很多公司认为前端岗位并不是很重要。

铁器时代


6bbd1c2037d444c736e1e5c2bbac82d9b2dc25da 

在铁器时代,各种前端框架层出不穷,如jQuery、PhoneGap、prototype等。在该时代,开发不同项目时,开发环境比较糟糕,并且不存在通用的解决办法。

工业时代

262e499a4ee5df3028476f8867294138dfac5b1f 

工业时代是前端百花齐放的时代,涌现了像React、React Native、Node等解决方案。在工程环境上相比前一个时代有了巨大的飞跃。

 

我们是如何做业务支撑的技术架构——业务范畴

 

ef5327c3b0906de0c2850035a25163e995f19722 

在前端方面,阿里云针对不同的业务有着不同的解决方案。目前,前端所涉及的业务范畴包括:阿里云官网、市场、万网、云栖、移动等;支撑这些业务所使用的技术体系如涵盖Rect/NG、Webpack、Weex/RN、Node。

39b27dd4d3aea496549982dec41631210b323712 

上图是业务支撑技术架构的DBL实践,上层是TMS发布系统、Cabinet、Hypercube和万花筒。整个技术架构中的重点部分是DBL-cli部分,它是一系列可视化命令操作的组合:Project、Light、Cabinet、Hypercube,其中Project用于处理与后端关联较为紧密的业务;Light主要用于静态页面模块化的发布;Cabinet用于活动页面、个性化页面的开发;Hypercube提供了可视化的方式用于管理状态的转移。下面来具体看一下每个模块的组成。

d76fd0cac73f8d4c264735af363dc74fda12468c 

Project包括Init、Dev和Publish。在初始化时,会根据用户的选项进行相关项目(移动项目、React项目)的进行初始化;并且在本地调试时会起相应的端口,如3001、8001端口等。

274274dfe6c60fc8f58ce013437f4e4ae841b17a 

Light部分提供了GUI界面,并且提供了Schema语法去描述该模块所需的数据;Schema发布之后,会有相关的系统将其翻译成相关数据,便于运营人员直观地填写数据。

Hypercube提供了可视化的方式用于管理状态的转移,十分简便。通过Hypercube这种方式将不同的状态作为模块,不同的状态之间可以共享相关代码,进而节省了极大的人力。其实现过程是将不同的状态注册成插件,并且初始化,当需要调用时启用即可。


未来展望

未来,前端的发展应该朝向以下几个方面:

第一,云端构建。目前,不同的业务有着不同的配置,整个行业中不存在统一的解决方案;希望能够通过云端配置的方式建立一个统一的解决方案,一劳永逸。
第二, AR/VR。希望未来前端设计能够同AR/VR结合起来,展现方式更加多元化。
第三, 基于Docker的持续集成。未来希望不同开发者能够将各自的架构方案以Docker这类服务化方式输出,并且以ISV这类方式输出到阿里云市场中,建立完整的前端生态。
第四, 监控。未来当线上应用运行出现错误时,希望能够通过日志、短信、邮件等方式通知到责任人,避免重要损失。
相关文章
|
缓存 前端开发 JavaScript
前端开发的必修课:如何让你的网页在弱网环境下依然流畅运行?
【10月更文挑战第30天】随着移动互联网的普及,弱网环境下的网页性能优化变得尤为重要。本文详细介绍了如何通过了解网络状况、优化资源加载、减少HTTP请求、调整弱网参数和代码优化等方法,提升网页在弱网环境下的加载速度和流畅性,从而改善用户体验。
1074 4
|
前端开发
windows10 安装node npm 等前端环境 并配置国内源
windows10 安装node npm 等前端环境 并配置国内源
1227 3
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
展望未来,随着5G、边缘计算等新技术的兴起,微服务架构的设计理念将会更加深入人心,Spring Cloud和Netflix OSS也将继续引领技术潮流,为企业带来更为高效、灵活且强大的解决方案。无论是对于初创公司还是大型企业而言,掌握这些前沿技术都将是在激烈市场竞争中脱颖而出的关键所在。
472 0
|
存储 分布式计算 分布式数据库
【专栏】云计算与分布式系统架构在数字化时代的关键作用。云计算,凭借弹性、可扩展性和高可用性,提供便捷的计算环境
【4月更文挑战第27天】本文探讨了云计算与分布式系统架构在数字化时代的关键作用。云计算,凭借弹性、可扩展性和高可用性,提供便捷的计算环境;分布式系统架构则通过多计算机协同工作,实现任务并行和容错。两者相互依存,共同推动企业数字化转型、科技创新、公共服务升级及数字经济发展。虚拟化、分布式存储和计算、网络技术是其核心技术。未来,深化研究与应用这些技术将促进数字化时代的持续进步。
696 4
|
JSON 前端开发 开发工具
初探在WSL中设置vim前端开发环境
初探在WSL中设置vim前端开发环境
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
1684 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
805 26
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
2477 1
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
366 1
|
前端开发 关系型数据库 数据库
Django 后端架构开发:虚拟环境管理到项目搭建
Django 后端架构开发:虚拟环境管理到项目搭建
526 1

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1466
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    735
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    598
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    600
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    680
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    871
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1737
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    413
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1435
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    729