剛剛完成了Reco的Alpha版本的開發(fā)疮丛,從Xcode6 beta4一路走來到Xcode beta7愧膀,幾乎每個(gè)版本都要應(yīng)對(duì)Apple對(duì)swift語法上的修改鹰溜,更有甚者在beta5的時(shí)候由于closure無法使用unowned聲明而導(dǎo)致使用閉包的循環(huán)引用問題得不到很好的解決搔体,但是還好靡狞,在beta6的時(shí)候Apple做了修復(fù)剧腻。但是對(duì)于Beta版本來說拘央,這樣的問題倒是還算可以接受。
關(guān)于Swift
在WWDC2014蘋果發(fā)布Swift的時(shí)候书在,有很大一部分開發(fā)者積極的參與到Swfit的學(xué)習(xí)當(dāng)中灰伟,WWDC給我的唯一印象就是Swift是一門更人性化的語言,更適合開發(fā)者的習(xí)慣儒旬,能讓代碼可讀性更強(qiáng)栏账,開發(fā)效率更高遏乔,當(dāng)然蘋果號(hào)稱Swift執(zhí)行效率也更高。隨著最初版本的Swift GUID和Reference的發(fā)布发笔,筆者發(fā)現(xiàn)Swfit從某種角度來看盟萨,非常好用。比如響應(yīng)鏈機(jī)制了讨,類型安全捻激,包括新加入的元組類型,最出色的時(shí)Playground前计,對(duì)于界面編寫Playground簡(jiǎn)直就是神器胞谭。 但是隨著一點(diǎn)點(diǎn)的學(xué)習(xí),也總結(jié)出了一些問題男杈,比如丈屹,由于Swift在當(dāng)前階段還很不成熟,此時(shí)去學(xué)習(xí)研究的成本非常的高伶棒,對(duì)于不常讀文檔的童鞋們旺垒,每?jī)芍艿囊粋€(gè)release note可能都讀不下來,這樣很難跟隨Swfit前進(jìn)的腳步肤无,前文說到Swfit一直在進(jìn)行語法或者機(jī)制上的調(diào)整先蒋,所以,如果不跟隨release note去跟進(jìn)宛渐,很有可能正式版發(fā)布之后開發(fā)者會(huì)掉入最初Swift的深坑竞漾。 另外,Swift的不成熟決定了未來很長(zhǎng)一段時(shí)間不會(huì)被大面積采用窥翩,所以Swift目前來看市場(chǎng)不大业岁。而當(dāng)Swift作為一門腳本語言使用的時(shí)候還是稍顯笨拙。 從Beta到Beta7寇蚊,如果說Swift經(jīng)歷了一個(gè)翻天覆地的變化絲毫不過分笔时,換個(gè)角度說,Swift已經(jīng)從一個(gè)很單純的小姑娘變成一個(gè)不那么單純的小姑娘(=幔荒。=# 想了半天糊闽,怕被拍磚,理解就好)爹梁。Swift每個(gè)版本的迭代都加入了大量的關(guān)鍵字以及復(fù)雜的機(jī)制右犹,經(jīng)過了這種巨大的增量之后,Swift依然還是如當(dāng)初Apple說的那樣簡(jiǎn)單姚垃,開發(fā)效率高么念链? 最后,對(duì)剛剛?cè)胄械耐瑐兲醾€(gè)忠告,如果你想脫離OC學(xué)iOS開發(fā)掂墓,至少要等到兩年之后谦纱,現(xiàn)在想入行,還是要老老實(shí)實(shí)學(xué)OC君编。從成熟到大面積使用是個(gè)過程跨嘉,總得一點(diǎn)點(diǎn)來。
關(guān)于Xcode
總體來說吃嘿,Xcode6的beta版本穩(wěn)定性個(gè)人感覺在非Swfit情況下要優(yōu)于Xcode5的beta祠乃,但是Swift的情況略顯糟糕,如不意外兑燥,Apple幾乎必然會(huì)在9.9的發(fā)布會(huì)上發(fā)布搭載iOS8的iPhone6亮瓷,屆時(shí)也肯定會(huì)推出GM版的Xcode和iOS8,就目前狀況來看降瞳,Swift在每個(gè)版本的變動(dòng)還比較大嘱支,不知道GM版本會(huì)不會(huì)有大的飛躍。目前使用的beta7編譯速度非常慢挣饥,編寫代碼的時(shí)候偶爾會(huì)發(fā)生嚴(yán)重卡頓的現(xiàn)象除师。 由于新項(xiàng)目是用之前不常接觸的CoreData Swift在Xcode 6 Beta版本下寫成的,目前剛剛進(jìn)去Alpha版本階段亮靴,到Release還需要一段時(shí)間馍盟,這次的項(xiàng)目于置,筆者同以往項(xiàng)目不同嘗試了很多以往不太常用的功能茧吊,以及Xcode新發(fā)布的功能,比如Xcode新版本中自帶了reveal的running透視視圖層級(jí)的功能八毯,對(duì)于UI DEBUG來說搓侄,這個(gè)工具能解決90%以上的位置問題。還有Playground话速,有很多控件是在Playground下編寫的讶踪,非常高效,同時(shí)還使用了Xcode 6對(duì)單元測(cè)試的一些強(qiáng)化泊交,比如異步方法的測(cè)試乳讥、方法調(diào)用的時(shí)間標(biāo)準(zhǔn)差(STDEVS)來評(píng)估方法的合理性和穩(wěn)定性±螅總體來看云石,可以很明顯的觀察到Apple對(duì)于開發(fā)者的重視,諸多便于開發(fā)的工具和功能的不斷發(fā)布研乒,讓筆者感受到了作為Apple Developer的優(yōu)越感:)汹忠。本著工欲善其事,必先利其器的原則,我個(gè)人對(duì)于開發(fā)的工具(無論是硬件還是軟件)都比較挑剔宽菜,在良好的環(huán)境下進(jìn)行開發(fā)是種享受谣膳,程序員很苦逼,總要對(duì)自己好一點(diǎn)铅乡,有裝備了才好升級(jí)继谚。
另外為新項(xiàng)目打個(gè)廣告,是個(gè)很微縮的項(xiàng)目叫Reco阵幸,主要的用途是用來做計(jì)劃并完成它同時(shí)也給自己保留對(duì)自己完成的事情的一些回顧的空間犬庇。后邊我會(huì)在我的微博上發(fā)布詳細(xì)信息。THX~