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