SUSTeam:终极游戏平台

SUSTeam:终极游戏平台

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

大四学生团队开发了游戏平台SUSTeam,后端采用Kotlin和Vert.X,前端采用Vue、TypeScript和Electron,提供游戏浏览购买、本地游戏库、下载更新及开发者SDK,并包含单元测试、文件上传下载、好友在线状态等功能。团队使用Notion和Slack协作,最终项目获满分。

🔎

延伸解读

技术选型:Kotlin 与 Vert.X 的实践反馈

团队选用 Kotlin 和 Vert.X 构建后端,看重其现代语言特性如单例、扩展函数和协程,与 Vert.X 的 Event Loop 结合良好。实际开发中,STOMP 协议在 Vert.X 上实现顺利,单元测试可直接 mock,节省了时间。但 Kotlin 单元测试库存在环境兼容性问题,需调整 Gradle 和 JDK 版本。这提示技术选型需权衡开发效率与生态成熟度。

前端框架与 TypeScript 的磨合

前端使用 Vue 和 TypeScript,但团队遇到 TypeScript 支持不足的挑战:许多开源库类型定义不完善,导致大量时间用于解决兼容性问题。尽管 TypeScript 能规范接口和组件,但社区生态尚不成熟。这反映了在项目中选择严格类型语言时,需评估第三方库的支持程度,避免影响开发进度。

实时功能的设计与取舍

为支持好友在线状态和客户端通知,团队采用全局 HashMap 存储在线信息,并计划用 Redis 优化。在线判定基于最后活动时间而非主动登出,以应对客户端崩溃。实时通信选用 STOMP 协议,后端完成但前端未及时适配,最终功能被放弃。这说明实时功能需前后端协同规划,避免资源浪费。

团队协作与项目管理工具

团队使用 Notion 进度板分配任务和跟踪进度,Slack 集成 Git 推送通知,便于及时发现强制推送等问题。互审代码虽非强制,但通过 GitHub 评论促进了早期协调。高效协作和明确工具是项目成功的关键,这为学生团队提供了可借鉴的协作模式。

❓

Q&A

SUSTeam游戏平台是什么?由谁开发的?

SUSTeam是一个游戏平台,由大四学生团队开发,作为大三课程项目,最终获得满分。

SUSTeam的技术栈是什么?

后端使用Kotlin和Vert.X框架,前端使用Vue、TypeScript和Electron框架。

SUSTeam为开发者和用户分别提供了哪些功能?

为开发者提供管理平台和SDK以集成平台服务;为用户提供网页前端用于浏览和购买,以及客户端提供本地游戏库、下载和更新功能。

SUSTeam如何处理好友在线状态?

使用全局HashMap存储在线状态,而不是关系数据库。通过用户触发实时事务更新最后在线时间,超过阈值则视为离线。

SUSTeam团队使用了哪些协作工具?

使用Notion的进度板管理项目进度,使用Slack进行团队沟通,并与git深度集成。

SUSTeam项目在开发中遇到了哪些挑战?

包括Kotlin单元测试库的兼容性问题、TypeScript库支持不佳、实时通信功能因前端时间不足而放弃等。

🏷️

标签

➡️

继续阅读