【发布时间】:2011-06-22 17:46:34
【问题描述】:
我能理解你为什么要为像愤怒的小鸟这样的游戏编写应用程序,但我真的不明白 Facebook 或 Linkedin 的意义所在。这些平台已经提供了浏览器,并且相关站点可以在我桌面上的浏览器中完美运行。上次我检查时,HTTP 包含有关请求来自的浏览器类型的信息,那么为什么这些公司不生成专门针对这些设备的屏幕尺寸和功能的 HTML,而不是生成和支持全新的代码库?我错过了什么?
【问题讨论】:
我能理解你为什么要为像愤怒的小鸟这样的游戏编写应用程序,但我真的不明白 Facebook 或 Linkedin 的意义所在。这些平台已经提供了浏览器,并且相关站点可以在我桌面上的浏览器中完美运行。上次我检查时,HTTP 包含有关请求来自的浏览器类型的信息,那么为什么这些公司不生成专门针对这些设备的屏幕尺寸和功能的 HTML,而不是生成和支持全新的代码库?我错过了什么?
【问题讨论】:
就其功能而言,移动网页不像应用程序那样具有灵活性。以 iOS 上的 m.facebook.com 与 Facebook.app 为例。 Facebook 网站的移动版本适用于状态更新等小事,但该应用程序可以做的远不止网站,例如从设备的相机胶卷上传图片,甚至访问相机并直接从那里上传。此外,应用程序通常更适合需要大量页面导航的网站。一些移动网站试图模仿 iOS 的界面,但它永远不如真正的原生应用程序好(他们可能会觉得尴尬和/或使用起来很慢)。
一般来说,原生应用要好得多,因为它比网络应用更灵活。在本机应用程序中,程序员可以使用提供的所有 API 以使应用程序尽可能易于使用,而在 Web 应用程序中则不能。
【讨论】:
也许您希望添加对电子邮件以外的通知的支持,或者您希望有一种方法可以将图片从您的设备直接上传到网络。
我相信还有很多其他原因。
【讨论】:
我的手机上有 Edge/2G 连接(因为收到的免费手机没有我的手机供应商提供的正确 3G 无线电频率),因此,浏览网页非常痛苦。太糟糕了,我尽可能避免使用它——即使是移动网站的加载速度也非常缓慢。
拥有一个可以限制显示所需信息所需的数据的应用,可以让使用网络相关服务变得更加容易。应用程序更适合智能手机的较小带宽。
除此之外,应用程序可以比网站更好地离线缓存和服务器详细信息。
【讨论】:
可能有很多原因:
1) stubborn execs just want it that way
2) to have a presence in the app stores
3) need to hook into the devices native tools
4) want to leverage native UI elements
也就是说,您是对的...通常只需要当前网站的移动版本即可。
【讨论】:
部分原因是本机应用程序工作得更加无缝和流畅,部分原因是应用程序炒作仍在继续。
从长远来看,Google 认为 webapps 将取代原生应用程序,我倾向于同意。
【讨论】:
我认为最大的一点是用户方便。它就像一个书签快捷方式,可以从中启动网站,还可以用“Android”或“iPhone”标记帖子。您可以告诉其他人您使用的是什么手机。如果您将更多精力放在各个设备上,则可以更好地组织网站。
【讨论】:
从用户的角度来看,在移动设备上使用网页仍然感觉很笨拙。它们的响应速度较慢,尤其是在涉及 javascript 的情况下。胖客户端还可以利用更有效的缓存策略。他们还可以使用更精美的图形/动画,并且您通常需要传输更少的数据。这些只是其中几个原因。
【讨论】:
从android方面来说:
是的,好问题! HTML 有很多优势——比如无需用户重新安装应用即可更新 UI。在这一点上,网络分析也比手机应用好得多。我想原生应用程序的明显原因是它会表现得更好,让用户感觉更好。不过,我一直在研究 API 并看到了一些有趣的东西。
首先是 WebView - http://developer.android.com/reference/android/webkit/WebView.html
这允许您在没有浏览器 chrome 的情况下嵌入网页(或拥有网页)您的应用程序 - 它只是一个浮动网页窗格。有趣的是,有一些 API 允许您向下载的 JavaScript 公开原生 android OS 功能。此外,您可以从手机而不是互联网加载我们的页面 - 解决加载时间长的问题。因此,您的 UI 可以使用基于 Web 的前端的 JavaScript。我一直在想我会在下一个应用中尝试这样做。
还有 PhoneGap - http://www.phonegap.com/ - 允许您编写 HTML 应用程序,然后显示在 android 中。我自己对他们的实现有点不满意,但嘿,这是一个开始。
无论如何,真的值得探索。编写和更改手机应用程序要慢得多,这些都是巨大的缺点。
【讨论】:
使用原生 UI 有助于提升最终产品的用户体验。
此外,由于手机通常资源较少,通过剥离“浏览器”层,您的最终产品可能会响应更快,并且需要更少的数据传输开销。
在 Android 方面,我相信强大的吸引力在于钩入Intent 系统。它非常强大且令人难以置信的无缝。不确定 iThings,尚未为它们开发。
【讨论】: