Skip to content

ArenaPro 与 Arena 有何不同?

你可能已经对标准的神岛引擎(Arena)有了一些了解。ArenaPro 正是构建于其之上,但我们进行了一系列关键的工程化改造,旨在为你提供更现代化、更流畅、更专业的开发体验。

本篇教程将聚焦于其中最核心的两项改进。

核心区别一:统一的模块化语法 vs. 混乱的双端标准

在传统的开发模式中,你可能需要时刻“精神分裂”,为客户端和服务端编写不同风格的代码。

  • 服务端 (Server): 使用 CommonJS (CJS) 语法。

    javascript
    // server/main.ts
    const { sayHello } = require("./utils.js");
    
    sayHello();
  • 客户端 (Client): 却要使用标准的 ES Modules (MJS) 语法。

    javascript
    // client/main.ts
    import { sayHello } from "./utils.js";
    
    sayHello();

在 ArenaPro 中,我们彻底解决了这个问题。无论是在 client 目录还是 server 目录,你都可以,也应该统一使用 ES Modules (MJS) 语法!

typescript
// 不论在 client/main.ts 还是 server/main.ts
// 语法完全一致!
import { sharedFunction } from "../common/utils.js";

sharedFunction();

这意味着:

  • 体验统一:只需掌握 import/export,即可通用于前后端。
  • 代码复用:可以轻松创建共享的工具模块,在客户端和服务端之间无缝复用。
  • 生态友好:能够自由地使用社区中大量优秀的、基于 ES Modules 的现代 NPM 包。

核心区别二:专业的本地化开发 vs. 纯在线浏览器编辑

神岛 Arena 编辑器纯在线、基于浏览器的特性,让它在快速上手和实时共创方面非常便捷。然而,当项目变得复杂时,一套专业的、工程化的本地开发流程会变得至关重要。

ArenaPro 正是为你补齐了这一环。下表清晰地展示了两种开发模式的核心差异:

对比维度浏览器在线编辑 (Arena)本地化专业开发 (ArenaPro)
开发环境依赖浏览器,功能受限VSCode 等任意专业代码编辑器,功能强大、可定制
网络要求强制全程在线支持离线开发,仅在同步时需要网络
核心工具链平台内建功能Git, ESLint, Prettier, 断点调试 等行业标准工具
代码与资产云端存储,版本管理和备份困难本地文件系统,轻松实现版本控制、备份与迁移
团队协作实时共创通过 Pull Request 进行规范、异步、可追溯的代码审查

一言以蔽之:ArenaPro 将游戏开发从“在线即兴创作”提升到了“本地严谨工程”的高度。

核心区别三:开放的生态系统 vs. 封闭的开发环境

除了工作流的变革,ArenaPro 还为你带来了更开放、更现代的技术生态。

对比维度浏览器在线编辑 (Arena)本地化专业开发 (ArenaPro)
第三方库无法或极难使用外部库无缝集成 NPM 生态,自由使用 lodash, gl-matrix 等数以万计的现代化工具库。
资源(资产)引用手动填写资源路径字符串 (Magic String)全自动的类型安全,将资源路径生成为 TS 类型,享受代码补全,告别手滑写错。
代码质量检查依赖肉眼和人工可集成 ESLint, Prettier 等工具,自动化地检查代码风格与潜在错误,保证团队代码一致性。

这个看似简单的改动,是我们为你扫清工程化障碍、让你能专注于创造的第一步。在后续的教程中,你将体会到更多 ArenaPro 带来的便利。

神岛实验室