适用于移动应用的Web应用的架构是什么?

时间:2012-01-28 12:29:51

标签: architecture mobile n-tier-architecture

我有一个在Apache Wicket(Java EE MVC框架)下运行的Web应用程序。现在它是一个网站。我正在考虑用于构建移动应用程序的架构。移动应用程序将只是呈现信息并接收用户输入(例如配置文件配置)。

我有一个N层架构:

  • 数据库与当前webapp使用的数据库相同。
  • 构建一个业务逻辑层,它将是一个Web服务,它从数据库中公开我需要的所有信息,并处理用户输入。这是服务器端。
  • 一种Web服务,它询问业务逻辑层并通过XML或JSON公开信息
  • UI层,基本上是我的移动应用程序(iOS,Android,...)。这些通过Web服务将查询发送到业务层。查询返回要显示的数据或发送UI信息。

我当时认为网络服务层可以为网站和移动应用程序提供服务。

这种架构有意义吗?如果是的话,我的上一个建议是否已经破坏了MVC结构?

2 个答案:

答案 0 :(得分:1)

我不打算重写现有的网络应用程序,这可能不值得努力。

你的直觉(恕我直言)是正确的。服务器端HTML模板作为某些MVC服务器端Web体系结构的一部分,根本不适合Web,特别不适合移动Web应用程序。

对于您的移动网站,完全放弃这个想法。在服务器上公开一些带有JSON的Web服务,只返回数据(无UI),让您的移动应用程序完成所有UI和Web工作。如果你愿意这样想,你甚至可以在你的javascript中使用MVC风格的架构。

答案 1 :(得分:0)

可能你可以看看只用HTML,CSS,JavaScript构建移动应用程序的框架。它们可以提供一组JavaScript API,这些API连接到设备的本机功能,如Camera,Compass,Contacts和Geolocation。它们为您提供了构建iOS,Android,Blackberry,WebOS,Symbian和Windows Mobile应用程序的可能性。您只需要Web开发知识,当然还有HTML,CSS和JavaScript。以下是此类框架的列表:http://www.hongkiat.com/blog/mobile-frameworks/。我认为最着名的是PhoneGap。希望这会有所帮助。