29 1 月 2013

王維仁 講解詳細的 iPhone 程式課程

app-weiren

智慧手機興起,App 開發人員需求大

智慧型手機興起的年代,跨足開發行動裝置應用程式是一個趨勢,行動裝置的兩大陣營分別是 Android(Java,Eclipse)與iOS(Objective-C,Xcode),前者的 Java 語言與 Eclipse 開發工具,是程式設計人員較為熟悉的領域,大多數的應屆畢業生多少在學校都有接觸過或學校教育已提供了這類課程;後者的語言 Objective-C 為以 C 語言為基礎,較年輕一代的程師設計人員已從Java、VB、C# 等語言學起,C 可能只是在課本上提過的一個語言,因此對它的熟悉程度較低,開發工具 Xcode 則是限 Mac 平台上使用,以上種種因素形成一個門檻,尤其是要求使用 Mac 電腦這點,使得 iPhone/iPad 程式開發人才較為稀少。

選擇 iPhone/iPad 程式開發

在決定用正統的 Xcode 開發 iOS 應用程式之前,我也想過各種偷吃步方法來開發,例如以 Adobe Flash CS 5 以上版本安裝 iOS 應用程式外掛(後來官方亦直接內建該功能),實作過後程式大致上可以執行,但程式效率較差,編譯出來的 ipa 檔也莫名的大;另一個是 Mono 開發工具,可安裝成 Visual Studio 的外掛,採用 C# 語言開發,最後編譯成 iOS 程式,但購買該工具軟體也需要一筆錢(印象中好像 1000 美元左右),編譯出來之程式穩定度與執行效能也不知道是否良好,所以最後還是決定向主管提議,應該要使用正統 Objective-C 語言及 Xcode 來開發 iOS 應用程式。

自學無法突破,尋找正統 iOS 課程

我曾自行開 Xcode 來玩,但完全沒有頭緒,它不像 Visual Studio 一樣,元件點兩下就可以開始設計功能,對於 C 語言也沒接觸過的我(我也是直接上 VB、C#、PHP 這個世代的),也不知道什麼 .storyboard 檔、.h 檔與 .m 檔該如何配合,在完全沒有基礎的情況下,也不知道該如何尋求支援。最後公司派我直接尋找 iOS 課程資訊,有開 iOS 程式課程的機構不算多,至少不像其他種類的課程那麼好找,網上填了幾家詢問表單後,也去每家當面訪談過,其中以富捷培訓(原:奇科電腦)的課程規劃師講解得最詳細,也最用心,課程安排上也都是重點式的選擇實用的功能來教,再加上很剛好的交通位置,上課地點就在公司附近,對我來說是件很方便的事,在訪談後比較各項條件優劣,我選擇了富捷培訓。

由於對 iOS 程式有急迫需求,富捷還直接開放我的帳號能馬上觀看線上上課檔,可先收看上期的錄影檔預習,讓我能更快的進入狀況。

初學者也能吸收的課程

正式開始上課時,課程安排是從基本的 C 開始教起。老師講解得很詳細,投影片也做到鉅細靡遺,我以前當過教授助教在教學弟妹時,也做過投影片,知道如此鉅細靡遺的投影片所要花的功夫是非常多的,對一個工程師思維的人來說,很容易犯下因覺得東西太簡單而在投影片上跳過,頂多在課堂上以講課說明的方式帶過,但許多簡單的東西反而是關鍵的細節,若只是上課講講,對學員來說下課後就沒有印象,導致回家練習程式時一直跑不出來。但老師是在業界寫程式那麼久的工程師,投影片的製作上並沒有犯下這個錯,這對於一個在此領域幾乎不懂的新學生來說是很重要的,因為我不熟 C 與 Objective-C,所以很容易一聽就忘,這時詳盡文字的投影片大大的幫助了我練習程式及複習的過程。

老師非常地盡責,對於學員的問題是有問必答,無論是多麼基本的問題亦會很樂意的幫學生解決。有次我下課時出了麻煩問題,老師也會留下來直到問題解決為止,之前有過問題讓老師為了多留了一個小時(且之後還有別的學員有問題,老師也都有留下來直到大家的問題都解決),老師的程式能力與專業也是大家有目共睹的。老師安排的課程都是最實用的功能,這期上課時,老師多補充了 Bonjour 連線類別的使用,這是原本課程規劃以外的內容,因此導致 78 小時不夠再把原先預期的教材主題教完,但老師沒有只是印個講義丟給我們回家打打測試,而是免費幫我們再加開一次課程,富捷也很大方的開放教室供我們多上一堂課,富捷並不只是一間與學員銀貨兩訖的補習班,而是真正的關心學員能否上到有用的課程。

令人舒適的學習環境

富捷的上課環境保持得非常明亮乾淨,學員在這邊上課其實也是一種享受,期間也會接到客服的電話關心上課的狀況如何,在這邊可以感受得到富捷培訓的用心。富捷培訓找的老師也都是業界上經驗老道的老師,這裡是一個課程專業與學員服務都兼具的地方。我相信不只是 iOS 程式設計的課這樣好,其他的課程像是 Java、Linux、嵌入式等課程也是一樣的高品質。我會推薦有所有進修需求的人可以來這裡上課,相信大家在這裡都可以得到最好的學習品質。

學習成果

附件是我最後提交的程式,其實老師教的東西很多,數字轉盤、View 切換、多媒體處理等實用的功能在課上都有教到,可以參考其他學員分享的那些程式。我提供的這個範例只是地圖與資料庫應用整合範例,對行動裝置來說,地圖功能是最為實用的,因此我選擇實作這項功能當成作品送出。

王維仁 iPhone作品
creation-iphone-maplog-1