跨平台的问题,最主要不是语言问题,而是用户体验问题。
在每个系统中,都存在一个“用户认知”的“原生操作方式”,也就是说,操作方式最接近手机原生应用的方式最能够让目标手机用户接受,但 是跨平台就意味着你在不同系统中的设计是一样的,而所谓跨平台设计,事实上,要么是给所有个平台用户都带来糟糕的体验,要么就是兼容一个平台的用户体验却无视所有其他平台的用户体验。
如果你不能给用户带来好的用户体验,那么还不如就只做一个 HTML 的应用,因为这样做肯定跨平台了。
考虑几个例子:
iPhone 的正面只有一个 Home 键,程序的所有操作都必须明显的做成按钮,占用屏幕空间。
Android 的 Menu 键是标准键,因此所有操作都可以做进 Menu ,无须在屏幕上放那些按钮。——从用户认知的角度来讲,你一个 android 应用,在屏幕上放满各种功能的按钮却不提供 Menu 键支持,用户会觉得傻。但你一个 iOS 应用,这些功能你不放屏幕上就没法用。
与此衍生的一个问题是:APhone一般是长型的,用户如果需要按四大天王键,手指肯定不可能点到屏幕上方,因此 APhone 设计屏幕按钮应当设计在偏下的位置。——但 iPhone 相对来说扁一些,同时 iPhone 尺寸偏小,在保证能按到 Home 键的同时,单手能覆盖整个屏幕,为了避免误触,一般 iPhone 界面的按钮都设计在屏幕偏上的位置。
iPhone 肯定没有照相机键。
Android 手机,(靠谱的)一般会存在一个真实的,双行程的照相机键(半按对焦,全按照相,懂摄影的人都懂的)
iPhone 肯定没有搜索键,Android 手机,Moto/HTC必有搜索键,三星手机长按菜单为搜索,国产手机产商常常没有(因为他们以为三星没搜索键,其实人家三星有)。
iPhone 肯定没有回退键,Android 手机,肯定有回退键。
手机应用一般要全屏,那么 3:2 的屏(iPhone), 4:3 的屏(iPad),16:9 的屏(APhone),16:10的屏(APad),5:3 的屏(WP),你版面布局肯定是不一样的。而版面布局,又是与用户体验密切相关的。