| 學習蘋果WWDC 2011視頻講座的筆記(2) |
| 送交者: 茶樹油之家 2011年06月26日11:50:44 於 [教育學術] 發送悄悄話 |
昨天完成了WWDC 2011視頻學習的三個講座。講座303講座303是介紹Core Data。iOS早就推出該有關數據管理的核心開發基礎平台,這個數據核心開發平台為軟件開發提出了非常簡便和統一的數據管理,現在幾乎所有軟件開發人員離不開這一工具。當然你可以自己利用其他數據工具或API管理你的數據,但你要寫許多codes,而且很容易有許多想不到的bugs,而且從內存管理和運行速度來說也是遠不及Core Data。蘋果已為開發者提供這一強有力的工具。 該講座公布介紹了蘋果對Core Data最新的擴展和新的功能。該講座只是提綱性的介紹,有部分codes,但沒有演示例子解說。主要內容為:
其中雲支持和文件管理揭示了軟件開發如何利用這些API管理軟件的數據,為軟件開發提供了無限的想象力。其中介紹了蘋果的delta軟件數據同步的新技術,簡單來說,數據在蘋果電腦和其它移動設備至今的同步是以數據row為基礎的同步,而不是整個數據庫的同步,這樣可以為使用者節省無線傳輸數據量。蘋果今後的數據同步和軟件同步都是delta方式。 講座306題目是:Maximizing Productivity in Xcode 4。該講座介紹了Xcode 4的主要新的功能,以及如何使用這些功能來幫助軟件開發人員更有效地管理和開發軟件。蘋果的Xcode是一個非常功能強大的軟件開發工具,你可以用指令終端console和簡單文件編輯來開發軟件,但隨着Xcode的功能日益增強,軟件開發人員幾乎離不開這個開發工具,比如說Core Data的設計和IB設計用戶界面。但本講座只是概貌介紹Xcode的基本功能:
該講座介紹了Xcode的開發理念,其中許多功能都是蘋果開發者尤其是高手們提出的概念和功能,這些特性和工具給軟件開發者提供了非常便捷的開發環境。我目前還沒有更新到4.1,所有付費註冊開發者免費都可以免費得到這個版本,屆時iOS 5在秋季的推出,4.2版本將正式推出。 講座307題目為:Moving to the Apple LLVM Compiler。對於了解和開發蘋果軟件,這是一個非常有意思和令人感到蘋果深有遠見的一個典範例子。我們知道,軟件開發都是提供將高級語言編譯為機器代碼。蘋果的機器代碼是UNIX下的機器代碼,蘋果軟件大多是用C/C++寫的,因此所有蘋果的軟件理論上都可以通過UNIX下的編譯工具GCC進行編譯。 UNIX下的編碼編譯器工具是以GNU GCC為核心的。該編譯器有許多很優秀的功能,比如可移動性,運行的效率很高,但是這是一個89年代的工具,目前的硬件尤其是CPU已經發展了更高的水平。GCC還停留在過去的水平,無法利用硬件的充分潛力,而且如果軟件出現錯誤,錯誤的解釋非常模糊,這對於編碼開發人員來說是一個長期困擾的問題。 蘋果早就開始對UNIX下的編譯器有心大動手術,蘋果集中了最優秀的開發者,從最低級的機器碼的編譯進行優化,這些都是非常小的CPU指令,速度都是微妙級的改變,但是我認為蘋果抓住的操作系統的最要害點。可以這麼想象一下,實際上編譯器是將一種高級語言翻譯成另一種最低級的機器懂得的語言,如果這種翻譯不反映語言的變化,能夠言簡意賅表達準確意思,還是那麼老陳舊的八股文方式,其效率程度可想是多麼的低下和憋足,並且無法充分用另一種語言的優勢有效達到同樣或更好的目的。蘋果在這個最基本點進行優化,其放大的效果則是成倍或上十上百倍的優化。這也是蘋果軟件不僅在Mac上,而且在資源十分有限的iOS上也能做到軟件的運行也是那麼的流暢。 LLVM的整個結構有很大的改變,其中有許多模塊,可以很容易和各種語言連接,直接生成機器代碼,提供低級水平並十分準確的工具支持。 蘋果着手參與LLVM的開發已經有多年(十多年?)的歷史,積累了許多經驗,現在已經十分成熟。新的Lion操作系統是完全用LLVM編譯的機器碼操作系統。新的Xcode將完全支持LLVM,目前最新的4.1還是過度階段GCC+LLVM,4.2將完全淘汰GCC,GCC將在蘋果Mac上完成其歷史使命。當然你可以繼續使用GCC,因為蘋果是UNIX系統,但其效率和優化程度都遠不及LLVM的結果。Xcode將不提供GCC編譯。 我一直對蘋果在這方面的發展十分感興趣,當然我的軟件水平完全不懂低級語言,也沒有必要;但通過這一方面的深入了解,我認識到蘋果所有的新技術都有非常強的基礎或基層支持,表面上我們看到的是蘋果電腦或其它產品,這些都是冰峰上的一點。這也是蘋果許多競爭對手無法與蘋果競爭的軟肋,在技術內涵上他們無法與蘋果抗衡,或者說他們沒有真正抓住自己發展的要點,他們沒有自己的、紮實的東西。蘋果有這麼多秘密的堅實基礎,其現在和未來產品的前途將是無限的。 該講座只是粗略大概介紹,講座中用圖形比較了傳統編譯器和LLVM的結果比較,其優化、計算速度、以及編譯速度都是4-10+倍的增長,讓人感到十分震撼,看到這一結果,觀眾們情不自禁地熱烈鼓掌。 講座介紹了如果將現有的軟件轉變到新編譯系統的方法。 蘋果宣布將支持新一代C++的功能,蘋果一直是推動C++進入一個新的台階的主要推動者之一。這次蘋果是第一個開始支持C++的新標準。蘋果高手們說,這是一個非常令人興奮的消息,屆時蘋果的軟件開發將會推出許多新的、更為簡潔當具有強大功能和效率的軟件。 視頻後隨感 我記得我曾聽說過微軟軟件開發粉絲(我也是)嘲笑說,蘋果為C++的軟件開發者找到工作機會,但是他們不理解,真正計算機的魅力和核心都是在C/C++基礎上實現的,這一具有悠久歷史和經過千錘百鍊的計算機語言至今是所有計算機系統的基礎,C/C++的強大功能遠遠沒有過時,現在僅僅是一個新的開始。 Objective-C或Obj-C是蘋果推出的軟件開發語言,它是建立在經典的面向目標編程語言SmallTalk基礎之上。在Xcode中,Obj-C可以和C/C++天衣無縫地交融,這使得軟件開發人員利用這些語言的強大功能成分利用操作系統中的所有潛力。 有志於學習蘋果軟件開發或電腦軟件開發的年輕人,基礎知識是十分重要的,珍惜時光,好好學習,打好堅實的基礎,不要撿捷徑,如果那樣,實際上將走更多的彎路。無論是學習什麼,基礎知識最為重要,而不要僅以將來什麼能夠賺錢作為自己學習的唯一標準。 參考資料
|
|
![]() |
![]() |
| 實用資訊 | |
|
|
| 一周點擊熱帖 | 更多>> |
| 一周回復熱帖 |
| 歷史上的今天:回復熱帖 |
| 2010: | 是什麼力量能讓美國科學院院士忘了小學 | |
| 2010: | 美國人怎樣罵人? | |
| 2009: | 邏輯同學很有意思啊,言同學那麼大的漏 | |
| 2009: | 逮捕劉小波對中共意味着什麼? | |
| 2008: | 讀“中國需要高水平雜誌”一文有感 | |
| 2008: | 好稿件流向外國 中國科技期刊難敵洋對 | |
| 2007: | 支持中醫者請問問自己的良心 | |
| 2007: | 中醫與統計 | |
| 2006: | 數學是有很強活力的 | |
| 2006: | 可憐的科大人,可憐的“數理基礎” | |



昨天完成了WWDC 2011視頻學習的三個講座。

