設萬維讀者為首頁 萬維讀者網 -- 全球華人的精神家園 廣告服務 聯繫我們 關於萬維
 
首  頁 新  聞 視  頻 博  客 論  壇 分類廣告 購  物
搜索>> 發表日誌 控制面板 個人相冊 給我留言
幫助 退出
茶樹油之家  
與大家交流和分享蘋果產品、網絡技術,以及美樂家茶樹油及相關的信息  
https://blog.creaders.net/u/588/ > 複製 > 收藏本頁
網絡日誌正文
學習蘋果WWDC 2011視頻講座的筆記(2) 2011-06-26 11:50:44
昨天完成了WWDC 2011視頻學習的三個講座。

講座303


講座303是介紹Core Data。iOS早就推出該有關數據管理的核心開發基礎平台,這個數據核心開發平台為軟件開發提出了非常簡便和統一的數據管理,現在幾乎所有軟件開發人員離不開這一工具。當然你可以自己利用其他數據工具或API管理你的數據,但你要寫許多codes,而且很容易有許多想不到的bugs,而且從內存管理和運行速度來說也是遠不及Core Data。蘋果已為開發者提供這一強有力的工具。

該講座公布介紹了蘋果對Core Data最新的擴展和新的功能。該講座只是提綱性的介紹,有部分codes,但沒有演示例子解說。主要內容為:

  • 數據同步 Concurrency
  • 數據保護 Data protection
  • 有序關係 Ordered relationships
  • iOS中的文件管理界面:UIManagedDocument
  • 雲支持 iCloud
  • 漸進式數據庫 Incremental stores
  • 開發工具 Developer tools

其中雲支持和文件管理揭示了軟件開發如何利用這些API管理軟件的數據,為軟件開發提供了無限的想象力。其中介紹了蘋果的delta軟件數據同步的新技術,簡單來說,數據在蘋果電腦和其它移動設備至今的同步是以數據row為基礎的同步,而不是整個數據庫的同步,這樣可以為使用者節省無線傳輸數據量。蘋果今後的數據同步和軟件同步都是delta方式。

講座306


題目是:Maximizing Productivity in Xcode 4。該講座介紹了Xcode 4的主要新的功能,以及如何使用這些功能來幫助軟件開發人員更有效地管理和開發軟件。蘋果的Xcode是一個非常功能強大的軟件開發工具,你可以用指令終端console和簡單文件編輯來開發軟件,但隨着Xcode的功能日益增強,軟件開發人員幾乎離不開這個開發工具,比如說Core Data的設計和IB設計用戶界面。但本講座只是概貌介紹Xcode的基本功能:

  • 如何使用Xcode Working in Xcode
  • 特殊設置 Customizing Xcode
  • 原碼編輯 Source Editing

該講座介紹了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是開發原碼!UNIX社區中,LLVM是一個十分活躍的軟件開發者社區。

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++天衣無縫地交融,這使得軟件開發人員利用這些語言的強大功能成分利用操作系統中的所有潛力。

有志於學習蘋果軟件開發或電腦軟件開發的年輕人,基礎知識是十分重要的,珍惜時光,好好學習,打好堅實的基礎,不要撿捷徑,如果那樣,實際上將走更多的彎路。無論是學習什麼,基礎知識最為重要,而不要僅以將來什麼能夠賺錢作為自己學習的唯一標準。

參考資料



我的RSS
瀏覽(1118) (0) 評論(0)
發表評論
我的名片
茶樹油之家
來自: 加拿大
註冊日期: 2007-01-19
訪問總量: 550,571 次
點擊查看我的個人資料
Calendar
最新發布
· ZOOM 會議:iOS 平台上的軟件開
· 專注做一件事是最好的擺脫
· 我的 iOS app 更新了
· 有關老面製作的問與答(三)
· 從Legacy 小道,我重新開始了跑
· 從Legacy 小道,我重新開始了跑
· 為準備馬拉松長跑的第一次嘗試
分類目錄
【社會公益】
· 飄香茉莉 - 李靖惠
· 天使的恩賜
· 經典京劇『鎖麟囊』
· 挑戰自己:參加2013卡爾加里馬拉
· 夢想合唱團大聚會與奧運夢想
· 中央電視台的夢想合唱團公益活動
【WWDC】
· 學習WWDC 2017
· 學習WWDC 2015
· 網上學習:WWDC 2013視頻講座
· WWDC 2013技術講座視頻
· WWDC 2012筆記(4)
· WWDC2012的學習筆記(3)
· WWDC 2012的學習筆記(2)
· WWDC 2012的學習筆記(1)
· WWDC2011視頻的學習筆記(21)
· WWDC2011視頻的學習筆記(19)
【網絡安全】
· Heartbleed網絡安全漏洞
· 蘋果小技巧:如何在PDF文件上加
· 警惕你的蘋果禮物卡被竊
· 蘋果用戶的獨特免疫能力
· 蘋果發布安全更新2011-003
· 最新的微軟IE漏洞和劫持Cookie的
· 新的惡意軟件第二番攻擊蘋果
· 新的惡意軟件開始攻擊蘋果
【生活與健康】
· 有關老面製作的問與答(三)
· 從Legacy 小道,我重新開始了跑
· 從Legacy 小道,我重新開始了跑
· 為準備馬拉松長跑的第一次嘗試
· 張宏文與西班牙華人的醫療諮詢
· 有關老面製作的問與答(二)
· 美麗的洛基山脈
· 有關老面製作的問與答(一)
· 我為什麼喜歡蘋果
· 加拿大抗新冠病毒動態 2020.4.16
【TED視頻】
· 請求的藝術
· TED有關兩種不同政治制度的精彩
· 游擊隊方式的城市菜園
· 玩遊戲可以多活十年
· 中毒寶寶
· 中美關係不需要多一個律師
· TED視頻:脆弱的力量
· TED視頻精選:戴維·卡梅倫論政府
· TED視頻:為什麼SOPA是一個餿主
· TED視頻:失敗是成功之母
【海外生活】
· 從Legacy 小道,我重新開始了跑
· 從Legacy 小道,我重新開始了跑
· 為準備馬拉松長跑的第一次嘗試
· 張宏文與西班牙華人的醫療諮詢
· 有關老面製作的問與答(二)
· 美麗的洛基山脈
· 有關老面製作的問與答(一)
· 我為什麼喜歡蘋果
· 加拿大抗新冠病毒動態 2020.4.16
· 加拿大抗新冠病毒動態 2020.4.16
【網絡服務】
· 專注做一件事是最好的擺脫
· 谷歌帳號和相應的雲服務
· 用圖像和風格語言css 定義數字章
· 網絡服務:計算型知識引擎服務
· 如何優化圖像所占用的空間
· 用視覺方式快速算算數
· 新浪【船過水無痕】的博文,非常
· 蘋果的雲服務iCloud與谷歌的雲服
· 新浪微博對話實例
· 使用網絡翻譯服務,寫中文博客
【軟件開發】
· ZOOM 會議:iOS 平台上的軟件開
· 專注做一件事是最好的擺脫
· 我的 iOS app 更新了
· iOS App: TapToCount - 3W
· 第一個iOS app 的里程碑
· TestFlight - 蘋果iOS app測試的
· 24點的算法
· 學習WWDC 2015
· 漢字聽寫大會-電腦書寫輸入法
· WWDC2012的學習筆記(3)
【我愛蘋果】
· ZOOM 會議:iOS 平台上的軟件開
· 我為什麼喜歡蘋果
· iOS App: TapToCount - 3W
· 為武漢發生COVID-19疫情做一點貢
· 第一個iOS app 的里程碑
· 創作app的樂趣
· 你知道你的睡覺節奏規律嗎?
· 學習WWDC 2017
· 點擊計數 - 記住隨時隨地的點滴
· 學習WWDC 2015
【網絡技術】
· 專注做一件事是最好的擺脫
· 如何用 Blogger 邀請朋友共同寫
· 今天是3.14日,以及VIM的強大區
· 探討:採用QR碼快速連接Wi-Fi
· 互聯網+和微信
· 寫博客的體會
· WA實例:分數的計算
· 如何將XML內容用HTML格式表述
· 如何優化圖像所占用的空間
· 谷歌博客更新:增加動態放大圖像
【茶樹油】
· 有關老面製作的問與答(三)
· 茶樹精油消毒殺菌的熏蒸法
· 新冠病毒核酸檢測之淺解
· 倡議:聯合海外華人寫抗疫日記
· 茶樹精油新用法:消毒和清潔面部
· 為關心COVID-19疫情寫的小詩
· 為武漢發生COVID-19疫情做一點貢
· 2018,達到一萬公里里程碑!
· Melaleuca 2017/12/26 年銷售額
· 跑步里程達到八千公里
存檔目錄
2020-05-11 - 2020-05-21
2020-04-04 - 2020-04-23
2020-03-01 - 2020-03-31
2020-01-07 - 2020-01-25
2019-03-20 - 2019-03-20
2019-02-09 - 2019-02-09
2018-12-31 - 2018-12-31
2018-05-18 - 2018-05-18
2017-12-09 - 2017-12-26
2017-10-19 - 2017-10-19
2017-09-06 - 2017-09-06
2017-08-17 - 2017-08-17
2017-06-07 - 2017-06-28
2017-04-12 - 2017-04-28
2017-03-31 - 2017-03-31
2017-02-22 - 2017-02-22
2017-01-18 - 2017-01-23
2016-10-25 - 2016-10-25
2016-03-21 - 2016-03-21
2016-02-01 - 2016-02-17
2016-01-12 - 2016-01-22
2015-12-04 - 2015-12-11
2015-11-19 - 2015-11-24
2015-10-14 - 2015-10-14
2015-08-05 - 2015-08-05
2015-07-24 - 2015-07-24
2015-04-06 - 2015-04-24
2015-03-14 - 2015-03-18
2015-02-05 - 2015-02-05
2015-01-20 - 2015-01-20
2014-12-13 - 2014-12-13
2014-11-13 - 2014-11-13
2014-10-01 - 2014-10-10
2014-09-01 - 2014-09-24
2014-08-07 - 2014-08-29
2014-07-11 - 2014-07-31
2014-06-23 - 2014-06-23
2014-05-02 - 2014-05-31
2014-04-20 - 2014-04-27
2014-02-14 - 2014-02-14
2014-01-06 - 2014-01-29
2013-12-02 - 2013-12-30
2013-11-06 - 2013-11-18
2013-10-12 - 2013-10-30
2013-09-03 - 2013-09-03
2013-08-01 - 2013-08-23
2013-07-05 - 2013-07-30
2013-06-03 - 2013-06-14
2013-04-03 - 2013-04-30
2013-03-07 - 2013-03-30
2013-02-18 - 2013-02-23
2012-12-05 - 2012-12-25
2012-11-08 - 2012-11-25
2012-10-05 - 2012-10-18
2012-09-26 - 2012-09-26
2012-08-03 - 2012-08-25
2012-07-07 - 2012-07-27
2012-06-01 - 2012-06-28
2012-05-01 - 2012-05-27
2012-04-08 - 2012-04-27
2012-03-03 - 2012-03-31
2012-02-07 - 2012-02-29
2012-01-15 - 2012-01-27
2011-12-03 - 2011-12-20
2011-11-02 - 2011-11-22
2011-10-01 - 2011-10-30
2011-09-03 - 2011-09-24
2011-08-01 - 2011-08-31
2011-07-01 - 2011-07-30
2011-06-01 - 2011-06-29
2011-05-01 - 2011-05-31
2011-04-02 - 2011-04-30
2007-01-19 - 2007-01-19
 
關於本站 | 廣告服務 | 聯繫我們 | 招聘信息 | 網站導航 | 隱私保護
Copyright (C) 1998-2026. Creaders.NET. All Rights Reserved.