我们将实现基于浏览器的移动应用程序。我们有在 Spring MVC 上运行的 Web 应用程序,我们需要使用相同的业务逻辑,并且需要使用 HTML5、CSS3 和 jquery Mobile 重新实现前端。
请告诉我如何开始的步骤以及哪些工具可能有用。我是这种项目的新手。
我们将实现基于浏览器的移动应用程序。我们有在 Spring MVC 上运行的 Web 应用程序,我们需要使用相同的业务逻辑,并且需要使用 HTML5、CSS3 和 jquery Mobile 重新实现前端。
请告诉我如何开始的步骤以及哪些工具可能有用。我是这种项目的新手。
您需要遵循很多事情。为了便于理解,我们假设您网站的网址是whackedup.com。
您必须为您的服务器端代码构建一个响应式/移动就绪的前端。您可以使用使用 REST API 的 Web 服务公开您的 Web 应用程序的功能。这样你的代码就不会被复制。但是,您应该小心您需要在移动应用程序中包含的内容。包括绝对必要的功能。无论如何,其他功能都可以从 Web 应用程序访问。正如一位智者曾经说过的那样,“为某物添加新功能并不难,省略的决定才是硬道理”。
免责声明:这完全是我的偏好,不要因为不喜欢其他框架而阉割我。我称这些是框架,以便更容易解决它们。我知道它们不是框架。
当涉及到移动开发时,您需要一个框架来简化您的工作。是的,您可以使用良好的 HTML5,但这会花费您的 DEV 时间来构建在您的应用程序中使用的可视组件(如轮播、滑块等)。因此,通常建议使用框架,您最终会使用以下之一:
如果您想构建适应移动屏幕的桌面站点, Bootstrap 将是您的第一选择。我个人会使用 jQuery Mobile,因为:
您可以在这些地方找到 jQM 的优质资源:
这就是说,在其网站上学习 jQuery Mobile 总是更好,因为他们总是倾向于教授最新版本的 jQM。
在您选择的框架中构建完您的应用程序后,您必须从他们的手机重定向使用whackedup.com的用户。这是通过使用用户代理完成的。根据维基百科,
用户代理是代表用户行事的软件(软件代理)。
这将告诉您用户登录网站的设备/浏览器。这可以通过navigator.userAgent
JS中的方法访问。这是一个演示。通常对于 Android 设备,用户代理如下所示:
Mozilla/5.0 (Linux; Android 4.0.3; HTC One X Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19
使用此信息,您可以根据以下信息确定设备是否为 Android 设备/iOS 设备:
navigator.userAgent.indexOf("Android") != -1 //will return true if accessed on an android device
这样,您可以将其作为if
循环的条件并进行重定向,可能是m.whackedup.com。有关 userAgent 的完整列表,请查看此列表。
为了提高性能,您可以使用localStorage
将数据存储在浏览器的缓存中,而无需再次调用服务器来获取该数据。这是学习localStorage
API的好资源。
希望这有帮助!
HTML5 不像 HTML4 那样是一种标记语言。它只是一个组件提供者。它提供了像 Canvas(一种文字 Flash 替代品)这样的组件以及许多类型的<input>
标签和 API,比如localStorage
. 您会发现单独使用 HTML5 来构建移动应用程序很困难。没有人说它不可能,但它很麻烦。jQuery Mobile 不是 HTML5 的替代品,它建立在 HTML5 之上以使其更好。
也就是说,您认为 jQuery Mobile只为您提供 JS 的想法是错误的。虽然 jQuery 是一个 JavaScript 库,但它的弟弟 jQuery Mobile 也是一个可视化库。jQuery Mobile 与 JavaScript 一起提供了大量的 css,因此样式对您来说变得更容易。
摘要:
A这不是必需的,但我确实提出了一个建议,让您的代码适应这两种情况,即适用于 Web 应用程序和移动应用程序。否则,您将在两个环境中复制代码,这很糟糕。如果您的 Web 应用程序和移动应用程序文件都将驻留在一起(在同一个项目中),那么您的移动应用程序和 Web 应用程序可以共享您的 Spring MVC 代码库。
概括