首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何规划/管理多平台(移动)产品?

如何规划/管理多平台(移动)产品?
EN

Software Engineering用户
提问于 2012-11-23 05:05:27
回答 1查看 447关注 0票数 2

假设我必须开发一个运行在iOS、安卓和Windows8Mobile上的应用程序。现在,这三个平台在技术上都采用了不同的程序语言。我能看到的唯一的“重用”是盒子和行图(UML :)图表,而不是其他任何东西。

那么,公司/程序员如何管理同一产品在不同平台上的变化,特别是在实现语言不同的情况下?在桌面世界,这是“更容易”的,国际海事组织,因为有大量的语言和跨平台的库,使你的生活更容易。在移动世界,情况并非如此。

更重要的是,产品线管理原则似乎并不完全适用--什么是相同的,什么是不同的--应用程序是相同的(概念上),实现也是不同的。

脑海中浮现的一些困难:

  • 错误修复:应用程序可能以类似的方式设计,但是错误识别和修复将完全不同。iOS上的一个bug可能/可能不存在于Android上。或者一个平台上的bug修复方法在另一个平台上可能不一样(除非它是一个像a!=b这样的语义错误,而不是a==b,它本质上需要相同的“方法”来修复
  • 增强:在一个平台上进行更改与在另一个平台上进行更改完全不同。
  • 代码-设计差异:由于不同的实现环境,代码的编写/组织方式、类结构等可能会有很大的不同,从而进一步重用(上面的) UML模型。

当然还有很多其他的东西--仅仅是保持开发的同步,并确保所有的应用程序都有相同的版本,以及相同的特性等等。看起来,这种努力是单个应用程序的3倍。那么,人们究竟是如何处理这种噩梦般的局面的呢?

一些想法:

  • 将应用程序拆分到客户机/服务器,以尽量减少对客户端的影响(并不总是可行的)
  • 使用类似Unity3D这样的框架,可以解决跨平台问题(主要适用于游戏,而可能不适用于其他应用程序等)。

还有其他管理平台线的方法吗?有哪些行之有效的管理/驯服效果的方法?

EN

回答 1

Software Engineering用户

发布于 2012-11-23 10:06:23

首先,还有几种方法可以在所有三个平台上运行相同的代码:

  • 您提到的所有3个平台都将运行C++代码。这使得有可能有共同的核心代码。根据您正在开发的应用程序的类型,您可能只需要特定于平台的适配器来与UI、位置服务等进行接口。
  • 音隙允许您在许多移动平台上部署相同的HTML/CSS/Javascript代码。您甚至可以考虑使用类似于GWT的东西从Java代码生成HTML/CSS/Javascript。(我还没有试过,但我很想知道是否有人这样做过!)

但是对于一些应用程序来说,你想要保持原生操作系统的感觉,所以你必然会有很多不同的代码。如果是这样的话,你真的无法逃避这样一个事实:你正在编写3个应用程序,而不是1个应用程序。

不过,有几件事你可以做,以帮助事情走上正轨:

  • 所有平台的设计:当您看到一个新特性时,您总是需要记住一个关于它如何在每个平台上工作的总体想法。在这个领域,让具有不同平台经验的人参与其中是至关重要的。
  • 在一个平台上领导开发:首先在一个平台上实现每个新特性,然后再将其移植到其他平台上。那么,当您执行第一个实现时,您将完成设计中的大部分扭结(为您提供更改文档!)其他平台上的实现应该要简单得多。
  • 不要强迫一致性:有时,事情只是需要在不同的平台上不同的工作方式。如果有什么感觉像是把正方形的钉钉塞进圆孔里,那几乎肯定是个坏主意。如果它现在不咬你,它很可能以后会咬你。
  • 测试:每当发现bug时,在其他平台上检查它。
票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/176890

复制
相关文章

相似问题

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