Skip to content

开发对比:Mogan STEM 与 GNU TeXmacs

本文重点介绍 Mogan STEM 与 GNU TeXmacs 在开发方面的差异,为开发者和贡献者提供参考。

核心开发差异

方面GNU TeXmacsMogan STEM
发布周期不固定每月发布
性能重点稳定性速度优化
UI框架主要是 Qt 4(个别 Qt 5)主要是 Qt 6(个别 Qt 5)
Scheme引擎GNU Guile 1.8.xS7 Scheme
版本控制SVN (Savannah)Git (Codeberg/Gitee/GitHub)
构建系统GNU Autotoolsxmake
开发负责人Joris van der Hoeven(数学家)沈浪熊猫儿(软件工程师)

开发工作流对比

构建过程

GNU TeXmacs:

  • 使用传统的 GNU Autotools
  • 复杂的配置过程
  • 编译时间较长
  • 需要平台特定的设置

Mogan STEM:

  • 使用现代化的 xmake 构建系统
  • 简化的配置过程
  • 并行构建,编译更快
  • 跨平台构建一致性

版本控制与协作

GNU TeXmacs:

  • 基于 SVN 的集中式工作流
  • 分支功能有限
  • 集成过程较慢
  • 单点故障风险

Mogan STEM:

  • 基于 Git 的分布式工作流
  • 功能分支和拉取请求
  • 快速的代码审查和集成
  • 多个代码仓库镜像(GitHub、Gitee、Codeberg)

技术架构

Scheme 引擎演进

从 GNU Guile 1.8.x 到 S7 Scheme 的转变代表了重大的技术改进:

  • 性能:S7 Scheme 提供更好的执行速度
  • 内存:更高效的内存管理
  • 现代特性:更好地支持当代编程模式
  • 维护:活跃的开发和社区支持

Qt 框架现代化

Mogan 迁移到 Qt 6 带来了多项优势:

  • 性能:更好的渲染和 UI 响应性
  • 现代 UI:时尚的外观和体验
  • 跨平台:改进的平台集成
  • 面向未来:长期支持和更新

插件开发

插件架构差异

GNU TeXmacs:

  • 单体插件系统
  • 扩展性选项有限
  • 复杂的插件开发过程

Mogan STEM:

  • 模块化插件架构
  • 支持多种语言(Python、C++、Scheme)
  • 插件中心便于分发
  • 用于国际化的语言特定插件

开发工具

Mogan 提供了增强的开发功能:

  • 调试:更好的调试工具和错误报告
  • 文档:全面的 API 文档
  • 测试:自动化测试框架
  • 社区:活跃的开发社区支持

性能优化

启动性能

Mogan STEM 实现了多项优化:

  • 组件的延迟加载
  • 优化的初始化序列
  • 减少内存占用
  • 更快的文件加载和解析

运行时性能

关键的性能改进包括:

  • 高效的渲染管道
  • 优化的数学公式处理
  • 改进的 UI 响应性
  • 更好的资源管理

开发理念

GNU TeXmacs 方法

  • 学术研究重点
  • 数学正确性优先
  • 保守的功能采用
  • 稳定性优于性能

Mogan STEM 方法

  • 工程驱动的开发
  • 用户体验优化
  • 快速迭代和改进
  • 性能和可用性平衡

参与开发

对于 Mogan STEM 开发者

  1. 代码仓库https://github.com/XmacsLabs/mogan
  2. 构建系统:xmake(简单的 xmake build stem
  3. 文档:每个平台的综合指南
  4. 社区:活跃的 Discord 和 GitHub 讨论

开发资源

未来开发方向

Mogan STEM 继续发展,重点关注:

  • AI 集成:内置 AI 功能(Liii STEM)
  • 云协作:实时协作编辑
  • 移动支持:触控友好界面
  • 扩展格式:支持更多文档格式
  • 性能:持续优化工作

结论

虽然两个项目共享相同的基础,但 Mogan STEM 代表了科学文档编辑器开发的现代化方法,强调性能、用户体验和当代开发实践。以工程为重点的方法和现代化工具使其对开发者更易于访问,对用户需求响应更快。

如需包括面向用户功能的全面比较,请参阅完整的 Mogan 与 GNU TeXmacs 比较

享受探索科学与技术的乐趣!