跳到主要内容

不要跨平台

本文的较短版本首次出现在问题238.net杂志 - 世界上最畅销的网页设计师和开发者杂志。

XVT,wxWindows,Gtk,AWT,SWT。这些铃响了吗?它们只是一些承诺使用在一个平台上编写代码的工具包,并生成可在Windows,Mac和X Windows上无缝运行的应用程序。

有些人比其他人好;但他们都有一个共同点:

写在其中的应用程序很糟糕。

值得赞扬的是,它是跨平台承诺实际工作的一个地方 - 用它们编写的应用程序一直在跨平台吸收。

在你指出一些不起眼的应用程序之前,我说的是很棒的应用程序。从未有过使用跨平台工具包编写的单一,商业上成功的优秀应用程序。

现在,我们正在获得这些承诺,为iOS,Android和Windows Mobile开发“随处运行”。当然,这是一种在任何地方都有存在感的经济有效的方式,但这就是为什么它会让你失望。

1.嵌入式Web视图不是Web浏览器

大多数移动跨平台工具包依靠HTML5来提供应用程序的骨骼,应用程序基本上是在嵌入式Web容器中呈现的。这忽略了一个重要的观点:是的,网络是一个与平台无关的平台,但在使用网络应用时,我们倾向于使用浏览器的chrome进行导航。这就是我们熟悉的原因。

但是,当跨平台移动应用程序嵌入到Web容器中时,应用程序的HTML负责导航。我们熟悉的控制装置已经不复存在,而我们的导航系统通常以主导平台的外观和感觉为蓝本。

由此产生的导航将是妥协

所以,你正在使用HTML,你决定手动编写导航代码。这是通常的方式。大多数用户(比方说)是iOS用户;因此我们将在底部使用黑色标签栏进行开发,并模仿iOS标签栏样式。

IOS用户讨厌它;当点击标签时,您没有管理颜色的微妙变化,或者在双击时跳转到最顶层的屏幕。

Android用户讨厌它,因为他要么从未见过它,所以它不熟悉,或者更糟糕的是,他知道它是一个“类似iPhone”的界面,并且不喜欢它被Android用户强加。

跨平台甚至不是一个“崇高的目标”

在昔日的日子里,我们可能在工作中使用PC,在家中使用Mac。我们可能需要在两者中使用某些工具;这是两个应用程序运行的诱惑;但是用我们的智能手机生活是不同的。绝大多数用户只有一部手机。用户希望与其设备上的其他应用程序保持一致,而不是与他们无意使用的其他平台上的其他应用程序版本保持一致。

你必须与平台作斗争

当一个工具包被发布以在多个平台上工作时,工具包供应商会尽一切努力确保某些东西适用于所有平台。这实际上意味着它们最多可以实现“最小公分母”功能。如果功能X在Android上运行良好,但在iOS上不能很好地完成,那么它就无法实现。

如果您的应用功能是基本的,这很好;但如果你需要在这些范围内不容易做到的事情,会发生什么?好吧,这是工具包开始阻碍你的进展,而不是帮助它。

你可能会发现一些很好的工具包'扩展',它使得功能Y在iOS上很容易实现;但是现在你刚刚开始编写特定于平台的代码,所有承诺的优势都已经消失了。

真是太好了

苹果,微软,谷歌:世界上最大的软件公司,采用最好的大脑,他们付出了大量的努力,使他们的平台体验为最终用户带来了惊人的体验。你认为一个工具包和一些花哨的JavaScript可以做得更好吗?

只需点击一下鼠标,在每个平台上的诱惑将成为首席执行官和首席财务官的耳朵。这种说法的简单性掩盖了现实。它不承认不合标准的应用程序;糟糕的评论将使首席执行官热血沸腾,而首席财务官也不会高兴他将支付本土重写费用。帮助自己,用事实武装起来。

在每个平台上进行本地开发,为您提供最快的应用程序,对设备功能的完全访问权限以及简化开发的框架;原生SDK是保证最佳用户体验的唯一方法。

前往Creative Bloq获得25分移动网站设计提示!



翻译字数超限