泊學
泊學 https://boxueio.com/ --- iOS 全棧開發(fā)高清視頻網站。
泊學目前有 Swift PHP iOS 三個模塊擅腰,共 1100 分鐘視頻資料叠蝇,其中 Swift 模塊 12 個課程系列赠橙,102 節(jié)課耽装,共 750 分鐘,視頻清晰度 1080P期揪,部分視頻已經更新至 4K,每一篇視頻都配備相同內容的泊閱文檔规个。下圖為課程截圖
我從周一開始觀看 Swift 系列視頻凤薛,周五剛好看完,周末來寫寫個人體驗诞仓,給其它 Swift 學習者作參考缤苫。
產品體驗
首先是產品體驗,泊學設計我還是很喜歡的墅拭,沒有雜亂的東西活玲,只是一個簡單純粹的視頻學習網站,視頻資源清晰度非常高,1080P 的視頻讓每一行代碼都能看的十分清楚舒憾,至于更新成 4K 的視頻資源镀钓,更是讓我在 retina 屏幕上爽了一把,我的顯示器的分辨率是(2880 x 1800)镀迂,而 4K 視頻的分辨率為(3840 x 2160)丁溅,體驗就是我仿佛在看著自己編寫代碼。
視頻的加載非常流暢探遵,從選擇視頻到播放窟赏,感覺不到任何停頓,不過沒有清晰度的切換箱季,對于某些網速慢的同學涯穷,可能不會太友好,雖然可以選擇下載視頻藏雏,但得一個一個下載拷况,流程略微麻煩。
泊閱文檔對應每一篇視頻的博客诉稍,內容與視頻保持一致蝠嘉,所以也可以選擇通過閱讀泊閱文檔來學習課程知識。
泊學主要的學習還是得通過電腦杯巨,手機端并沒有 APP 支持蚤告,無法做到視頻緩存,網頁訪問的話小屏手機布局會有點問題服爷,不過不影響功能的使用杜恰。得益于視頻資源的清晰,手機上觀看也十分舒適仍源。不過沒有視頻緩存心褐,想離線在手機端觀看得從電腦端下載,并通過 QQ 等應用傳給手機笼踩,實在有點麻煩逗爹。
如果是要在地鐵等場景學習,要不像我一樣有個流量卡嚎于, 5 分鐘的視頻消耗 50MB ~ 100MB掘而,或者通過閱讀泊閱文檔。
內容體驗
泊學的免費章節(jié)都是每個課程系列的較為基礎的課程于购,為了讓大家更為了解泊學的視頻內容袍睡,我先對 理解引用語義的自定義類型 這個課程系列的 14 節(jié)課,做一個簡單概述肋僧。
class 引用類型和 struct 值類型的區(qū)別斑胜,較為基礎控淡。
默認 init,Convenience init(便利初始化)止潘,Failable init(可失敗初始化)的介紹
講述繼承關系下的初始化掺炭,以及 Swift 的兩段式構造(自下而上初始化每一個屬性,再自上而下對每個屬性進行加工)
這篇屬于代碼設計了覆山,講述 is a 繼承關系下的一些違背直覺的現象竹伸,例如基類是鳥,鳥會飛簇宽,這符合直覺勋篓,但有一天引入一只企鵝,企鵝是鳥魏割,但企鵝不會飛譬嚣,不注意的話就會出現錯誤。
has a 是一種組合模式钞它,企鵝可以不繼承鳥類拜银,而是擁有一個鳥類屬性,這樣就可以通過開放 API 讓調用者可以調用鳥類的除飛之外的其它行為遭垛。
講述 Swift 運行時動態(tài)派發(fā)以及靜態(tài)綁定尼桶。雖然繼承而來的方法調用是運行時動態(tài)派發(fā),但方法的參數锯仪,確是編譯的時候根據調用方法的對象泵督,綁定函數的默認參數。
講述了 Template method 和 基于函數的 Strategy 模式庶喜,基于 class 的 strategy 模式小腊。用于重寫繼承方法的幾個替代方案,屬于知識面擴展久窟。
較為基礎的講述 ARC 以及循環(huán)引用的發(fā)生途徑。
Swift 中使用 unowned 和 weak 打破循環(huán)引用斥扛。
圖文并茂的演示了 Closure 的循環(huán)引用是如何發(fā)生的入问,以及通過 Closure capture list 按值語義捕獲變量來解決這個問題。
但如果 closure 捕獲的對象仍就是引用類型稀颁,則可以通過在 capture list 里添加 unowned 或 weak 來打破這種循環(huán)队他。再介紹了一下 withExtendedLifetime 函數的用法,用于延長對象壽命峻村,保證在 closure 返回之前,對象都是存在的锡凝。
講述 public粘昨,open,internal,fileprivate张肾,private 五種訪問權限以及他們的使用場景芭析。
介紹了 Swift 中的派發(fā)機制,Direct Dispatch 和 Table dispatch吞瞪,這篇屬于原理篇馁启,在反匯編結果中論證方法的派發(fā)機制。
Swift 的派發(fā)規(guī)則芍秆,也是原理篇惯疙,extension 中方法不能重寫的原因是因為編譯器會對其采用 direct dispatch。此篇還列述了這種規(guī)則所帶來的一些不符合直覺的現象妖啥,作為我們的擴展霉颠。
視頻內容并不是手把手教你學習 Swift,《The Swift Programming Language》依舊是最好的入門教材荆虱,雖然我的安卓同事跟著我聽也能聽懂蒿偎,但也建議先從《The Swift Programming Language》入門 Swift 之后,再開始泊學 Swift 視頻系列怀读。
每一個課程系列都會先快速過一遍前置基礎知識诉位,然后開始知識擴展,然后探討深入菜枷,而這所有的一切苍糠,都是建立在代碼之上,視頻的內容一直是在編譯器上編寫代碼犁跪,不管是基礎椿息,擴展,還是原理坷衍,都有源碼實戰(zhàn)支撐寝优。另外作者的代碼寫的非常棒,可以下載它的源碼枫耳,學習他的編碼風格和思維乏矾。
泊學每個視頻時間都很短,全程一鏡到底迁杨,剪切掉無用的片段钻心,但作者節(jié)奏比較快,聽者注意力需要集中铅协。
還有一個《Reactive Programming in Swift》課程系列捷沸,對于想學習使用 RxSwift 的各種姿勢的同學,會是比較好的入門教程狐史。
價格
視頻以及文檔只有較基礎的內容是免費的痒给,其它的需要成為泊學會員说墨,泊學會員有以下三種。
99 一個季度苍柏,學完 Swift 3 整個系列還是沒有問題的尼斧,算是最性價比的一個方案了,還送價值 18 元的 iOS 成長之路试吁。
總結
每一個課程系列都比較獨立棺棵,可以根據自己的喜好選擇優(yōu)先學習的課程,視頻比較短熄捍,但從頭到尾沒有停頓烛恤,節(jié)奏也比較快,對注意力集中有比較高的要求治唤,走一個神的話棒动,很容易就跟不上節(jié)奏。
雖是視頻學習宾添,但并不能做到輕松接受信息船惨,失去了視頻學習的優(yōu)勢。認真學習的話缕陕,我更愿意閱讀泊閱文檔粱锐。會的我可以跳過,不會我可以好好看扛邑,看視頻進度是由作者控制怜浅,不能滿足所有所有人對詳略的要求。
所以盡管泊學是一個視頻學習網站蔬崩,但我會選擇文檔為主恶座,視頻為輔的學習方式 。因為泊學提供了完善的文檔沥阳,所以相比其它視頻學習網站跨琳,還是有它的優(yōu)勢的。
從內容上看桐罕,學習 Swift怎诫,一本 《The Swift Programming Language》是遠遠不夠的酣胀,而 泊學 Swift 的內容赡矢,由淺入深肋演,基礎 + 擴展 + 原理深入,是不錯的繼續(xù)學習的資料薪伏。不管是對于剛入門 Swift 的新手滚澜,想鞏固自己的基礎,又或者有一定 Swift 編程經驗的開發(fā)者嫁怀,想擴張自己的視野博秫,都會是不錯的選擇潦牛。