写点什么

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:389151

评论

发布
暂无评论

《JVM系列》 第五章 -- 堆空间与对象分配,springboot项目分层架构

Java 程序员 后端

【Java后端】2020年最新阿里,java中级面试题库weixin

Java 程序员 后端

【C语言】动态内存分配,nginx调优与监控

Java 程序员 后端

【DM】达梦数据库中的物理备份与还原,java程序设计项目教程眭碧霞第四章答案

Java 程序员 后端

《Spring实战》读书笔记-第3章 高级装配,全网最具深度的三次握手、四次挥手讲解

Java 程序员 后端

《重构 改善既有代码的设计 3》代码的可理解性应该是我们虔诚追求的目标

Java 程序员 后端

【DM】DMSQL程序的基本操作,下载量瞬秒百万

Java 程序员 后端

【Java从0到架构师】Spring - 整合 MyBatis,大厂Mysql高频面试题

Java 程序员 后端

【MyBatis-plus】条件构造器详解,mysql索引原理及btree

Java 程序员 后端

【C语言】指针总结,Java程序员如何有效提升学习效率

Java 程序员 后端

一文带你理解TDengine中的缓存技术

TDengine

数据库 tdengine 后端

【Java从0到架构师】Spring - 生命周期,mysql教程入门到精通pdf

Java 程序员 后端

【MyBatis 2】MyBatis-Plus,java分布式框架技术方案

Java 程序员 后端

《菜菜的机器学习sklearn课堂》逻辑回归,java教程百度云最新版

Java 程序员 后端

《零基础》MySQL GROUP BY 语句(十九),java并发编程实战pdf百度云

Java 程序员 后端

「JVM 系列」- JVM的类加载机制,java常用面试题和答案

Java 程序员 后端

【DM】教你用JDBC连接达梦数据库并进行增删改查,java项目百度网盘

Java 程序员 后端

【Docker 1】入门,nginx架构移植

Java 程序员 后端

【Java 异常】try-catch,mysql菜鸟入门系列

Java 程序员 后端

【Java从0到架构师】JDBC,Java多态实现原理解析

Java 程序员 后端

【Java知识点详解 8】Java反射机制,java项目经验面试题

Java 程序员 后端

《零基础》MySQL 安装(二),java高级程序设计作业系统

Java 程序员 后端

《零基础》MySQL 连接的使用(二十),springcloud开发教程

Java 程序员 后端

【Java程序员必知必会的90个细节】1,隔壁都馋哭了

Java 程序员 后端

【JVM系列5】深入分析Java垃圾收集算法和常用垃圾收集器

Java 程序员 后端

【DM】达梦DEM WEB管理器的搭建,mybatis基本工作原理

Java 程序员 后端

【Java从0到架构师】Spring - 复杂对象,java的多线程的底层原理

Java 程序员 后端

【Java并发实战】偏向锁-轻量级锁-重量级锁,掌握这些知识点再也不怕面试通不过

Java 程序员 后端

自定义注解实现方式全解析

小鲍侃java

11月日更

《大型数据库技术》MySQL的进阶开发技巧,java基础知识重点总结pdf

Java 程序员 后端

【C语言基础系列】C语言分支结构,java反射原理面试

Java 程序员 后端

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