写点什么

GitHub DevOps 平台界面全面升级:工程师详解 React 驱动下的应用化体验升级

  • 2025-03-05
    北京
  • 本文字数:1641 字

    阅读完需:约 5 分钟

大小:794.43K时长:04:31
GitHub DevOps 平台界面全面升级:工程师详解 React 驱动下的应用化体验升级

近日,一位 GitHub 的软件工程师分享了该平台用户界面的演进历程与未来规划,其中涉及 React 框架的深度应用,以及微软推动用户从 Azure DevOps 向 GitHub 迁移的战略考量。

 

Joel Hawksley 作为 GitHub 首席工程师,主导开发了该平台专用的 Primer 设计系统,这套工具集支撑着 GitHub 全站的界面设计与开发工作。过去两周内,他先后在温哥华 Ruby 开发者会议(一周多前)和博尔德 Ruby 技术沙龙(二月初)发表演讲,向数百万日常使用 GitHub 的开发者群体介绍了平台设计体系的演进方向。

 

GitHub 技术团队曾在 2023 年的一篇技术博客 中提到,其核心架构始终基于 Ruby on Rails 单体应用,当时代码库规模就已经接近两百万行。Hawksley 称目前的系统中包含约 5000 个数据模型、4000 个 UI 渲染路由和 2100 个控制器组件,每月有近 650 名开发者参与代码贡献。

 

Hawksley 在其博客中 提到,GitHub 的核心设计目标之一是打造"更接近应用体验"的界面。这一决策背后有多个考量因素:首先是通过动态化 UI 弥补与 Azure DevOps 的功能差异,Azure DevOps 这款微软服务与 GitHub 存在功能重叠,且早在 2018 年微软收购 GitHub 前就已存在;其次,Linear 和 Cursor 等"应用化体验更突出"竞品的出现给 GitHub 带来了竞争压力;此外,移动设备使用率的持续攀升也促使了界面的革新。"如果用户整天都在用 app,传统网页体验就显得过时了。"他解释道。

 

这些发展的趋势推动了 GitHub 更多地采用 React JavaScript 框架。"我们现阶段在利用 React 开发新功能模块,特别是那些需要实现应用级交互特性的场景。"Hawksley 表示,但他也补充强调:"目前还没有整体重构现有代码的计划。"

 

虽然 GitHub 的 Primer 设计系统 专门为 React 组件提供了支持,但在其文档中也明确表示,该系统主要聚焦界面展示组件的开发规范,暂不涉及 API 数据交互层面的功能实现。

 

Rails 框架创始人 David Heinemeier Hansson 一直在倡导开发者避免使用需要构建步骤的 JavaScript 框架。他在 2023 年 10 月的技术分享 中强调:"更好的做法是充分利用现代浏览器原生支持的 JavaScript 和 CSS 特性,避免对浏览器本身就能解析的代码进行额外编译。" Rails 的默认前端方案采用 Stimulus ,这是一款专注于增强 HTML 交互的轻量级框架,配合 WebSockets 实现无刷新页面更新的 Turbo 技术栈。

 

尽管 GitHub 的工程复杂度远超普通项目,但其增加 React 应用占比的决策仍被外界认为是与 Rails 生态的发展方向相悖。不过从微软的技术布局来看,React 已被深度整合到包括 Office(利用了 React Native)在内的多个核心产品中。

 

Hacker News 社区对 GitHub 的 UI 发展路线持怀疑态度。有开发者在该讨论帖中指出:"GitHub 移动端应用功能残缺,移动网页版体验更糟",认为移动端相比网页版缺失了关键的功能。另有用户认为 GitHub 界面正在丧失其简洁的优势:"早期设计干净利落,现在功能冗余且易用性下降"。讨论的重点集中在两个方面:第一,开发者主要使用桌面环境,移动端优化是否值得优先投入;第二,通用场景下优秀的现代 UI 设计理念是否同样适用于开发工具场景。

 

Hawksley 提到的另一个话题也很值得关注,尤其对于关心 Azure DevOps 未来发展的企业级用户,该平台在企业市场占据重要地位且仍在积极开发中。根据 产品路线图来看,Azure DevOps 将持续改进 Azure Test Plans 等 GitHub 尚未提供的功能模块。与 GitHub 的 Projects 功能相比,Azure Boards 在功能完备性和成熟度上优势明显。

 

"微软收购我们时,确实是希望将 Azure DevOps 的用户迁移到 GitHub 上,"Hawksley 在温哥华会议上 如此说。随后他在 Hacker News 上澄清,称 PPT 中的表述有误:"准确说法应该是'微软希望为 Azure DevOps 用户提供迁移到 GitHub 的可能性'。"

 

从开发进度来看,GitHub 的迭代速度明显快于 Azure DevOps。虽然目前两个平台仍在并行发展,但 GitHub 显然拥有更为明朗的发展前景。

 

查看英文原文:More React, more app-like: GitHub engineer outlines future UI for its DevOps platform

2025-03-05 18:387874

评论

发布
暂无评论

算法题每日一练:组合总和 II

知心宝贝

数据结构 算法 前端 后端 三周年连更

xnginx在安全网关的应用场景

linux大本营

openresty 网关 web服务器

lwip_recv_tcp阻塞读取数据代码

linux大本营

TCP 阻塞队列

Django笔记十二之defer、only指定返回字段

Hunter熊

Python django defer only

AI能训练出符合“核心价值观”的人工智能吗?

FN0

人工智能 ChatGPT Claude

C++如何拿到线程池的返回值

linux大本营

线程池 C++

一键生成通用的web服务(gin)完整项目代码,开发效率至少提升2倍

vison

golang Web gin框架 代码自动生成

借由Net5.5G,看到运营商的新沧海

脑极体

5.5G

挑战 30 天学完 Python:Day10 循环语句

MegaQi

Python3 挑战30天学完Python 三周年连更

OpenCV图像模糊操作(1) | 社区征文

A小调协奏曲

OpenCV C++ 三周年连更

一文读懂物联网 MQTT 协议之实战篇

老周聊架构

三周年连更

OceanBase 4.1解读:我们想给用户一个开箱即用的OceanBase部署运维工具

OceanBase 数据库

数据库 oceanbase

火山引擎边缘云,助力业务敏捷创新

火山引擎边缘云

CDN 边缘计算 火山引擎 边缘云

薪资结构重铸: Zebec将业务范围扩大到Web2薪资管理领域

股市老人

阿里云张献涛:云原生计算基础设施助力汽车行业数字化升级

云布道师

云计算

Java EE应用服务器的事务管理

mazhen

Java transaction JavaEE

程序踩内存后,应该怎么排查

linux大本营

进程 内存管理 内存泄漏 C++

生活中的不确定性,如何应对?

Jack

WebIntents 翻身战,操作系统实现无缝集成的王牌

鼎道智联

AI

怎么用systemd进行进程守护

linux大本营

Linux 进程 守护进程

Go HTTP 调用

陈明勇

Go golang HTTP 三周年连更

c语言实现timer的10个技术点

linux大本营

进程 定时器, Timer 文件描述符

大型商业银行的超级App是如何“组装”而成?

Onegun

超级app 超级应用

PageObject设计模式

测吧(北京)科技有限公司

测试

用户痛点与根因识别:解锁企业数字化转型成功的关键

L3C老司机

io_uring的10个技术点

linux大本营

高并发 异步 零拷贝 io_uring

OpenResty接口的详细讲解

linux大本营

负载均衡 反向代理 openresty 网关 HTTP服务

小程序自定义组件开发

程序员海军

小程序 三周年连更

中国年轻人阅读洞察2023

易观分析

年轻人 阅读

2023-04-20:有一堆石头,用整数数组 stones 表示 其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎 假设石头的重量分别为 x 和

福大大架构师每日一题

golang 算法 rust 福大大

GitHub DevOps 平台界面全面升级:工程师详解 React 驱动下的应用化体验升级_云原生_Tim Anderson_InfoQ精选文章