我是一名 .NET 开发人员(现在已经 6 年多了),并且刚刚开始学习移动/智能手机/平板电脑开发。从逻辑上讲,我(可能还有其他所有人)希望我们创建的应用程序能够在所有智能手机平台上运行。从普通用户(外行)的角度来看,如果它是一个“移动应用程序”,它应该在移动设备上运行,这感觉很自然。如果我拥有 iPhone 或 Android 并不重要,移动应用程序就是移动应用程序。注意:我说的是原生平台开发,而不是可以从浏览器中使用的 HTML/Web 应用程序。
所以这只是一个高层次的概述问题......目前(2013 年)处理这个问题的策略是什么?我想象的移动跨平台开发工作方式可能是有一个通用代码库来实现应用程序的业务逻辑,然后对于每个目标平台,我们需要分别开发 GUI 部分。这在实践中与事实相去甚远?
以流行游戏“愤怒的小鸟”为例。我在 iPhone、Android 甚至 Windows 桌面上的 Chrome 浏览器上玩过它(可能是 Flash 或 HTML5 游戏),每个版本在玩时都有几乎相同的感觉。他们是怎么做到的?我想他们将游戏引擎作为通用代码,但可以用什么语言编写?据我所知,没有一种通用的编程语言可以提供单一的源代码文件,它可以编译成适用于 ios/android/win8 手机的本机二进制文件。