自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

成也Titanium,敗也Titanium之pros

移動(dòng)開發(fā)
本文旨在從Titanium自身出發(fā)來發(fā)現(xiàn)其好的和不好的地方,相信隨著大家的加入,提供商的大力投入,會(huì)不斷的推動(dòng)Titanium的成長。至于是否能滿足大家的需要,看完本文之后,大家也應(yīng)該有個(gè)自己的判斷。

隨著Titanium不斷的發(fā)展,開發(fā)者們紛紛加入到這個(gè)隊(duì)伍中來。很多人在開始的時(shí)候都對這種混合應(yīng)用開發(fā)還存在這一定的猶豫,我為什么選擇它?它是否能夠滿足我的需求,實(shí)現(xiàn)我的預(yù)期目標(biāo)?我使用它是否能發(fā)揮出它自身的特長?等等

很多人喜歡把Titanium和PhoneGap擱在一起去比較,本文的目的不是這個(gè),如果你想知道他們的區(qū)別,“百度一下你就知道”。

首先,Titanium是什么?Titanium是Appcelerator公司提供的一個(gè)開源的開發(fā)平臺,它允許我們使用WEB開發(fā)技術(shù),如:Javascript、HTML、CSS等來創(chuàng)建原生移動(dòng)應(yīng)用。Titanium Mobile SDK是目前被25萬移動(dòng)應(yīng)用開發(fā)者、3萬5千應(yīng)用所采納的領(lǐng)先跨平臺移動(dòng)應(yīng)用開發(fā)解決方案。(數(shù)據(jù)來自官方)

以下站在中立的立場,先從正面來評價(jià)一下Titanium,之后的文章會(huì)從反面來說明。(當(dāng)然有些觀點(diǎn)基于本人自己的開發(fā)體驗(yàn))

1)免費(fèi)的Titanium

Titanium是開源免費(fèi)的(Apache License Version 2.0),Appcelerator公司通過Github公布了Titanium相關(guān)源碼:

Appcelerator Titanium Mobile

Appcelerator Titanium Desktop

Titanium Mobile Kitchen Sink Demo

Modules for Appcelerator's Titanium

Build scripts and config for Titanium

……

IDE開發(fā)工具Titanium Studio也是免費(fèi)的。

http://www.appcelerator.com/products/titanium-studio/

2)快速的原型開發(fā)

Titanium真正意義上加速了應(yīng)用的開發(fā)速度,因?yàn)樗试S你采用一種靈活的方式來創(chuàng)建應(yīng)用,相比通常的應(yīng)用開發(fā)(Object-C的iOS引用,Java的Android應(yīng)用)來說,它需要寫很少的代碼,花費(fèi)更少的時(shí)間。

無論你是選擇原生開發(fā)或選擇跨平臺的工具包來開發(fā)應(yīng)用,都可以使用Titanium來創(chuàng)建原型,通過UI來評估用戶的交互,因?yàn)槠淇焖伲憷拈_發(fā)特性。

3)面向Web的設(shè)計(jì)

應(yīng)用自身一般都是通過Web技術(shù)開發(fā)的,Titanium的重點(diǎn)也就是來幫助那些使用web服務(wù)的應(yīng)用的開發(fā)。

它有很大的好處,不僅簡化了開發(fā)過程,而且還節(jié)省了通過遠(yuǎn)程通信交換信息時(shí)候所花費(fèi)的開銷。典型的一個(gè)例子就是通過JSON形式來做數(shù)據(jù)傳遞。

JSON(JavaScript Object Notation) 是一種基于JavaScript(JavaScript-like objects)的輕量級的數(shù)據(jù)交換格式,而Titanium提供純正的JavaScript API,所以你需要做的就是定義一個(gè)局部變量,然后從網(wǎng)絡(luò)接收的數(shù)據(jù)賦給這個(gè)變量即可,不需要對數(shù)據(jù)進(jìn)行解析,提取和轉(zhuǎn)換(除非是一些不支持的JSON數(shù)據(jù)類型,比如date)。

4)使用JavaScript開發(fā)

這是一種很多開發(fā)者都熟悉的語言,它能使很多具有Web開發(fā)背景的開發(fā)者迅速的轉(zhuǎn)入到移動(dòng)應(yīng)用的開發(fā)中來。更重要的是,Titanium ***程度的實(shí)現(xiàn)了基于原型的腳本語言的本質(zhì)特征:靈活及結(jié)構(gòu)化的組織。

開發(fā)者可以利用JavaScript的語法來迅速的創(chuàng)建iPhone,iPad,Android等平臺的應(yīng)用,不再需要具備Object-C和Java經(jīng)驗(yàn)。

而且像jQuery,YUI等一大批成熟的JS框架可以在Titanium中靈活應(yīng)用。

5)支持跨平臺

只需要編寫維護(hù)一套代碼,Titanium會(huì)為你編譯出各個(gè)平臺的原生應(yīng)用后在多平臺上運(yùn)行,但是你還是要先重點(diǎn)開發(fā)其中一個(gè)平臺的代碼,然后進(jìn)行必要的修正來讓他在第二個(gè)平臺也能正常運(yùn)行。

好處是顯而易見的,你不必學(xué)習(xí)兩個(gè)獨(dú)立的語言(Object-C,Java),還可以實(shí)現(xiàn)很高水平的代碼重用性。

多平臺下代碼的實(shí)現(xiàn)可以通過多種方式實(shí)現(xiàn),比如IF/ELSE,分離的jss文件,分離的js文件已經(jīng)平臺特有的子文件夾。

當(dāng)然他也不是那么***的,你不能說類似“write once, run on iOS and Android”這樣的話(套用一下Java的口號)。

6)迅速成長的社區(qū)

Appcelerator已經(jīng)創(chuàng)建了一個(gè)社區(qū),它具有25萬移動(dòng)應(yīng)用開發(fā)者,他們使用Titanium跨平臺開發(fā)工具開發(fā)了3萬5千應(yīng)用,并且推出了Open Mobile Marketplace,開發(fā)者可以銷售,購買,共享自己的Module,Template,Design element以及擴(kuò)展的web服務(wù)。

Appcelerator最近也獲得了重要的投資(其中C輪融資150萬),收購了Cocoafish來提供云服務(wù),增強(qiáng)平臺的功能。

顯然,Appcelerator 正在創(chuàng)建一個(gè)很好的,正在快速成長的平臺,以后會(huì)越來越好。

7)使用原生UI控件

Titanium提供最接近原生應(yīng)用的應(yīng)用,所有的UI控件都使用了原生控件,應(yīng)用具有原生應(yīng)用的"look and feel"。

它提供了一些通用的API,同時(shí)也提供了一些平臺特有的API,只需要添加簡單的判斷即可實(shí)現(xiàn)。

8)豐富的API

目前***版本1.8.2中,提供了Modules: 36個(gè),Objects: 119個(gè),Methods: 5657個(gè),Properties: 3180個(gè),涵蓋了數(shù)據(jù)庫,文件系統(tǒng),GPS地理信息,地圖,媒體,網(wǎng)絡(luò),SNS,RESTful,SOAP,HTML5等各個(gè)領(lǐng)域。

9)可擴(kuò)展性

當(dāng)TitaniumSDK自身提供的API不能滿足你的需求,你可以擴(kuò)展Titanium,編寫你自己的module(當(dāng)然這樣的module是平臺特有的,使用Object-C做iOS的module,使用Java做Android的module),然后在JavaScript中調(diào)用自己的 module。由于是通過各自的開發(fā)語言來實(shí)現(xiàn)module,所以所有的平臺特性都能夠使用。

10)源碼安全

Titanium將源碼js文件在發(fā)布的應(yīng)用中進(jìn)行了編譯,無法查看,保證了應(yīng)用源碼的安全性。

這里需要特別提醒的是,在開發(fā)Android應(yīng)用完成后,制作APK文件時(shí),一定要修改tiapp.xml的以下設(shè)置,如果ti.deploytype被設(shè)置為“development”,Titanium在構(gòu)建時(shí)會(huì)將你的tiapp.xml和Resources下的所有東西原封不動(dòng)的打包入 APK(assert),別人都不需要反編譯,簡單的解壓就能獲取你所有的源代碼。

Xml代碼
  1. <property name="ti.deploytype">production</property> 
  2. <property name="ti.android.compilejs" type="bool">true</property> 

11)內(nèi)存管理

自動(dòng)的內(nèi)存管理處理,iOS應(yīng)用中不再需要特別考慮Object-C所特有的內(nèi)存管理。

12)……

這里需要大家來補(bǔ)充

在下一篇中我將繼續(xù)為大家重點(diǎn)為大家梳理Titanium反面,看看Titaniun還有那些不足之處。

責(zé)任編輯:佚名 來源: rensanning的博客
相關(guān)推薦

2012-05-18 11:34:03

Titaniumcons

2015-07-06 11:18:40

游戲運(yùn)營設(shè)計(jì)教程

2012-02-13 14:41:50

Titanium架構(gòu)分析

2019-05-31 08:23:00

Oracle數(shù)據(jù)庫云渡劫

2012-06-26 10:40:43

Titanium

2012-04-20 11:07:12

Titanium

2012-09-10 09:14:13

2021-07-03 23:40:27

CTR算法工程師

2012-04-19 13:52:16

TitaniumMVCRedux

2012-05-23 09:41:37

Titanium St卸載

2012-04-19 16:22:12

TitaniumTabGroup

2012-04-19 12:58:26

TitaniumJSS

2012-04-19 13:55:19

TitaniumTiMVC

2012-06-14 09:42:20

跨平臺工具AppceleratoTitanium

2012-05-17 09:09:05

Titanium單元測試

2012-04-19 11:40:21

Titanium

2012-04-19 16:41:24

Titanium視頻實(shí)現(xiàn)頁面跳轉(zhuǎn)

2012-05-23 09:33:37

TitaniumStudioAndroid APK

2012-05-18 11:28:57

TitaniumCommunity W

2012-04-19 17:16:32

Titanium實(shí)例代碼分析
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號