bet188足球-CrossPlatformMobile

编程平台·工具·移动

标签:

随着众多移动平台的兴起,每个移动平台都有不同的用户界面,很多人都在关注跨平台的工具包。这些允许您编写一次移动应用程序,然后将其部署到一系列移动设备。这些工具包值得使用吗??

跨平台工具包很诱人。有很多的移动设备,这是一个很多工作要为每一个编写应用程序。如果我们可以写一次并在任何地方运行,那将会容易得多。。

当然,我们之前使用的是桌面应用程序。多年来,有许多尝试为桌面创建跨平台环境。Java可能是最知名的,但它既不是最好也不是第一个(要求Smalltalkers告诉你关于VisualWorks)。但是你可能会注意到,跨平台应用,总的来说,没有成功。。[1][2]

第一个问题是处理不同平台上的UI控件之间的差异。您有两个广泛的策略:您可以在每个平台上使用本机组件,也可以使用更原始的图形模拟组件 - 有效地创建自己的UI系统。在Java世界中,这是Swing(仿真)和SWT(本机控件)之间的区别。。

这两种方法有问题。如果您使用本机控件必须处理这一事实类似控制在不同的平台上略有差别在它们是如何工作的,这使得它很难想出一个好抽象。此外,您必须决定如何处理仅在某些平台上可用的功能 - 您最终会得到平台的最低标准吗??

因此,仿真变得具有吸引力,无论是作为整个方法还是弥补在某些平台上无法获得的控件。仿真有两个难点:首先,很难让仿真的UI足够响应 - 这对于UI控件来说是一个大问题。其次,要让它们完全像原生控件一样执行起来非常困难。它很容易陷入困境uncanny valley事情的工作方式大多与原生控件相似,但只有很小的差异才能让用户失望。使用UI控件,你必须真正肛门才能获得行为“刚刚好”。。

获得良好的UI控件几乎是不可能的,但这不是最大的问题 - 更多的是关于整体用户体验。不同的平台有不同的方式,他们预计你使用它们,改变整个体验bet188足球。如果你使用基于Unix的系统,那么很好的体验将会大量使用鼠标中键,因为那是Unix UI的方式。但尝试,Mac,你会挣扎,因为Mac甚至认为两个按钮是太多了。。

移动设备在这里具有更大的负担,因为它们在如何接近整体用户交互方面具有更大的差异。最近一个客户要求我们采取一个iPhone应用程序我们会为他们开发的Android版本。我们最初的实验告诉我们,我们必须从头开始重新思考足球的经验,以获得一个不错的Android应用程序。iPhone应用程序的测试用例进行了极其宝贵的核对表为Android应用程序的功能,但是这个应用程序的整体感觉是不同的。。

因此,出于这些原因,我认为跨平台移动工具包是一个死胡同。他们真的很难模仿本土体验。如果值得构建原生应用程序,那么值得正确构建它,包括为该平台提供足球体验。。[3]

所以这让那些想要支持大量的移动平台,但不准备处理的成本为每一个本地应用吗?幸运的是,我们确实有一个可以在任何有价值的移动设备上运行的平台 - 网络。Web应用程序可能非常功能和能力所写的这些日子的人知道他们在做什么。这里最大的问题是离线使用。如果你能生活在网上,那么这不会是一个问题,但是如果你需要离线你需要探索各种本地存储选项。。

当您使用Web应用程序时,请不要尝试使其外观和感觉像本机应用程序 - 使其看起来像一个移动Web应用程序。它仍将像模拟应用程序一样可用,但会避免让您的用户陷入不可思议的山谷。这反映了桌面上发生的事情,那些希望支持多个桌面平台的人发现网络是一个有效的部署平台。这里成功的关键在于人们期望网络应用程序的行为类似于网络应用程序,因此他们不希望它们像本机应用程序一样 - 避免在不同平台上出现不同用户期望的问题。。


总结:

  • 不要使用跨平台工具包
  • 为了获得最大范围:构建一个看起来像Web应用程序的Web应用程序
  • 为了吸引特定平台:为该平台构建本机应用程序,根据该平台交互方式获得1818足球体验

跟进

一些想法和反应从电子邮件和其他评论

一位记者谈到他的公司如何创建本地应用程序,这是围绕Web应用程序的薄包装。这样可以轻松启动和访问常用链接,同时将大部分行为保留在跨平台Web中。。

Gunnar Peterson认为安全模型的差异也阻碍了跨平台的工具包。。

笔记

1:这些问题是关于具有图形UI的跨平台应用程序的问题。没有UI的库以跨平台的方式工作得很好。因此,桌面上的最佳策略通常是将跨平台库与每个平台的自定义UI相结合。。

2:一个值得注意的例外是JetBrains公司的的开发工具。我没有解释为什么他们是这样的例外。。

3:我看到一条路可能证明我错了。在这种情况下使用跨平台的工具包,但你写一个不同的应用,不同经验bet188足球,为每个平台构建。本机代码的获得在这样做是你有一个平台开发人员使用,可以得到一些通用代码的重用(特别是非ui代码)。这个策略并不能解决的问题处理UI控件,即使它的工作原理,只有值得如果developer-understanding和代码重用的好处是十分重要的。。

分享:
如果你发现了这篇文章有用,请分享它。我很欣赏的反馈和鼓励

在这些标签上找到类似的文章

编程平台 工具 移动