Node.js VS. 用于简单客户端应用程序的JavaFX(从服务器打印出消息)

Cha*_*mor 2 sockets client-server javafx node.js

有问题的申请

服务器端

用Node.js编写的服务器将处理一些请求并发送客户端应用程序需要为用户打印的文本消息.

客户端

客户端将从服务器接收消息并将其打印出来.客户端将在PC中运行.

问题

我的同事和我正在质疑什么技术最适合客户端应用程序,看看它将是多么简单.它所要做的就是拥有一个很好的GUI,可以打印出从服务器收到的任何消息.

客户端申请的候选人

Node.js的

一种可能性是使用Node.js,html,css和javascript构建客户端应用程序.这方面的主要优点是服务器采用相同的技术构建,通过套接字进行通信非常容易.不需要从客户端进行轮询,因为它们将始终通过套接字连接,并且每当服务器收到消息时,它都会将其推送到客户端,客户端将采取相应的行动.

JavaFX的

这将是另一种可能性,因为GUI将具有动画,并且它需要尽可能平滑.这里的问题是缺乏JavaFX的经验,以及它在与服务器的持续连接中的执行情况.


我真的很感激有经验的人的见解.

Ita*_*iha 5

缺乏JavaFX经验

这不会成为一个问题.如果你有一些Java经验,那么你很高兴.即使您没有经验,也不要灰心,因为Oracle拥有非常丰富的文档来帮助您入门.

以下是支持JavaFX的一些要点:

  • JavaFX附带了一个名为Scene Builder的拖放式即时UI工具.一旦你开始使用它,你将永远不会回头.此工具的输出是名为FXML的文件,可以称为JavaFX应用程序的视图.
  • JavaFX支持CSS.几乎JavaFX上的所有节点都可以使用JavaFX CSS进行设计,尽管JavaFX上使用的CSS与标准CSS不同,但您很快就会掌握它.;)
  • JavaFX UI(FXML)可以使用控制器无缝地插入到您的代码中,这意味着一个开发人员可以在UI上工作,而其他人则可以使用业务逻辑.
  • JavaFX可以创建简单的分发包,使用它可以创建针对不同操作系统的不同分发包(安装程序),只需单击构建文件即可.例如,EXE and MSIWindows,DEBLinux和APPMac OS X的选项.
  • 获得多线程环境的力量.
  • 在Java Runtime上运行,它几乎存在于全世界的所有系统中.用户可能不必安装运行时以运行JavaFX应用程序.

关于与服务器持续连接的问题的第二部分,你将没有任何问题,因为JavaFX在JVM上运行,JVM是一个用于套接字连接的老式媒体.这是一个很好的Socket通信教程.

虽然我更喜欢通过HTTP使用JSON,而不是使用套接字来执行此操作.

您要通过的链接:

从JavaFX开始 - JavaFX版本和"开发模式"问题

注意: 用户没有使用node.js的经验,因此您可以考虑优势并将其与您对node.js客户端的优势进行比较.