后端开发人员寻求有关首次全栈项目的建议

Backend Developer Looking for Advice on First-Time Full-Stack Project

我是一名老后端开发人员,希望更新我的知识并更多地进入全栈 space,我希望在我的项目的设计和技术选择方面得到一些指导。我感兴趣的项目是一个基于 Web 的角色扮演游戏,它使用浏览器客户端和后端服务器之间的实时连接。问题是,我最后一次接触任何与网络相关的东西是在 Netscape Navigator 流行的时候!我对自学新技术非常满意,但我现在的主要问题是我什至不知道应该从哪一组文档开始。

我想要构建的是一个实时的、基于文本的角色扮演游戏,运行在浏览器中运行——如果您熟悉该类型,那么它本质上是一个现代化的 MUD。该网站将托管一个与游戏交互的客户端,还将有一个界面来修改游戏状态的各个方面,而无需发送冗长的文本命令——更新角色配置文件、发送消息等。我预计这需要一个永远在线的连接来完成。我目前的想法是,这要么 运行 作为某种形式的 API over websockets,要么可能是许多客户端浏览器和服务器之间的 pub-sub 系统,但我将是第一个承认的我对这两种技术只有最模糊的了解!

鉴于我所描述的内容以及我在此处列出的模糊设计,您是否建议我研究(或我应该避免的)任何特定框架或技术?这听起来可行吗?

你有两个不同的挑战 - 游戏创意和学习新技术。您需要优先考虑一个:例如在堆栈上做出相对快速的决定,并在构建游戏时学习它——接受一段时间后你会想要重写它:)

或者,花相对较长的时间研究各种技术,制作一些“hello world”类型的应用程序,然后选择适合您的堆栈。

如果您首先查看“服务器”端,那么使用来自主要参与者之一(Azure、GCP、AWS)的基于云的服务将是一个显而易见的选择。这些平台有各种服务,包括基于事件的服务。

对于前端,有大量可用的技术 - 我想想想你想要的用户体验类型和相对复杂性 - 例如Javascript 景观比我在 2000 年代中期开发 Web 应用程序时先进得多 - React(框架)值得一看。

好消息是,您应该能够相对独立地选择后端和前端技术 - 只要您设计好的 API 让它们交换数据。

构建具有丰富用户体验的基于网络的游戏并不是我最新的领域知识,所以希望有人能给你一个更好/更有针对性的答案。