0

有这么多跨平台库,我有点迷失了,无法回答一个非常基本的 java 问题。

我有一个在 Android 上运行良好的 java 库。它不使用任何特定于 android 的功能,并且基于标准 java sdk 构建。这个库使用套接字(简单的 Socket,ServerSocket 有点架构)在库和托管的服务器(可能在 ec2 或一些虚拟公共服务器上)之间进行通信。

现在我的问题是,其他开发人员是否可以将我的 java 库(使用 java sdk 构建)导入使用 html/css 作为用户界面的应用程序,将所有这些打包到 iPhone 的移动应用程序中(使用原生 iPhone 打包和 WebView发射) ?我也可以发布这个库,以便其他软件开发人员可以构建一个在桌面和跨浏览器上工作的 Web 应用程序吗?

关于 stackoverflow 的一些问题与我正在寻找的问题很接近,但并不完全存在。 为多个平台开发移动应用程序(没有跨平台框架!)

  • 网络服务器是否能够使用通过套接字连接到服务器的库?
  • 连接到该网络服务器的每个客户端都会创建我的库的新实例吗?
4

1 回答 1

1

如果您的库不使用任何对 Android 或任何其他库的依赖项,那么其他开发人员几乎可以在他们想要的任何地方使用它。尽管请记住,像 EC2 这样的平台可能具有使用通信的首选方式。(我不是 EC2 方面的专家,所以你必须看看他们使用什么。)

所以我想最好将套接字功能抽象出来。

我认为您不能在 iPhone 中使用 Java 库。iOS 使用条款明确规定您不能在设备上使用除 SDK 和 Safari 中的 webkit javaScript 引擎之外的编译器或解释器。所以你的 Java 代码不可能在 iPhone 上运行(没有越狱。)

我不明白关于 webView 的问题。您的意思是导航到由您的图书馆提供支持的网站吗?如果是,那么只要您将其保留在 Safari 的边界内即可。(没有 Flash,没有 Java Applet 等)

网络服务器是否能够使用通过套接字连接到服务器的库?

多半是对的。但正如我所说,该平台可能不允许原始连接,因此最好将其抽象出来。

连接到该网络服务器的每个客户端都会创建我的库的新实例吗?

这取决于您的库及其公共 API 的设计。

希望这可以帮助。

于 2012-06-21T04:30:24.390 回答