javascript - 您对 Android 网络应用有什么体验(限制、提示、最佳实践)?

标签 javascript android web-applications cross-platform

更新:

正如 François 所提到的,还有其他替代方法,例如 Phone Gap,可以实现更跨平台的方法。这确实是一个非常好的建议。 我愿意接受任何建议,如果我能从您的经验中学习,我将不胜感激。
旁注:仅网络应用程序在我的选项列表中并不重要,因为我确实希望它出现在 android 市场上。


我即将开始将 facebook 应用程序移植到 android 并且 我正在考虑是否应该将其编写为原生应用程序或作为美化 WebView 的包装器

您的体验如何?您在编写 web 应用程序时遇到了哪些限制?您有什么建议可以分享吗?也许您认为原生应用才是正确的选择?

为讨论建立一个名声,我现在要移植的应用程序很简单 fb 应用程序,其中服务器托管在 Google App Engine 中(用 Java 编写,如果重要的话),所有客户端代码都是 html、css 和 javascript(带有大量 jQuery)。

该应用程序基本上是一个两人回合制游戏,有一堆响应用户点击的静态图像,以及一个非常简单的聊天框(独立于 fb 聊天)。它可以为每个用户处理多个并发游戏(但对不同的对手,不一样)。

您认为它适合 Android 网络应用吗?

提前谢谢你。

PS1:无论如何,我将不胜感激任何见解,所以如果您想更广泛地回答,请不要将自己局限于这个特定的示例应用程序。

PS2:是的,我从 developer.android.com 阅读了“Web 应用程序的最佳实践”页面,并点击了那里的链接,但它并没有说明 WebView 组件的速度或可靠性,特别是在条款方面的用户交互。问题是在阅读了 WebView 描述页面中的以下段落后出现的,这对典型的场景有很大的限制:

A common scenario in which using WebView is helpful is when you want to provide information in your application that you might need to update, such as an end-user agreement or a user guide. Within your Android application, you can create an Activity that contains a WebView, then use that to display your document that's hosted online.

Another scenario in which WebView can help is if your application provides data to the user that always requires an Internet connection to retrieve data, such as email. In this case, you might find that it's easier to build a WebView in your Android application that shows a web page with all the user data, rather than performing a network request, then parsing the data and rendering it in an Android layout. Instead, you can design a web page that's tailored for Android devices and then implement a WebView in your Android application that loads the web page.

最佳答案

我已经实现了两个使用 webview 的项目,一个是使用 jqtouch,另一个是使用 jquery-mobile 框架。

您开始轻而易举地继续前进,但最后当您查看应用程序时,它与原生用户体验相去甚远。 Android浏览器比iphone浏览器慢得多。希望稍后会解决,因此在处理 css3 繁重的应用程序时响应时间会变慢。在模拟器中开发时,webview 会让人抓狂,因为它太慢了。

如果您想实现类似原生的元素或固定标签栏,那么当您将应用程序与原生应用程序进行比较时,您已经做了很多工作,最后却没有得到一个好的解决方案,这很糟糕。

最后我决定学习原生开发并成为一等公民。当然这需要更多的时间,但结果会让我满意。

我认为原生开发不是 future ,以后我们会再次编写 html-css-js 应用程序,它们会像原生代码一样工作,但在我看来不太可能在 2-3 年内。

我可以建议你,尝试构建网络应用程序,如果性能不能满足你喜欢我的要求,那就切换到原生开发。

关于javascript - 您对 Android 网络应用有什么体验(限制、提示、最佳实践)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5663652/

相关文章:

api - 具有不同内容类型的 REST API

ios - 是否可以使用谷歌地图将 webapp 功能嵌入到 map 中?

javascript - 避免 HTML 请求并仅进行 js 调用 - ruby​​ on Rails

javascript - 将对象中的所有键转换为新对象

java - 是否可以让 BitmapFactory.decodeFile() 尊重 EXIF?

android - MPAndroidChart LineChart 双击手势控制

c# - 更改 ASP.net 应用程序根目录?

javascript - 是否可以在数组中搜索对象的两个属性

javascript - ionic 倒计时应用程序

android - 如何连接到 kivy-remote-shell?