2013年7月12日 星期五

程式設計初學者 - 書籍推薦

想踏進 iOS App 開發的世界,有沒有什麼好的書可以介紹的?無論是對於沒接觸過程式開發的朋友們?我推薦的是這本。可以在這裡買到
有寫過 iOS App 的朋友也許會問為什麼是 C ?而不是 Objective-C ?雖然 Objective-C 是寫 iOS 的程式語言,但有以下幾點原因,使得初學者不得不從 C 語言開始學起。
  1. 物件的觀念利用到了 C 語言的指標。
  2. 數值的運算 ( 比如,加減) 還是用到 C 語言的型別。
  3. iOS 底層的資料也是用 C 語言的型別儲存,比如通訊錄資料,照片,錄影檔。
  4. Objective-C 本身就是包裝好的 C 語言。
  5. C 語言比較單純
你可以這樣想像,Objective-C 這個語言是一個大集合,裡面包含了 C 語言這個小集合,而專門用來編譯 Objective-C 語言的 IDE Xcode 可是可以編譯 C, C++, Objective-C 三種語言。
回到書本上的內容,對於想學 iOS App 設計的朋友們,前兩章是必看的內容,第一章就教導了基本的程式語言的概念還有型別,if-else, for-loop, 等幾個重要的流程控制。第二章介紹了指標這個很重要的觀念,前文提到除了和物件有關之外,iOS App 的記憶體管理也是需要這個觀念。前兩章一定要看熟。如果還有一點時間可以看到第四章看完,讀懂,差不多就具備學習 iOS App 開發的前置工作了。
書本上,有介紹了用終端機,搭配任意的文字編輯器來編譯程式,對於有 Mac 的朋友們,接下來介紹如何用 Xcode 來編譯前四章的程式內容。
看到書裡面的內容對初學者來說,一開始是相當的苦惱,如 Chapter 1 第 2 頁的圖


什麼是 Source 又如何 Compile 之後的 Output 又如何應用和呈現?
這時借助 IDE 的功能是最方便的,對初學者來說可以免去許多的麻煩。對於有 Mac 的讀者,首先要先確定自己的作業系統有 Mac App Store,在左上角蘋果圖形

按下之後會出現 App Store 字樣

接著可以在視窗裡 Search "Xcode"
看到 Xcode 然後點選看到詳細內容如下圖
上圖 Installed 的按鈕是因為筆者己經安裝,如果未安裝則是 Free 字樣。Xcode 是免費的可以直接安裝。安裝中的時候,從 Mac App Store 下載的 App 都會被放在 LaunchPad。如下圖
接著下載完成之後,可以利用 Mac 的快速鍵 Ctrl + Space 打開右上的 Spotlight 來開啟 Xcode。如下步驟。
選擇開啟 Xcode 之後應該會如下畫面
因為我們要利用 Xcode 來練習書本中的例子,需要開一個專案或叫 Project。在如下的地方
或者在 Menu bar 上面也可以開啟新的專案。如下畫面。
兩個方法選一種,都可以看到下面畫面。
拉近一點看,我們看中間可以選擇的地方。
我需要簡單的 OS X Application,然後選擇 Command Line Tool 。接著按下右下角的 Next 看到如下畫面。

幾個設定說明一下

  • Product Name - 這個專案的名稱,沒有一定要寫什麼但是一定要寫。也就是這個專案資料夾的名稱
  • Organization Name - 組織名稱,也不是什麼重要的資料,如果沒有公司就任意寫
  • Company Identifier - 這個 ID 會影響到上架 App 到 App Store 販賣的時候 Apple 會檢查,目前是沒有要上架,就用任意的英文加上 . 來填入資料
  • Type - 這裡有幾個可以可選,目前是練習 C 語言所以選 C,如果是要練習 Objective-C 語言,就選 Foundation
  • Use Automatic Reference Counting - 是和記憶體管理有關,目前也不是重點。就選打勾就好了。
接著按 Next 按鈕。會看到如下畫面。

選擇一個目錄,儲存這個專案,也是一整個資料夾,就是 Product Name。接著會看到如下畫面。
這些都是專案的設定值,目前也用不到。接下來是我們要寫程式的主角,就是在左邊,很多個檔案有一個名稱叫 main.c 。如下畫面
拉近一點看,左邊是如下圖面
中間主要編輯畫面如下
這些程式碼是不是很像有看過?在哪呢?就在書中

還記得嗎?一開始書中提到 Source -> Compile -> Output 的 Source 
如果我們把 Xcode 的 main.c 的內容改成和 rocks.c 的內容一樣如下



int main(int argc, const char * argv[])
{
    puts("C Rocks");
    return 0;
}
上方是程式碼文字的部分
接著就是 Compile 的部分了。對於 Xcode 來說就是按下左上角的有點類似 Play 的符號。
這個就是 Compile 了。那 Output 呢?按下 Run 之後在 Xcode 下方應該會有一個視窗突然出現。
拉進一點看。如下
在 puts 裡面的內容被呈現在最下方的視窗裡。這個就是 Output 結果。
之後在書中的程式碼,都可以被放憂 main function 裡。也就是在

int main(int argc, const char * argv[])
{

return;
中間 比如接下來 Chapter 1 在第 3 頁的

int card_count = 11; 
if (card_count > 10)
    puts("The deck is hot. Increase bet.");
讀者將會在 Output 的地方看到
其他的練習就交給讀者了。只要有一個專案就可以練習書上所有的程式碼。這樣才可以理解書上說了什麼。
以上是用 Mac 的 Xcode 來建立一個方便初學者練習書上程式碼的方法,當然其他的平台也有其好用的 IDE 。比如跨平台的  Code::Block 等等。當然如果要用 Objective-C 開發 iOS App ,最推薦的,還是 Xcode。
最後提醒大家,想要學 iOS App 程式設計,前 2 個章節一定要看完哦。
有問題可以到粉絲團問問題。
祝各位初學者,學習快樂。