0

在开发工作方面,Web 前端和具有相同功能集的智能手机应用程序之间的关系如何?忽略培训时间,不同智能手机平台(iOS、symbian OS、Android 等)的应用程序之间的开发工作是否有任何具体差异?一般的估计会完全让我满意。;)

在此先感谢,弗林施。

4

2 回答 2

2

我不愿将其称为估计,甚至是明智的猜测,但也许通过提出一些想法,我可能会帮助您思考。

忽略任何特定的平台细节,我认为 Web v Native 的根本区别在于,在 Web 案例中,您需要做一些额外的工作:

一种)。您的演示文稿与后端分离,中间可能有 HTTP。因此,有一些服务要编写,还有与通知和/或轮询有关的问题要处理。乙)。您可能会使用浏览器进行演示,因此您将使用某种 JavaScript 类库,而这些仍然很难驱动。

因此,如果您针对的是单个设备,我的猜测是编写本机代码可能比基于 Web 的代码快 50%——假设您确实针对的是相同的功能。

似乎发生的事情是我们妥协了 Web 应用程序,在一定程度上减少了功能,因此减少了开销。

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

我怀疑便携性很可能最终成为一个主要的考虑因素。

于 2010-10-20T15:13:25.360 回答
2

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

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

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

于 2010-10-20T15:33:37.327 回答