我打算写一个多平台的智能手机应用程序(目前只有I-phone和android)。 必须从我打算创建的Web服务器发送和接收信息。 Web服务器将执行所有算法,并处理数据库连接。 我的问题是,这是如何最好地完成的,哪种网络服务器技术最适合这种情况,并支持来自各种设备的连接。
基本上,我考虑过实现一个简单的TCP / IP协议,使应用程序(在手机上)成为客户端,而另一方面则是Web上的服务器。但是,我想将应用程序部署到应用程序服务器(可能是谷歌应用程序,JBOSS等),我不希望被各种防火墙阻止。
有没有人有想法?
编辑:很少有东西是肯定的,应用服务器将用java编写,而db将是mysql。
答案 0 :(得分:4)
这是一个非常广泛的问题,任何有关使用哪种后端技术的建议都取决于您的语言偏好,您的其他要求等。
对于初学者,我建议使用JSON over HTTP作为传输机制:它很容易在客户端和服务器端进行解析,并且在需要时可以直接在Javascript中使用。 XML是另一种选择,但解析起来可能很烦人。
JSON-over-HTTP(或XML)将完全与设备无关,并且不会遇到您尝试执行基于TCP的自定义协议的防火墙/代理问题。
对于后端,可能会有人使用MySQL或Postgres作为他们的数据库,并从Java,C#,Ruby,PHP或其他服务器端语言连接到它。使用您熟悉的或接下来要学习的内容。
答案 1 :(得分:1)
为什么不将服务器端编写为常规Web应用程序 - 无论您喜欢什么技术(php,asp.net,java)?这样,您可以在任何Web服务器上部署应用程序,并且手机上的客户端应用程序只会建立与HTTP服务器的连接。通常情况下,防火墙在这种情况下不会出现问题。
我已经将这个设置用于我的应用程序(包括android和iphone) - 连接到用postgres后端用php编写的web服务器应用程序。