首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >今天(2013年)跨平台移动开发在实践中是如何完成的?

今天(2013年)跨平台移动开发在实践中是如何完成的?
EN

Stack Overflow用户
提问于 2013-04-13 07:24:25
回答 3查看 4.1K关注 0票数 5

我是一名.NET开发人员(现在已经6年多了),刚刚开始学习移动/智能手机/平板电脑的开发。从逻辑上讲,我(可能还有其他所有人)希望我们创建的应用程序可以在所有智能手机平台上运行。从普通用户(外行)的角度来看,如果它是一个“移动应用”,它应该在移动设备上运行,这是很自然的。不管我是拥有iPhone还是安卓系统,移动应用程序都是移动应用程序。注意:我说的是原生平台开发,而不是可以从浏览器使用的HTML/web应用程序。

所以这只是一个概括性的问题...目前(2013年)处理这个问题的策略是什么?我设想的移动跨平台开发的工作方式是,可能只有一个公共代码库来实现应用的业务逻辑,然后对于每个目标平台,我们需要单独开发GUI部分。这离实践中的真相有多远?

以流行的游戏“愤怒的小鸟”为例。我在iPhone、安卓甚至是Windows Desktop上的Chrome浏览器(可能是Flash或HTML5游戏)上玩过这个游戏,每个版本在玩的时候都有几乎相同的感觉。他们是怎么做到的?我想他们有游戏引擎作为公共代码,但它可以用什么语言编写呢?据我所知,没有一种通用的编程语言可以将其编译成ios/android/win8手机的本机二进制文件。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-13 07:45:17

不幸的是,没有办法开发一个跨平台的应用程序,它具有真正的本地外观和感觉,并在所有平台上共享相同的代码。虽然可以在某些平台上共享一些代码(例如,您可以在iOS和安卓上使用C/C++ ),但仅限于应用程序的逻辑部分。要获得原生UI,您将被迫使用原生API。如果你的应用程序不涉及一些复杂的数据处理,那么这种方法可能会有更多的缺点,而不是真正帮助你。

你可以通过混合应用程序平台获得相当好的平台独立性,比如PhoneGap或Titanium,但这涉及到HTML/Javascript开发,这可能导致需要大量的时间和精力来使用户体验有点类似于本机应用程序。

票数 6
EN

Stack Overflow用户

发布于 2013-04-13 07:33:47

既然您是Xamarin开发人员,那么一个合理的解决方案就是使用.NET的产品。(http://xamarin.com/)它们允许您开发一次后端逻辑,然后将其编译到所有三个主要的移动平台(iPhone/Android/WP)中。然后,您可以使用这个后端逻辑项目为每个特定平台编写UI层。

开发人员的另一个选择是使用类似于PhoneGap的javascript/html路由。虽然我最近没有看到这一点,但在使用JS/HTML路线时,通常会有一些性能损失和硬件可用性差距。这一点现在可能已经得到了改善。

编辑:因为你特别提到了像“愤怒的小鸟”这样的游戏。如果您需要3D,Unity平台为与大多数设备兼容的开发提供了非常好的支持。

对于“愤怒的小鸟”,specifically...they使用Box2D进行物理,我不是100%,但它看起来像是Cocos2d来绘制元素。

如果你想构建游戏,并且喜欢Xamarin的想法,那么可以看看MonoGame,它基本上看起来像是Mono框架的XNA端口。

票数 3
EN

Stack Overflow用户

发布于 2013-04-13 07:52:03

除了Jared的回答之外,今天下午我还测试了Xamarin。

您是一名.Net开发人员,如果您已经在使用Visual Studio,那么您就很幸运了。因为Xamarin有一个extension for Visual Studio

我只想给xamarin一个不好的印象,你可以测试好的时候,用户界面是在一个基于xml的文件中创建的,没有自动完成,所以你必须编写完整的代码或使用属性窗口。但我想到时候会好起来的。很好的编码

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15982388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档