开发努力:Web与App

时间:2010-10-20 14:52:50

标签: smartphone

Web前端智能手机应用相同功能集之间的关系与开发工作<相似/ STRONG>?关于不同智能手机平台(iOS,Symbian OS,Android等)的应用之间的开发工作是否存在具体差异 忽略培训时间?一般估计完全满足我。 ;)

提前致谢, Flinsch。

2 个答案:

答案 0 :(得分:2)

我毫不犹豫地称这是一个估计,甚至是一个明智的猜测,但也许可以通过提出一些我可能会帮助你思考的想法。

忽略任何特定的平台细节我发现Web v Native的根本区别在于,在Web情况下,您还有一些额外的工作要做:

A)。您的演示文稿与后端分开,其间可能包含HTTP。因此,有写服务和与通知和/或轮询相关的问题需要处理。 B)。您可能使用浏览器进行演示,因此您将使用某种JavaScript类型的库,但这些库仍然难以驱动。

因此,如果您的目标是单个设备,我的猜测是编写本机代码的速度可能比基于Web的代码快50% - 假设您确实在瞄准相同的功能。

似乎正在发生的事情是我们破坏了Web应用程序,在某种程度上减少了功能,因此降低了开销。

另外还有一个因素,Web App的UI部分原则上是可移植的,因此实际上Web App开发可能是一项合理的投资,即使它确实需要付出更多努力。

我怀疑可移植性最终可能成为主要考虑因素。

答案 1 :(得分:2)

具体差异?有很多,但每个都有自己的权衡:

  • 用户界面:Web应用程序具有主要浏览器支持的CSS,(HTML,XHTML,HTML5)规范(尽管存在问题)。对于智能手机应用程序,每个用户界面必须设计和实施 到可以构建应用程序的语言。您可以有效地创建像Winamp(有皮肤)的应用程序。对于Web应用程序,与为每个不同的智能手机操作系统模型编写UI相比,这是相当快的努力。
  • 使用语言/可移植性:在Web应用程序中,应用程序位于服务器中,因此每个请求都会发送到服务器并从中返回响应。这允许1)Web应用程序可以用任何选择的语言编写,因为最终用户从不看服务器也不需要配置它,2)它允许开发人员用他/她熟悉的语言编写。智能手机应用程序,让开发人员将他的应用程序运行到所有智能手机操作系统,他/她必须学习操作系统的编程语言,并学习如何移植他们的代码在那里工作(如果可以移植)。这在Web应用程序中从未存在过。
  • 硬件限制:对于智能应用,开发人员必须了解手机功能和限制。 Facebook(例如)可以基本上增加他们的内存,并随着需求的增长添加新服务器并集中他们的环境。智能手机应用程序无法做到这一点。您必须将您的实施限制为以您希望的智能手机可以容纳的功能运行。

还有更多(随意添加),但所有这些都是开发工作的一部分,软件开发人员如果想要选择一个领域,就必须考虑这些