是否可以使用 Java 后端制作浏览器游戏?

Is it possible to make browser game with Java backend?

我可以将 Java 后端用于带有 Java 脚本前端的浏览器游戏吗? 由于我已经了解 Java 以及 Java 脚本,我很困惑是否应该为此忘记 Java 并跳到后端的 NodeJS,尽管我想专注于 Java 在我的未来。 我是否需要学习 Java Servlets 和 JSP 或者一本关于 Java 网络的书是否足以处理通信,或者两者都是必需的,因为 Servlet 是网络应用程序的一部分 运行 在 Web 容器上,并且 Java 网络不是独立的。

可以!前端技术栈的选择不一定会影响后端技术的选择(反之亦然)。

建筑

可以直接从您的java应用程序提供您的游戏视图。您可以使用 JSP(或其他模板解决方案)进行可视化表示 and/or 通过 java 脚本包含更多逻辑。

您也可以采用更分布式的方法,您的前端只负责获取显示游戏状态,而您的后端将负责服务维护游戏状态。然后,您的前端可以通过 http 查询并要求修改游戏状态,而后端可能会回答当前游戏状态,例如 JSON.

技术

虽然阅读有关 Servlet 和 JSP 或基础网络的知识本身可能具有一定的价值;出于这个特定目的,我宁愿研究一些选项来帮助您更快地入门。您可能会发现使用既定的现代框架更容易 - 由于您熟悉 Java 并希望专注于此,我建议您使用 Spring Boot 2。获取一个 Web 应用程序 运行 通过 http 端点接受和服务 JSON 可以很快完成。根据我的经验,它在行业中也得到了很好的采用,因此您也可以从中受益。

但是,您可以自由选择用什么语言或框架来实现您的后端:用 NodeJS 编写的服务器任何其他语言都可以用于相同的目的,只要您知道前端和后端的运行情况进行交流。