【翻译】过去几年见证了移动市场的快速发展,主要是由大量应用程序驱动的。作为消费者,我们都不愿意看到任何一种平台造成某种市场垄断局面。毕竟,竞争越多,创新就越多。作为开发人员,我们对跨平台开发有着复杂的感受。跨平台开发有几个缺点,比如平台集成度差,设计不灵活等。但另一方面,我们可以接触到更广阔的市场,更多的消费者,可以为我们开发的应用程序提供统一的外观和感觉跨多个平台。今天,几乎所有现代移动平台都提供面向对象的API。因此,没有理由不开发跨平台应用程序。在本教程中,我们将介绍跨平台开发的基础知识。我们将使用Appcelerator的TitaniumSDK作为一种跨平台SDK(软件开发工具包)。我们需要什么??了解Java?PC?AndroidSDK?TitaniumSDK作为开发平台,Titanium允许您通过单一源代码为GoogleAndroid和AppleiOS开发本机应用程序。它以Java为主要语言,也可以与HTML和JavaScript结合运行。它不依赖于WebUI并且是可扩展的。模块可以用Objective-C编写。对于那些熟悉Java和HTML的人来说,Titanium是移动开发的一个很好的起点。如果你想开发Android应用,你需要AndroidSDK;如果你想开发iOS应用程序,你需要一台Mac。对我们来说幸运的是,一旦你有了代码,你就可以将代码导入Mac上的Titanium,然后为iOS编译代码。要正确使用TitaniumSDK,我们需要以下内容:?OracleJavaJDK6或7?Node.js?AndroidSDK和AndroidNDK?至少2GB内存在这里下载TitaniumSDK(需要注册):https://我的。appcelerator.com/auth/signup。下载Titanium后,进入下载目录,解压到/opt。$sudounziptitanium.linux.gtk.x86_64.zip-d/opt接下来进入终端,设置路径。$echo'exportMOZILLA_FIVE_HOME=/usr/lib/mozilla'>>~/.bashrc$source~/.bashrc接下来,我们要安装TitaniumSDK的所有依赖项。在Ubuntu或Debian上,我们将使用apt-get:$sudoapt-getinstalllibjpeg62libwebkitgtk-1.0-0lib32z1lib32ncurses5lib32bz2-1.0在Fedora上,使用yum:$sudoyuminstalllibjpeg62libwebkitgtk-1.0-0lib32z1lib52-ncurs2安装1.0依赖项后,我们需要重新定位Titanium,如下所示。$sudoln-s/opt/Titanium_Studio/TitaniumStudio/usr/local/bin/TitaniumStudio在我们第一次运行TitaniumSDK之前,我们必须为Titanium创建一个构建目录。通常我在/home目录中有一个名为“builds”的文件夹(下面有子文件夹),它包含我所有的项目。让我们从创建构建目录开始。$mkdir~/builds创建构建目录后,启动Titanium。$TitaniumStudio使用您在Titanium下载期间创建的用户帐户登录并浏览到您的构建目录。TitaniumSDK的工作窗口连接到您之前创建的帐户。它提供了丰富的信息和很多帮助。在左侧,我们可以选择是创建新项目还是导入旧项目。出于本教程的目的,我们将创建一个新项目,因此选择“创建项目”选项卡。在新项目窗口中,我们可以在多个模板之间进行选择。我们将为本教程选择默认项目模板。之后,我们将为项目命名。输入申请号(appid)和公司网址。申请号是公司网址的反面,以.appname结尾。我们网站的URL是http://xmodulo.com,应用名称是“firstapp”。这样,我们的申请号就是“com.xmodulo.firstapp”。在命名项目方面,我们需要选择Android组件。我通常选择所有android组件。Titanium将下载并配置所有必需的组件,还将更新旧组件。下载并安装Android组件后,Titanium会自动为我们的项目打开一个工作窗口。工作窗口由两个选项卡组成:app.js和应用程序编辑器。app.js用于编写代码,应用编辑器窗口用于提供应用信息。Titanium建立之后,我们不妨在app.js窗口中创建一些简单的代码来了解Titanium的基本元素。钛中最重要的元素是窗口元素。Windows实际上一点也不复杂。您可以将窗口视为开发结果的容器。对于一个应用程序,您可以添加一个或多个窗口。下一个重要元素是视图元素,它是包含其他元素(如HTML中的标记)的矩形。重要元素也是标签组和标签。它们是如何工作的?每个标记组包含一个或多个标记,每个标记控制多个窗口。构建一个简单的应用程序在本教程的这一部分中,我们将构建一个仅包含主要元素的简单应用程序。首先,让我们指定一些基本方面,例如像素。像素大小不是用标准的px标注,而是百分比,需要写成字符串。top,20,width:"50%"至于颜色,我们不使用名称,因为它们是十六进制RGB颜色代码。backgroundColor:"#f00",borderColor:"#87C8FF"现在使用Titanium.UI.createWindow函数,我们可以构建第一批窗口,更详细一点。varwin1=Titanium.UI.createWindow({title:'Tab1',backgroundColor:'#fff'});这段代码是什么意思?它显示我们将包含所有属性的变量传递给createWindows函数。这些元素背后的逻辑很简单。tagGroup是应用程序的根,不能包含在某些其他元素中。它包含标签,每个标签都有自己的窗口。让我们将它们放在一起并构建一个简单的应用程序来演示窗口、标记和视图。//创建标签组vartabGroup=Titanium.UI.createTabGroup();现在,让我们创建一些窗口和选项卡。//创建基本的UI标签和窗口varwin1=Titanium.UI.createWindow({title:'IamWindow1.',backgroundColor:'#fff'});vartab1=Titanium.UI.createTab({icon:'KS_nav_views.png',title:'Tab1',window:win1});varwin2=Titanium.UI.createWindow({title:'IamWindow2',backgroundColor:'#fff'});vartab2=Titanium.UI.createTab({icon:'KS_nav_views.png',title:'Tab2',window:win2});之后,我们不妨将所有这些串联起来。//添加标签tabGroup.addTab(tab1);tabGroup.addTab(tab2);//打开标签组tabGroup.open();在我们写完代码之后,我们需要定义它的外观。为此,我们将使用标签元素。使用此标记元素,我们可以为应用程序添加背景墙纸,定义本机字体和颜色。此外,它还允许定义其他元素的外观。我们将为正在开发的这个应用程序定义窗口元素的外观。让我们为我们的应用程序构建一个简单的标签元素。varlabel1=Titanium.UI.createLabel({color:'#999',text:'IamWindow1',font:{fontSize:20,fontFamily:'HelveticaNeue'},textAlign:'center',width:'auto'});整个源代码是什么样的?//创建标签组vartabGroup=Titanium.UI.createTabGroup();//创建基本的UI标签和根窗口varwin1=Titanium.UI.createWindow({title:'Tab1',backgroundColor:'#fff'});vartab1=Titanium.UI.createTab({icon:'KS_nav_views.png',title:'Tab1',window:win1});varlabel1=Titanium.UI.createLabel({color:'#999',text:'IamWindow1',font:{fontSize:20,fontFamily:'HelveticaNeue'},textAlign:'center',width:'auto'});win1.add(label1);varwin2=Titanium.UI.createWindow({title:'Tab2',backgroundColor:'#fff'});vartab2=Titanium.UI.createTab({icon:'KS_nav_views.png',title:'Tab2',window:win2});varlabel2=Titanium.UI.createLabel({color:'#999',text:'IamWindow2',font:{fontSize:20,fontFamily:'HelveticaNeue'},textAlign:'center',width:'auto'});win2.add(label2);//添加标签tabGroup.addTab(tab1);tabGroup.addTab(tab2);//打开标签组tabGroup.open();这就是我们的简单应用程序在Android模拟器中运行时的样子。这段代码简短而简单,但它是开始体验跨平台开发的一个很好的起点。英文原文:http://xmodulo.com/develop-cross-platform-mobile-apps-linux.html布加迪编译
