2015年7月18日 星期六

Swift 2.0 程式設計入門


Swift 2.0 程式設計入門

Swift 是 Apple 全新發明的新時代程式語言,簡潔、易懂、快速、安全。經過短短一年,Swift 全面進化成2.0,不只成為開發 iOS App 的最佳利器,更因為 Open Source ,讓人看到它未來開發跨平台軟體的無窮潛力。本課程將以彼得潘生動有趣的著作 “Swift 程式設計入門” 為主,輔以全面進化的 Swift 2.0 ,帶領學員十小時練成 Swift 2.0 神功 !






大綱

1. 新時代的App開發語言Swift
為了說服大家移情別戀,拋棄C,Java,Objective-C轉投Swift的懷抱,且聽彼得潘娓娓道來Swift令人難以抗拒的優點。
 
2. 練功遊樂園 – Playground
Apple重金打造適合練習Swift程式設計的遊樂園: Playground。在遊樂園裡我們可以隨心所欲地輸入程式碼,立即見到程式執行的結果,明明白白每行程式造成的善報和惡報。
 
3. 說變就變的變數,始終如一的常數
變數像雙子座一樣說變就變,常數像水瓶座一樣始終如一,他們倆都是App裡儲存資料的大功臣。在認識他們兄弟倆的同時,我們也將見識Swift可跟福爾摩斯比美的型別推理奇技和初始值的重要性。
 
4. Swift的基本型別
再複雜的程式,最常使用的資料型別還是逃不開數字和字串。且讓我們放慢腳步,如同月球漫步般,好好熟悉它們的相關操作,尤其字串的置換和相加更是令人愛不釋手,大大簡化我們開發程式的艱辛。
 
5. 控制流程的四大天王
If else,switch,while,for,號稱控制流程的四大天王。我們一定要當他們的頭號粉絲,好好地崇拜他們,待他們心花怒放,乖乖聽話後,再好好利用他們。唯有掌握四大天王,才能隨心所欲地控制程式流程,此時想在App裡叫太陽從西邊升起都不是問題。
 
6. 可有可無的optional
Swift全新發明的optional即將登場!有了它,無論何種型別的變數常數,都可像
莎士比亞說的” To be, or not to be”一樣,可以無值,也可以無值。善用optional,將幫助我們開發更安全更不易閃退的程式!
 
7. 程式碼居住的溫暖的家 – function
我們希望程式做的大小事,全都包含在一個個的function定義裡。有了隨傳隨到的function,我們才能方便地於任何時刻呼叫function,執行其中千言萬語的程式碼。
 
8. 遲到大王defer和守護天使guard
Swift 2多了遲到大王defer和守護天使guard這對哥倆好,幫助我們創作更厲害更安全的程式碼。定義於defer裡的程式碼有著遲到的天性,總在function結束時才執行,但它使命必達,一定執行。而守護天使guard一心一意地檢查我們要求的項目,一有違規馬上回報,有了它的守護,程式將變得更加安全可靠! 

 
9. 無名卻厲害無比的closure
closure,江湖人稱無名function,比起已經消失的無名小站,它可厲害不只一百倍。它的功能跟function幾乎一模一樣,但當它化身為function 的參數時,卻可幫助我們開發更有彈性的程式碼。closure的模樣千變萬化,擁有多種簡化的變型,且讓我們張大眼睛看個仔細,才不會將來看到它時,尷尬地變成最熟悉的陌生人。
 
10. 無所不在的物件
物件是App開發的核心。學習已經進化到一輩子也學不完的iOS SDK,正是學習運用SDK類別建立物件,操控物件實現各種App功能的過程。且讓我們靜下心來,好好地認識物件,學習關於類別(class),方法,屬性,初始化等物件使用的基本功。
 
11. 物件深層探索 - 繼承和型別能力
物件的故事,未完待續! 我們將繼續探討老天爺賜給物件的禮物,免費得到父類別能力的神奇繼承,以及不需懷胎十月生成物件即可存取的型別方法屬性。
 
12. 模仿天王 - 和class百分之九十雷同的struct
struct是Swift界臉皮最厚的人。它在一旁偷偷地看著class,模仿地唯妙唯俏,幾乎像是同一個模子印出來的。幸好彼得潘很會剝洋蔥,一層一層地剝開struct的心,看出他們本質上全然不同,class是reference型別,struct是value型別,而且struct還偷藏class沒有的特別功能!
 
13. 全面進化的enum
期待有一天人類能全面進化,男人生來帥如劉德華,女人生來美如林志玲。想不到enum全面進化的一天比人類還快,在Swift裡enum不再受限整數型別,和switch成為最佳拍檔,甚至還學會傳說中動態設定相關聯資料的特殊能力。
 
14. 哪裡都是你的case比對
case很方便,搭配switch輕輕鬆鬆,一個不漏地為我們比對所有可能。如此好用的功能,只讓switch一人獨享也未免可惜。Swift 2裡case無所不在,哪裡都是它,if,for,while和guard,全都可以和case天衣無縫地搭配比對! 

15. 容納眾多資料的array,dictionary,set和tuple
容納眾多資料,桃園結義的四兄弟array,dictionary,set和tuple聞名江湖 ,array專精排序, dictionary擅長搜尋,set絕不重覆,tuple超會混搭,我們可以依不同的需求,不同的情境挑選最合適的對象交往,哦,不是啦,是儲存程式裡寶貴的資料。
 
16. 關於型別的兩三事 – 成為最有型的型別大師
想成為最有型的型男型女,一定得學會型別使用的進階技巧,諸如化身任意型別的Any和AnyObject,轉型變身的as,比較型別的is,型別裡定義型別的nested type等。掌握熟練這些技巧後,未來在程式裡處理任何資料,相信都能遊刃有餘地轉換處理,不再害怕型別處理不當造成的compile error和可怕crash。
 
17. 擴充型別能力的大補帖 - protocol和extension
protocol和extension乃名醫華陀私藏的擴充型別能力大補帖,不管是class,struct還是enum通通適用。出一張嘴,只宣告不定義的protocol方便我們在型別裡定義方法屬性的行為。extension則讓我們擴充原有型別的能力,甚至連內建的型別都可升級,而Swift 2裡,protocol還能結合extension,甚至擁有定義預設行為的能力。學會這些技巧後,實現擁有強大能力的型別就像呼吸一樣簡單!
 
18. 通吃型別的generic
平生不識generic,就稱英雄也枉然。同樣是通吃型別的大胃王,比起Any和AnyObject,generic不只擁有接受任意型別的彈性,還多了許多強大的特點,諸如多個型別條件的設定,不需要轉型,更安全的型別檢查等。 
 
19. 為程式披上金剛防護罩的錯誤處理 - Error Handling
人非聖賢,孰能無過,人寫的程式也一樣,難免有錯。Swift 2全新推出Error Handling機制,幫助我們完美修復那些年,全天下每個男人(女人)都會犯的錯。






你的程式開發初體驗 (以 Swift 為例)

時常有讀者問彼得潘,我完全沒有程式開發經驗,適合學習iOS App程式設計嗎? 的確,體驗美妙的App開發之前,還是需要一點基本的程式基礎,了解諸如容易變心的變數,如果你是我的傳說的if else等。因此,彼得潘決定開設"你的程式開發初體驗",以天底下最先進最簡單的程式語言Swift為例,七小時打通你的程式任督二脈! 歡迎有興趣的程式初心者參加。







課程大綱

1. Xcode playground – Swift練功的秘密花園
2. 整數和浮點數 – 心算十段的數學神童
3. 字串 – 中英日樣樣通的語言奇才
4. 變數 ~ 說變就變的記憶大師
5. 如果你是我的傳說 – 真的還是假的 (if else)
6. 迴圈 – 反覆練習的好學生
7. 函數 – 重覆利用的懶人法寶
8. 陣列和字典 – 收藏眾多資料的置物箱
9. 類別和物件 – 不用懷胎十月,也能生出寶寶物件






2015年7月8日 星期三

手工打造人生中的第一個 iOS 電子書App




7月11日彼得潘將和黑客松台灣合作,開設"手工打造人生中的第一個 iOS 電子書App"。不需任何程式開發經驗,也不用面對跟古埃及文一樣難懂的程式語言,彼得潘將帶著大家使用 Xcode 裡打造App 畫面的神奇storyboard,變出一個個活靈活現、精彩無比的電子書 App !