是否只是在用户界面变化的问题上瞄准钛的其他平台?

时间:2012-07-18 13:23:00

标签: android iphone ipad titanium titanium-mobile

如果我有一个钛金属的iPhone应用程序,然后想要在Android和ipad上使用相同的应用程序,让它在每个平台上运行良好,只需要进行一些UI更改或者是否需要重写一个大量的代码?

2 个答案:

答案 0 :(得分:2)

我会做的第一件事就是在Android模拟器中尝试一下。它有用吗? Titanium会将UI元素映射到目标平台功能,因此它可能会起作用,尽管它看起来会有所不同。每个平台都有不同的方式在屏幕上显示信息。

Titanium Mobile是一次写入,适应各地的模式。因此,您编写应用程序的主要功能,然后将UI调整到平台。如果您正确地构建了设备,通常可以为设备重用大部分后端管理代码。在我的情况下,我正在编写一个合理的大型应用程序,我可以重用我的所有网络代码和数据库交互代码。设置项目的方式允许您在平台特定文件夹中的所需位置替换特定于平台的文件。例如,如果你的form1.js在Android上不起作用,但在iPhone中工作,则将form1.js文件放入与文件夹结构匹配的Android文件夹中,它将在编译期间从那里拉出文件,但是继续从公共代码使用database.js文件作为数据存储。

一些跨平台代码的一个很好的例子是您可以通过IDE获得的 RSS阅读器示例代码(IDE中的左下方面板)。您可以找出您需要做的微小更改,以使您的应用在Android上运行。我也喜欢 Tweetanium 应用程序源代码,因为它是一个更大的项目,并且具有类似的跨平台工作,使得应用程序在两个操作系统上看起来都相似。

此外,请搜索'App'源代码的Titanium Mobile Titans。实际上这里是链接:https://github.com/appcelerator-titans/App。这是一个跨平台接口的示例,它考虑了UI。

我相信所有这些示例都有平板电脑(iPad / Android)检测代码,因此您可以看到代码如何分支这些屏幕尺寸。

答案 1 :(得分:0)

虽然Titanium在技术上可以是“一次编写,随处部署”平台,但我认为开发人员最好为每个平台创建相同的代码库,同时稍微改变开发以适应特定的目标平台。

例如,您在定位Android设备时的需求(范围从Galaxy Nexus等高端智能手机到Nexus 7等平板电脑)与iOS应用程序的最佳实践需求大相径庭。

我不希望完全相同的应用程序成为同一设备系列成员的目标。以iOS为例 - 为iPhone和iPad设计最精良的应用程序具有强大的UI / UX差异,应该考虑到它们的外观和使用方式差异很大。

一个不遵守“一次编写,随处部署”模式的应用程序的一个很好的例子是6wunderkinder开发的 Wunderlist 应用程序。虽然他们使用Titanium开发他们的iOS应用程序,但他们并没有将Titanium用于他们的Android应用程序,而是决定完全放弃Titanium并进行原生开发。

这并不是说你不能在两个平台上坚持使用Titanium(我已经在同一代码中改编了适用于iOS和Android的应用程序),但这是6wunderkinder团队决定制作的一个完全可以理解的选择。虽然他们很容易将他们现有的iOS Titanium代码库用于他们的Android应用程序,但他们可能需要做出很多牺牲,以便按照他们在Android上设想的方式进行显示。

所以,是的,如果想要一个外观漂亮的应用程序(在两个设备系列上完全按照你想要的方式获得它),通常需要更改很多代码。