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

成也Titanium,敗也Titanium之cons

移動開發(fā)
正如所有事情一樣,每一個設計方法,在每一個決策,都有優(yōu)點和缺點。對于簡單,小的應用來說,Titanium應該是最好的選擇,但如果你希望強化你的應用程序的話還是選擇原生開發(fā)環(huán)境比較好。Titanium 作為開發(fā)原型來說是一個非常優(yōu)秀的工具,你可以花費很少的時間,作成prototype展示給客戶,進行可用性測試。但是不管是正反哪個方面,在每次項目中都應該去評估,因為它跟取決于項目自身。需要考慮的關(guān)鍵點是:效益,成本,預算,開發(fā)的復雜性,跨平臺支持有多重要,項目的戰(zhàn)略,性能的重要性等等。你必須權(quán)衡每個正反方面的觀點,根據(jù)你的具

上篇,我們來說說Titanium另外一面,看看他到底有什么樣的不足。

1)收費的Titanium

   天下沒有免費的午餐,免費的另一面就是收費!Titanium的營收模式分兩種:增值收費和平臺?;静考赓M,高級部件、Titanium Studio的附加功能和官方專業(yè)指導服務都需要付費。而且要想獲得他們專業(yè)的1對1服務,更是相當?shù)陌嘿F!

2)貧乏的開發(fā)文檔

   API文檔不完整,要么書寫的過于簡單,要么干脆就沒有提到,要么就是版本已經(jīng)升級沒來得及更新,偶爾還有寫錯的。

   查看API是很多時候解決問題的***方式,應該在***程度上重視API的提供。

   提供的Guides內(nèi)容也很有限,很多東西都沒有提到,也就是能夠得到一些基本的信息而已。

   Guides雖然是以WIKI的形式提供的,但也只能是他們自己的職員才能夠編輯。

     --->(2012/03/26)Titanium 提供可編輯的Community Wiki了

   同樣在Github上的project里理應開發(fā)的wiki也沒有開放。

   他們提供了很多的入門視頻,出發(fā)點是好的,但是一些由于版本升級后已經(jīng)過期的視頻沒有被拿下,無法分辨是否還能觀看使用。

3)Q&A論壇不完善

   首先他們使用的Q&A論壇程序本身在技術(shù)和設計上就存在很多問題,比如你想查找個問題是很費勁的,它所給你顯示的結(jié)果的排序非?;靵y,不知道是否結(jié)合了回答數(shù),點擊數(shù),發(fā)布時間等,但就是跟你想象的結(jié)果差的太遠,你就得挨個看看每個問題是否跟自己的問題類似,當你將你的Q&A Profile的Notifications設置成Enabled的時候,你也很多時候收不到來自論壇的郵件。這樣你就無法知道是否有人回答了你的問題,不得不每次都把問題挨個查看一遍。

   很多人希望得到他們開發(fā)人員的回答,但是他們很少在Q&A論壇中回答問題,偶爾一次就是很難得的了。你會發(fā)現(xiàn)很長時間都沒有人理會問題,很多時候還是一些熱心的開發(fā)者來提供回答。

4)構(gòu)建問題太多

   這是大家普遍反應的問題,在環(huán)境構(gòu)筑,應用構(gòu)建時候會出現(xiàn)很多問題,比如找不到SDK,build時出錯,不能啟動模擬器等等

   應用構(gòu)建花費時間太長,很多時候當你點擊啟動emulator后,很長時間才能把模擬器啟動起來,而模擬器啟動起來后,你又會發(fā)現(xiàn),Titanium總是提示找不到模擬器,讓你重新啟動。你不得不一遍一遍的重復這啟動這個操作,直到它好用。

5)性能太差

   問題***的還是性能問題,在Android下尤為嚴重(1.8版后引入V8后稍有改善)。當你往頁面上添加很多View的時候,頁面顯示就很吃力,當你的Tableview中有很多行時,滾動起來就很費勁等等。

6)無緣無故的crash

   最苦惱的就是這個問題了,因為它會讓你抓狂。也不知道什么原因,莫名的系統(tǒng)就提示你發(fā)生錯誤,不能響應了。一個最嚴重的問題是,應用程序崩潰時沒有任何明顯的原因,而且錯誤報告太簡單,很難幫助開發(fā)者解決問題。很嚴重的時候他會影響到開發(fā)者發(fā)布應用到Appstore或AndroidMarket上去。

7)無法做內(nèi)存管理

   不用開發(fā)者考慮內(nèi)存管理,是好事也是壞事。你將無法知道你的內(nèi)存使用狀況,發(fā)生內(nèi)存溢出的話,你將無從下手。很多時候會讓你陷入內(nèi)存溢出的困境中,無法解決。

8)UI也存在問題

   目前提供的UI控件也存在著Bug,比如說,不能響應事件,無法滾動,不能顯示等等。

UI是應用的“門臉”,如果這里出現(xiàn)了問題,將直接導致用戶卸載應用。有時候?qū)Ш讲荒苷9ぷ?,造成了一些導航控制不能實現(xiàn),UI的設計被打破,如果這發(fā)生在一個真正的應用程序商店的產(chǎn)品身上的話,對開發(fā)者來說將是一個災難。但是苦惱的是你怎么Review你的代碼都發(fā)現(xiàn)它沒有任何毛病。

9)Bug修復太慢

   成千上萬的開發(fā)者在使用Titanium,每天都會發(fā)現(xiàn)很多問題,提交給了Appcelerator。但是你會發(fā)現(xiàn)很多bug很長時間都未能解決,間隔幾年的都有。

10)IDE功能不全

   最開始Appcelerator提供的IDE是Titanium Developer,自從收購Aptana之后,開始提供Titanium Studio。Titanium Studio是一個基于Eclipse的Aptana自定義版的IDE開發(fā)工具,它允許你創(chuàng)建,管理,測試你的移動應用項目工程,而且將工程自動打包發(fā)布到模擬器或者真機上去。而Titanium Studio在一遇到問題是就不在往控制臺輸出信息,最為嚴重的是會偶爾在構(gòu)建的時候忽略代碼的修改。你不得不每次修改完代碼后clean你的工程。

   沒有官方的可視化開發(fā)工具,可視化開發(fā)對于應用的頁面布局是很重要的,無論是Android還是iOS都提供了強大的GUI工具。Titanium卻遲遲沒有提供,這就意味著你必須手動書寫你自己的代碼來實現(xiàn)你的布局。

   調(diào)試代碼很不方便,Titanium studio還需要加強代碼的調(diào)試功能。

11)錯誤提示不準確

   對于開發(fā)者來說,調(diào)試程序相當重要的,而在程序出錯的時候,查看出錯的位置,異常的堆棧等信息是很必要的。但是在開發(fā)中Titanium的錯誤提示很難讓你找到問題所在,很多時候你都會得到一個模糊的錯誤提示,它沒有給出你具體的錯誤,你也很難判斷錯誤。很多時候不得不先把一大部分代碼刪除了,一點點的網(wǎng)上添加來看看那里出了錯誤。

12)應用文件太大

   在構(gòu)建應用時會生成大量的文件,一個很簡單的應用動輒就5,6M大小。而如果用原生的話,估計也就幾十K大小。

   當Titanium把你的代碼轉(zhuǎn)換成目標平臺(iOS,Android)代碼的時候,它產(chǎn)生了大量的類。比如我們查看Xcode工程的話,會發(fā)現(xiàn)它生成了大概450個類,而這些類中我們可能用到的也就是10來個左右。這雖然不是很大的問題,但是他堆積到你的應用中,增大了應用的大小,從而將會加大用戶訪問網(wǎng)絡的流量。

   在Android上,如果你查看應用源碼的話,你會發(fā)現(xiàn)它被寫的特別的臃腫。

13)功能受限

   Javascript不是Objective-C也不是Java,所以相比Object-C和Java開發(fā)出來的原生應用,可實現(xiàn)功能的范圍有所限制。正如前所述,使用JavaScript開發(fā)是簡單快速的,但是也將失去了原生應用開發(fā)語言的一些特有的功能。

   而且從代碼上來說,Object-C和Java的結(jié)構(gòu)化嚴格規(guī)范,使得程序很容易維護,而JavaScript靈活寬松的語法也加大了維護的難度。

14)并非完全的開源

   說Appcelerator不是完全的開源,一點兒不過,他不接受眾多開發(fā)者的貢獻。他是能說是公開了源代碼而已。

1***ppcelerator在監(jiān)視你

   Appcelerator在監(jiān)視你,你知道嗎?為了分析app,Titanium默認開啟了分析功能。還有你想使用Titanium Studio創(chuàng)建應用的前提是:從Appcelerator申請賬戶,這樣一來,你創(chuàng)建了什么應用,支持什么平臺等等,都會傳回給 Appcelerator。Appcelerator每次發(fā)布的移動應用趨勢報告就來源于此。

16)API封裝不足

  盡管Titanium同時支持iOS和Android,但是目前的API還是需要寫很多基于iOS和Android平臺的代碼(盡管他已經(jīng)為各個SDK簡化了代碼)。

  對于JSON對象的正確性也需要特別的注意,自帶的parser很嚴格,***得先使用eval一下。

   Titanium API的靈活性也帶來了不足,雖然他能你用短短的幾行代碼實現(xiàn)原生代碼很長代碼才能實現(xiàn)的功能,但是另一面來說他也限制了功能。比如你想給window設置一個鋪滿的背景,在原生代碼中是很普通很簡單的功能,但是Titanium中需要很多代碼才能實現(xiàn)。

17)代碼的可維護性

   Titanium在一定程度上增加了代碼的復雜度。何出此言,隨著app的功能的增加,代碼在不斷增多,開發(fā)也變得更復雜,你也將會遇到更嚴重的技術(shù)問題,比如:隨機崩潰,奇怪的行為,惱人的錯誤,等等。

   而代碼的組織,代碼的可讀性,MVC層次的分割,multi-device的支持, multi-platform的支持等等,都是需要你考慮的問題。

18)其他

   不斷的發(fā)布新的產(chǎn)品而不去修復既有產(chǎn)品、網(wǎng)站的問題。而且“新”產(chǎn)品總是在beta或者準備階段發(fā)布。

   有開發(fā)者通過Titanium開發(fā)的應用未通過Apple的審查,原因是應用調(diào)用了Apple的私有API,但是Appcelerator不承認他們有這個問題。

http://developer.appcelerator.com/question/123785/app-has-bee-rejected-by-non-public-api

***說一個網(wǎng)上最差的案例!有人花2萬多美元通過Titanium開發(fā)了一個iPad應用,但是經(jīng)常莫名的crash,內(nèi)存溢出。應用作者開始尋找Titanium Professional support,這當然要付很昂貴的服務費。雖然應用作者很詳細的說明問題,甚至把相關(guān)代碼發(fā)給了他們,但在很長一段時間里都沒能解決問題。應用作者就把問題反映給了Appcelerator的CTO(抄送CEO),很快就有了回復。承任Titanium存在Bug,并相應的提出ticket承諾在以后版本中修正但是不可能等那么長時間等他們版本升級,所以應用作者需要更加專業(yè)的企業(yè)級服務

得到的回復是,每小時375美元幫他排查代碼的問題,而應用作者估計他們至少需要20到40個小時才能通讀他的代碼后給出建議,這將是一筆不小的花費?。?/p>

http://labs.thesedays.com/blog/2010/02/04/review-of-appcelerator-titanium/

正如所有事情一樣,每一個設計方法,在每一個決策,都有優(yōu)點和缺點。對于簡單,小的應用來說,Titanium應該是***的選擇,但如果你希望強化你的應用程序的話還是選擇原生開發(fā)環(huán)境比較好。Titanium 作為開發(fā)原型來說是一個非常優(yōu)秀的工具,你可以花費很少的時間,作成prototype展示給客戶,進行可用性測試。但是不管是正反哪個方面,在每次項目中都應該去評估,因為它跟取決于項目自身。需要考慮的關(guān)鍵點是:效益,成本,預算,開發(fā)的復雜性,跨平臺支持有多重要,項目的戰(zhàn)略,性能的重要性等等。你必須權(quán)衡每個正反方面的觀點,根據(jù)你的具體優(yōu)先順序,來確定它是否適合你的需求。但是從個人觀點來說,當你啟動一個新的項目時,應該考慮考慮 Titanium,它是一個很棒的選擇!

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

2012-05-18 11:29:55

Titaniumpros

2015-07-06 11:18:40

游戲運營設計教程

2012-02-13 14:41:50

Titanium架構(gòu)分析

2019-05-31 08:23:00

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

2012-04-20 11:07:12

Titanium

2012-06-26 10:40:43

Titanium

2021-07-03 23:40:27

CTR算法工程師

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-09-10 09:14:13

2012-04-19 13:52:16

TitaniumMVCRedux

2012-05-23 09:41:37

Titanium St卸載

2012-04-19 16:22:12

TitaniumTabGroup

2012-05-18 11:28:57

TitaniumCommunity W

2012-04-19 17:16:32

Titanium實例代碼分析

2012-05-18 10:08:56

TitaniumAndroid

2012-05-23 09:28:14

Titanium錯誤應對辦法

2012-04-19 11:40:21

Titanium
點贊
收藏

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