`
rensanning
  • 浏览: 3553231 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38227
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607652
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682838
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89562
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:402165
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69770
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91862
社区版块
存档分类
最新评论

成也Titanium败也Titanium-----之pros

阅读更多
随着Titanium不断的发展,开发者们纷纷加入到这个队伍中来。很多人在开始的时候都对这种混合应用开发还存在这一定的犹豫,我为什么选择它?它是否能够满足我的需求,实现我的预期目标?我使用它是否能发挥出它自身的特长?等等

本文旨在从Titanium自身出发来发现其好的和不好的地方,相信随着大家的加入,提供商的大力投入,会不断的推动Titanium的成长。至于是否能满足大家的需要,看完本文之后,大家也应该有个自己的判断。

很多人喜欢把Titanium和PhoneGap搁在一起去比较,本文的目的不是这个,如果你想知道他们的区别,“百度一下你就知道”。

首先,Titanium是什么?Titanium是Appcelerator公司提供的一个开源的开发平台,它允许我们使用WEB开发技术,如:Javascript、HTML、CSS等来创建原生移动应用。Titanium Mobile SDK是目前被25万移动应用开发者、3万5千应用所采纳的领先跨平台移动应用开发解决方案。(数据来自官方)

以下站在中立的立场,先从正面来评价一下Titanium,之后的文章会从反面来说明。(当然有些观点基于本人自己的开发体验)

1)免费的Titanium
    Titanium是开源免费的(Apache License Version 2.0),Appcelerator公司通过Github公布了Titanium相关源码:
    Appcelerator Titanium Mobile
    Appcelerator Titanium Desktop
    Titanium Mobile Kitchen Sink Demo
    Modules for Appcelerator's Titanium
    Build scripts and config for Titanium
    ……

    IDE开发工具Titanium Studio也是免费的。
    http://www.appcelerator.com/products/titanium-studio/

2)快速的原型开发
    Titanium真正意义上加速了应用的开发速度,因为它允许你采用一种灵活的方式来创建应用,相比通常的应用开发(Object-C的iOS引用,Java的Android应用)来说,它需要写很少的代码,花费更少的时间。
    无论你是选择原生开发或选择跨平台的工具包来开发应用,都可以使用Titanium来创建原型,通过UI来评估用户的交互,因为其快速,便利的开发特性。

3)面向Web的设计
    应用自身一般都是通过Web技术开发的,Titanium的重点也就是来帮助那些使用web服务的应用的开发。
    它有很大的好处,不仅简化了开发过程,而且还节省了通过远程通信交换信息时候所花费的开销。典型的一个例子就是通过JSON形式来做数据传递。
    JSON(JavaScript Object Notation) 是一种基于JavaScript(JavaScript-like objects)的轻量级的数据交换格式,而Titanium提供纯正的JavaScript API,所以你需要做的就是定义一个局部变量,然后从网络接收的数据赋给这个变量即可,不需要对数据进行解析,提取和转换(除非是一些不支持的JSON数据类型,比如date)。

4)使用JavaScript开发
    这是一种很多开发者都熟悉的语言,它能使很多具有Web开发背景的开发者迅速的转入到移动应用的开发中来。更重要的是,Titanium 最大程度的实现了基于原型的脚本语言的本质特征:灵活及结构化的组织。
    开发者可以利用JavaScript的语法来迅速的创建iPhone,iPad,Android等平台的应用,不再需要具备Object-C和Java经验。
    而且像jQuery,YUI等一大批成熟的JS框架可以在Titanium中灵活应用。

5)支持跨平台
    只需要编写维护一套代码,Titanium会为你编译出各个平台的原生应用后在多平台上运行,但是你还是要先重点开发其中一个平台的代码,然后进行必要的修正来让他在第二个平台也能正常运行。
    好处是显而易见的,你不必学习两个独立的语言(Object-C,Java),还可以实现很高水平的代码重用性。
    多平台下代码的实现可以通过多种方式实现,比如IF/ELSE,分离的jss文件,分离的js文件已经平台特有的子文件夹。
    当然他也不是那么万能的,你不能说类似“write once, run on iOS and Android”这样的话(套用一下Java的口号)。

6)迅速成长的社区
    Appcelerator已经创建了一个社区,它具有25万移动应用开发者,他们使用Titanium跨平台开发工具开发了3万5千应用,并且推出了Open Mobile Marketplace,开发者可以销售,购买,共享自己的Module,Template,Design element以及扩展的web服务。
    Appcelerator最近也获得了重要的投资(其中C轮融资150万),收购了Cocoafish来提供云服务,增强平台的功能。
    显然,Appcelerator 正在创建一个很好的,正在快速成长的平台,以后会越来越好。

7)使用原生UI控件
    Titanium提供最接近原生应用的应用,所有的UI控件都使用了原生控件,应用具有原生应用的"look and feel"。
    它提供了一些通用的API,同时也提供了一些平台特有的API,只需要添加简单的判断即可实现。

8)丰富的API
    目前最新版本1.8.2中,提供了Modules: 36个,Objects: 119个,Methods: 5657个,Properties: 3180个,涵盖了数据库,文件系统,GPS地理信息,地图,媒体,网络,SNS,RESTful,SOAP,HTML5等各个领域。

9)可扩展性
    当TitaniumSDK自身提供的API不能满足你的需求,你可以扩展Titanium,编写你自己的module(当然这样的module是平台特有的,使用Object-C做iOS的module,使用Java做Android的module),然后在JavaScript中调用自己的module。由于是通过各自的开发语言来实现module,所以所有的平台特性都能够使用。

10)源码安全
    Titanium将源码js文件在发布的应用中进行了编译,无法查看,保证了应用源码的安全性。
    这里需要特别提醒的是,在开发Android应用完成后,制作APK文件时,一定要修改tiapp.xml的以下设置,如果ti.deploytype被设置为“development”,Titanium在构建时会将你的tiapp.xml和Resources下的所有东西原封不动的打包入APK(assert),别人都不需要反编译,简单的解压就能获取你所有的源代码。
<property name="ti.deploytype">production</property>
    <property name="ti.android.compilejs" type="bool">true</property


11)内存管理
    自动的内存管理处理,iOS应用中不再需要特别考虑Object-C所特有的内存管理。

12)……
    这里需要大家来补充

在下一篇中我将继续为大家重点为大家梳理Titanium反面,看看Titaniun还有那些不足之处。
0
0
分享到:
评论

相关推荐

    前端开源库-node-titanium-sdk

    **前端开源库-node-titanium-sdk** 前端开发领域中,`node-titanium-sdk`是一个重要的开源库,它基于Node.js环境,为开发者提供了一种使用JavaScript开发原生移动应用的途径。`node-titanium-sdk`是Appcelerator ...

    titanium-appcelerator-pull-to-refresh, 在your中,创建"pull to refresh" 视图的JavaScript方法.zip

    titanium-appcelerator-pull-to-refresh, 在your中,创建"pull to refresh" 视图的JavaScript方法 什么?这种方法,将帮助你在你的篓中制作视图"拖到刷新"。?要使用这里方法,你需要将这些文件包含在项目中:Ti....

    钛备份TitaniumBackup-v8.3.2-413_MoDaCo_SU-Patched_by_Alphaeva

    钛备份Titanium Backup Pro是目前为最强悍的程序和系统备份工具,需ROOT权限运行。它的程序命名就是一个暗示,钛(元素名Ti),是一种高档的金属,特点是重量轻但是强度大,相当稳固,被广泛应用于航天和航海这些...

    Google-Cloud-Messaging--Titanium-, 在 Titanium 中,Google云消息传递.zip

    Google-Cloud-Messaging--Titanium-, 在 Titanium 中,Google云消息传递 Google-Cloud-Messaging--Titanium -注册带有GCM和处理发送到设备的通知的Titanium MODULE 。Android平台使用c2dm进行推送,但是因为c2dm停止...

    atom-titanium, 用于 Titanium 合金的Atom 封装.zip

    atom-titanium, 用于 Titanium 合金的Atom 封装 用于 Titanium 合金的 All-in-One封装这是一个用于 Titanium 合金的Atom 封装。$ apm install titanium-alloy冲突&需要通知Alloy 1.8. x

    titanium-d1-kickstart.6.1.1

    titanium-d1-kickstart.6.1.1.gbin 强大的思科模拟器

    创新Sound Blaster X-Fi Titanium系列声卡驱动 v2.40.0008 官方最新版

    titaniumhd声卡驱动是由创新官方为创新SoundBlasterX-FiTitanium系列推出的一款驱动程序,适合电脑声音有异常的用户来使用,欢迎喜爱的朋友下载使用!官方介绍titaniumhd声卡驱动是创新近期发布的一款适用于...

    Titanium-Web-Proxy:C#中的跨平台异步HTTP(S)代理服务器

    要获得编程帮助,请使用带有标签Titanium-Web-Proxy的 。 产品特点 采用服务器连接池,证书缓存和缓冲池的多线程全异步代理 查看/修改/重定向/阻止请求和响应 支持相互SSL身份验证,代理身份验证和自动上游代理检测...

    ecm.titanium-26100.rar

    在本压缩包"ecm.titanium-26100.rar"中,包含的工具专门用于ECU的读写操作,这对于汽车调校、故障诊断以及性能提升等方面具有重要意义。 "KTAG2."标签暗示了这个工具可能属于K-TAG系列的第二代产品。K-TAG是一款由...

    Cisco_N7K模拟器Titanium6.1.1安装方法.docx

    Cisco N7K 模拟器 Titanium 6.1.1 安装方法 本文档将指导用户如何安装 Cisco N7K 模拟器 Titanium 6.1.1,包括虚拟机的设置、模拟器的连接、TFTP 服务器的建立、升级安装包的传输、系统文件的更新等步骤。 一、...

    titanium-web-proxy:C# 中的跨平台异步 HTTP(S) 代理服务器

    如需编程帮助,请使用带有标签 Titanium-Web-Proxy 的 。 特征 采用服务器连接池、证书缓存和缓冲池的多线程和异步代理 查看、修改、重定向和阻止请求或响应 支持相互 SSL 认证、代理认证和自动上游代理检测 在 ...

    Titanium中文版开发手册

    **Titanium中文版开发手册** Titanium中文版开发手册是一份专门为中文用户编译的开发者指南,旨在帮助熟悉中文的开发者充分利用Titanium框架进行移动应用的开发。Titanium是一个开源的JavaScript平台,允许开发者...

    [Titanium] Appcelerator Titanium 移动应用开发教程 (英文版)

    [Packt Publishing] Appcelerator Titanium 移动应用开发教程 (英文版) [Packt Publishing] Creating Mobile Apps with Appcelerator Titanium (E-Book) ☆ 图书概要:☆ Develop fully-featured mobile ...

    Titanium Mobile SDK 3.1.0 Apidoc 离线版

    Titanium Mobile SDK 3.1.0 是一个用于构建原生移动应用的开发工具,尤其针对iOS和Android平台。这个版本的Apidoc是开发者的重要参考资料,它包含了完整的API文档,帮助开发者理解并使用Titanium框架的各种功能。...

    Atom-Titanium-Build,钛菜单原子运行,包装等。对Hazemkhaled/钛合金有贡献.zip

    Atom-Titanium-Build.zip,钛菜单到Atom,包括Run、Package等这个项目已不在积极开发之中。自从@appcelerator为atom发布了令人敬畏的官方软件包以来,包括调试、构建等等。,atom是一个用web技术构建的开源文本编辑器...

    前端开源库-faster-titanium

    在解压的`faster-titanium-master`文件中,你应该能找到项目的源代码、文档、示例以及相关的配置文件。通过阅读源代码和文档,你可以更深入地了解如何将这个库集成到你的项目中,以提升应用的性能。同时,参与社区...

    Titanium plugin开发初探

    【钛合金(Titanium)插件开发初探】 在移动应用开发领域,Titanium 是一个流行的选择,它允许开发者使用 JavaScript 来构建原生的 iOS 和 Android 应用。Titanium 的核心理念是通过跨平台的 JavaScript API 提供与...

    titanium-appcelerator-progress-view, 在 Titanium Appcelerator项目中,要使用的自定义进度视图.zip

    titanium-appcelerator-progress-view, 在 Titanium Appcelerator项目中,要使用的自定义进度视图 进度视图这是一个进度视图,显示你的应用程序的某些状态。 你可以设置加载,成功和错误状态。只使用三行代码,你就...

    Titanium Mobile API

    ### Titanium Mobile API 知识点详解 #### 一、Titanium Mobile API 概述 Titanium Mobile API 是一款由 Appcelerator 公司提供的用于跨平台移动应用开发的强大工具包。该工具允许开发者使用 JavaScript 编写应用...

Global site tag (gtag.js) - Google Analytics