1. AppCode是咋么回事?
跨時(shí)代的iPhone石破天驚的火了之后, 其開發(fā)環(huán)境XCode也火了. 雖然XCode挺流行, 但是如果你用過eclipse寫Java, 或者VS寫C++,C#等, 會(huì)對比出XCode的一些弱點(diǎn), 尤其是重構(gòu). 當(dāng)然不否認(rèn)XCode有自己的優(yōu)點(diǎn), 比如比Eclipse性能要好.
總之在寫代碼這一點(diǎn)上, 我認(rèn)為XCode算不得頂好. 然后AppCode就出現(xiàn)了. 開發(fā)AppCode的牛x公司jetbrains, 是專業(yè)的開發(fā)收費(fèi)的IDE的公司. AppCode在寫代碼方面, 比XCode更智能, 能夠很大的提升程序員的開發(fā)效率. 有了它,一個(gè)程序員原來寫100行代碼的時(shí)間, 能寫出150行來我覺得應(yīng)該沒問題.
2. 作為一個(gè)收費(fèi)的IDE, AppCode有哪些賣點(diǎn) ?
詳細(xì)的賣點(diǎn)你在AppCode的網(wǎng)站或者其幫助里面有 :Appcode Features, 你在這里看到的, 是我在使用過程中用過,然后覺得不錯(cuò)的特性.
2.1 寫代碼輔助
- 代碼補(bǔ)完

所有高級的IDE都有代碼補(bǔ)完功能. 你寫個(gè)”i”, 它就能提示補(bǔ)完”int”. 但是Appcode的代碼補(bǔ)完更強(qiáng)大, 比如你寫個(gè)”n”, 它也能補(bǔ)出”int”來. 是的, 當(dāng)你寫出的字符不是想要的字符串的首字母, 而是包含在中間位置時(shí), 它也能補(bǔ)完.
這正是它智能的地方, 仿佛看透了人心. 各種類或者變量命名中, 比較容易讓人記住的部分, 不見得在其字符串的頭部. 比如你想寫”UITableView”, 你腦子里第一個(gè)出現(xiàn)的字符, 應(yīng)該是”table”, 打入”tab” 這幾個(gè)字符才是符合邏輯的. 在Xcode里, 你恐怕得寫”UIT”, 才會(huì)給出包含”UITableView”的一系列提示. 但是在AppCode和你的想法一致, 只要你輸入”tab”, Appcode就會(huì)列出”UITableView” 等一系列你想要的類或者協(xié)議的名字了.
總結(jié)一下就是, 只要你寫出了你想要的字符串中任何位置的幾個(gè)字符, 甚至忽略大小寫, 甚至是隔斷的(比如寫成tabview), AppCode都會(huì)給出你相應(yīng)的代碼提示. 有沒有感覺到AppCode是你肚子里的蛔蟲?
-
自動(dòng)import
自動(dòng)import頭文件
當(dāng)你使用一個(gè)類, 但是在當(dāng)前的源文件里又沒有包含其頭文件的時(shí)候, 系統(tǒng)會(huì)提示你導(dǎo)入, 然后你只要按下alt+回車, 就幫你寫了#import "xxx.h". 好吧, 它又猜到了, 我們寫了這個(gè)代碼后, 發(fā)現(xiàn)沒導(dǎo)入頭文件, 就興沖沖的跑過去幫你把活兒干了. 像不像一個(gè)小秘書, 時(shí)刻盯著老板, 一看老板掏出一支煙, 啪的一聲, 打火機(jī)已經(jīng)過來給點(diǎn)火了.
2.2 代碼生成
- 先使用再定義
先使用一個(gè)變量、 屬性、方法, 然后appCode會(huì)提示你這個(gè)變量沒定義, 這時(shí)用alt+回車, 就會(huì)幫你創(chuàng)建變量;
- 先聲明后實(shí)現(xiàn)
先在接口文件中聲明方法, 然后alt+回車,會(huì)自動(dòng)幫你在實(shí)現(xiàn)文件里面創(chuàng)建方法。
- 先使用后聲明實(shí)現(xiàn)協(xié)議
如果將self傳給一個(gè)方法作為參數(shù), 這個(gè)參數(shù)要求是某種協(xié)議類型, 那么appCode會(huì)自動(dòng)幫你在接口的生命中增加對協(xié)議的實(shí)現(xiàn)。
-
自動(dòng)生成
自動(dòng)生成代碼
在代碼文件里面, 按下cmd+n, 然后選擇你要生成的代碼, 省下很多力氣.
2.3 重構(gòu)
appCode的重構(gòu)功能很強(qiáng)大和完善,提供了20多項(xiàng)重構(gòu), 括 重命名, 將常量提升為局部變量, 屬性, 抽取方法, 轉(zhuǎn)換方法和函數(shù), 上移下移等. 代碼重構(gòu), 這也是我一只在尋找XCode之外的iDE的主要原因.
2.4 語法檢查
如果你寫錯(cuò)了單詞,appCode會(huì)提醒你寫錯(cuò)了。我屬于不喜歡寫注釋的人, 但是我喜歡將變量或者方法、類等使用很長的多個(gè)單詞命名。代碼的可讀性會(huì)因此而增強(qiáng),這也是oc的一大特點(diǎn)。所以語法(英語)檢查功能在這里就變得很有用。寫代碼的同時(shí)再次學(xué)習(xí)了單詞……
3 其他
最后說一下它的萬能快捷鍵, alt+回車, 在相應(yīng)的位置按下這個(gè)鍵, 它總能猜到你想要干什么, 然后列出菜單讓你選擇或者直接幫你辦了. 我使用的時(shí)間也不久, 還在探索階段, 后續(xù)再補(bǔ)充吧.
4 補(bǔ)充
- 目前我appCode和xcode都還在用,appCode用來寫代碼, xcode使用storyboad以及工程屬性的設(shè)置, 調(diào)試等工作。
- appCode存在的問題是: 性能沒有xcode好, 當(dāng)project比較大了之后,會(huì)有粘粘的感覺。