8
回答
移动界面设计的一些心得
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

软件开发者 Johannes Fahrenkrug 在自己的博客 Springenwerk 讲述了移动界面设计的一些心得,值得参考。

跨平台界面是一种观念的错误

跨平台界面是一个从未实现的幻想,是否记得 Java Swing?它许诺在任何运行 Java 的平台统一界面,而这个许诺从未兑现,为什么?

跨平台 UI 糟糕透顶。跨平台 UI 意味着它在任何平台的视觉和感觉都很糟糕。

因为人们喜欢自己平台的特殊性,如果你想为某个平台开发应用,必须深入了解每个平台的特点。跨平台界面意味着你的界面在任何平台都像一个异类,这不仅仅是按钮和窗口的问题,也不仅仅是风格和配色的问题。根本没有“一个尺寸,适合全部”的界面。

网页是一个例外

游戏是一个例外,但这个可以先放下不谈。如果说有一种界面能够跨平台,那就是网页界面。这是因为人们已经习惯了网页界面各有不同。

当用户打来浏览器的时候,他们知道自己进入了一个充满不同的领域。

这正如你进入了一个书店,你知道自己会看到不同尺寸、不同排版、不同颜色的书籍和杂志,这就像是多彩的网页一般,充满了不同的界面设计。但是,如果 你看到图书系列中的某本图书排版不同,或者杂志的下一期突然改变了排版,你会感到惊讶,这种惊讶就像是在原生应用中突然看到了跨平台的界面。

因此,用户的心理期待的差异带来了不同的效果。显然,网页给开发者提供了跨平台的自由。他们可以开发一套在所有平台运行的通用界面,而且不遭受批评。只是需要注意一个问题,不要模仿原生应用。

如果你模仿原生应用,用户会期待着它和原生应用完全一样,而网页应用常常满足不了这种期待,更糟糕的是,模仿一个平台上的原生应用,在其它平台上看起来反而成了一个异类。

应该怎么做?

构建一个与平台无关的界面和体验(UI 和 UX)……以非原生来使你的用户惊喜,但是要增加功能、动画,易用性,这些是他们使用网页应用时没有心理期待的东西。

移动界面呢?

同样的道理,用户不喜欢看到其它平台的模仿品,网页应用不要模仿原生应用。或者说,不要制造那种快捷方式的应用,在用户看来,主屏幕上的图标就是应用,他们不在乎具体的实现细节。他们会期待这是原生应用,而他们会失望。

在移动设备上使用网页技术模仿原生界面,只能带来失望。

你有充分的自由去创造出色的、独特的界面。如果你模仿原生界面,用户会将你花费心思使用的技术当做理所当然,当他们看到你的应用不如原生的流畅,他们会失望。

原生还是网页?

首先问自己一个问题,“我想用这个应用达到什么目的?”如果你没有明确,不要去做。

人们希望应用是有用、漂亮、令人惊异或者有娱乐性的。如果它不符合以上条件,不要花费心思去开发它……如果你想要开发一个应用,开发一个你也想要使用的应用。否则,不要去想这个问题。

如果你想把应用放到 App Store,用户会期待它和原生应用一样的速度,界面和体验。坦白的说,最简单的方法是做原生应用。

网页技术构建应用更加简单和快速是一个神话。它很可能花费更长的时间,而用户体验仍然更加糟糕。构建一个简单的原生应用反而更简单。如果你用网页技术构建的话,可能更加复杂(如果你试图去模仿原生的话。)

如果你非要那么做,可以去试试 Appcelerator Titanium 或者关注一下 Strobe。使用一个专业的平台可能会减少你的麻烦。

当然,App Store 更容易获得回报。如果你对回报不是很急切,或资金不足,可以考虑开发一个移动网页或者网页应用。出色的网页应用同样是一个挑战。

一些大公司,比如 Google 和苹果会同意一个统一的网页应用标准吗?可能性不大,它们对跨平台开发的兴趣不大,而对应用的平台独占性更加有兴趣。

结论

如果你想要最好的用户体验,去开发原生应用吧。但如果你不喜欢 App Store,而你的应用不会因为缺失原生界面和功能而失色的话,开发一个出色的网页应用,但不要模仿原生界面。

网页有它自己特殊的东西。利用这些东西,通过现代移动浏览器提供的高级功能使你的用户惊喜吧。

原文:Springenwerk
翻译:http://www.ifanr.com/52779

<无标签>
举报
红薯
发帖于6年前 8回/1K+阅
共有8个评论 最后回答: 6年前

每个周一总能看到红薯大哥提供给我不同的惊喜。

恩,有一点我比较认同,对于互联网那些令人炫目的应用而言,很少人去关注原生应用了,更多的人希望在复杂的业务逻辑上加上一大堆网页语言,逻辑和实现交织,让人不寒而栗。独立开发原生应用,估计是很多人觉得费力不讨好的事,如果有现成模板,基本都喜欢套用,最多也就是基于模板的二次开发而已。至少国内是这样。

这只是我的个人观点,偏颇之处,各位看官见谅。

"跨平台 UI 糟糕透顶。跨平台 UI 意味着它在任何平台的视觉和感觉都很糟糕。"

太TMD正确了

不仅仅是UI,只要是跨平台,就意味着很糟糕,JAVA的IO库也是这样。

”跨平台 UI 糟糕透顶。跨平台 UI 意味着它在任何平台的视觉和感觉都很糟糕。“

我觉得这个有两面性,首先跨平台的UI确实有某些方面的不足,不能展现硬件的独特性质,但是另一方面,它能够节约成本,能让人们把精力放在关注的地方。跨平台的好处显而易见,现在总不见有多少人愿意用机器码为每个机器写一套程序吧。

对于一些很固执的人,特别是一些老外及其固执,用苹果的机的看到windows系统就爹也不是,妈也不对,恨不得直接把电脑砸了,再去买一个mac,这些人就会很仇视swing。

而有一些钟爱于swing的人也有偏执的,理由就是浏览器让我感觉被人束缚,而且如果一个程序需要在不同的平台写两套代码,这是及其不可理喻,甚至是愚蠢的行为,如果一样的代码能够运行在不同系统上这是多美美妙的事情啊,即便是有些不足也是可以理解的。

swing的跨平台还是可以行的,随着UI慢慢进步,这个差异会慢慢的减小。唯一遗憾就是对于那些钟爱于系统风格的人始终都觉得这玩意不可理喻。

顶部