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

问题描述

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

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

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

解决方法

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

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

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

对于前端,有大量可用的技术 - 我想考虑一下您想要的 UX 类型和相对复杂性 - 例如Javascript 环境比我在 2000 年代中期做网络应用时更先进——React(框架)值得一看。

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

使用丰富的 UX 构建基于网络的游戏并不是我拥有大量最新领域知识的事情,所以希望有人能给你一个更好/更专注的答案。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...