(圖片來源:giphy)
親愛的玩家,請讓我協助你一路打怪升等,成為擊敗邪惡大 Boss 的勇者 Coder 吧!
橘子學院講師、資深 Android 開發者葉承達(Mosil)用「Android 資深踩雷 NPC」這樣的抬頭來形容自己,對於自己的定位,葉承達笑說,他希望自己就像很多 RPG 遊戲中的 NPC 一樣(新手村的村長大大!XD),提供各位勇者引導與協助,讓大家在 Coding 之路上可以減少撞牆、爬坑的時間。
「Android 有很多雷:機型五花八門,又很常更新,還常常一更新程式就跑不了、crash 掉。既然這樣,我就先幫他們先把問題找出來。」by Mosil
接下來在文中,我們將會分兩個部分來與 Mosil 聊:第一部分「談 Mosil 的個人經驗」、第二部分「談為什麼現在該學 App!」。希望以下內容可以幫助到每一位期望在數位浪潮中轉型的朋友!
_________________________
Mosil 看起來很木訥,但提到 Coding 時,你可以輕易地從他的臉上感受到一股熱情,從事 Android 開發五年多的他說,第一次與 Android 見面是在 2010 年,身為 Google 粉的他就此淪陷,轉而投入以開發 Android 為主的職業道路。
Q:除了因為是 Google 粉之外,還有什麼因素讓你想學 Android?
Mosil:因為我是 Google 粉,所以只要跟大神相關的內容我都會去玩,而會持續下去其實一來是因為蠻好玩的,此外也直覺覺得未來有機會發展起來,雖然當時行動裝置在市場上還沒有那麼強勢,但是我認為這個市場正在發展、茁壯,再加上又不想接觸 iOS 這種封閉的系統,所以就進來了。
Q:你怎麼開始學的?
Mosil:因為 Android 是用 Java 撰寫,我覺得好像可以研究一下,就邊研究邊玩,寫了一些小東西。今天針對 App 表單製作、明天練習其他部分這樣,慢慢熟悉、上手。
基本上我的課程就是將我一路以來的學習心得、方法整理起來,像我上課時也會用這種方法,讓大家邊上邊做,一路上手整個 Android App 的開發過程。
Q:怎麼踏上 Coding 之路的?
Mosil:算是從高中開始接觸程式語言。當時家裡有了第一台電腦,而且跟很多大大一樣,我開始想要「寫程式」,都是因為想要 hack 遊戲裡面的記憶,去改遊戲記錄。XD
之後邊看邊學,寫過 dBase 資料庫程式語言,高中時還有開發過圖書館管理系統。
其實這一路的學習經驗,都讓我習慣邊上課邊實作,不喜歡老師上課一直講。所以我的課程基本上也是讓大家聽一下課、實作一下產品。另外我也是個喜歡跟大家互動的人,所以在課堂上基本上我都會鼓勵大家有問題隨時可以打斷我,我也會在大家實作的時候跟每一個學員互動。
Q:可以聊一下你從事 Android 開發以來的職場經驗嗎?
Mosil:第一個跟 Android 相關的題目是電商,幫 17Life 開發給前端客戶用的 App、商家核銷用的 App,還有背後的 Server 等等;基本上就是自己的 API 自己寫這樣。之後也曾幫 friDay App 開發過助手、金流串接、SDK 等。
在之後也曾為藥妝等產業開發過 App,可以說大部分參與的項目都集中在電商領域。
Q:怎麼開始從事 Android 開發教學的?
Mosil:這 2 ~ 3 年以來,身邊持續有朋友在問、甚至有學校主任找來,所以就漸漸開始進入「教學」的角色,像這兩年也都持續有在校園開講座。
此外,我也有在寫 Blog 幫大家掃雷(參見開頭「Android 資深踩雷 NPC」來源);這次開課也是一樣,希望把我會的東西挖出來,整理成大家看得懂的架構,提供一些不同的角度,幫助要入門的大家可以觸發一點不同的思考方向。
最主要就是希望有更多的 Coder 出現,一起讓台灣的科技圈更好!
- 為什麼該學 Android App?
「在整個世代都在朝 IT、數位發展的情況下,(台灣)不進則退。」同時也是原力資訊顧問股份有限公司(cto.tw)共同創辦人的 Mosil 這樣說到。「而我們就希望培養出一批業界可以用的人,並藉由實戰、實例來引導學習者,讓他們在未來可以到前線去。」
Q:聽說 App 不紅了,我憑什麼該學 App 開發?
Mosil:紅不紅倒不是重點,像 C 或是 C++ 也不是時下很紅的程式語言,但市場上仍相當需要這部份的人才,而且不少人的薪水也不輸於當前很紅的程式語言工程師。
即便它真的不紅,但學其他的有比較好嗎?對於還沒有明確目標、但是想學 Coding 的人這邊我有幾個建議:
● 關於語言
·Java 語言的特性是它可以寫很多東西,開發彈性很大(例如,想寫網站、跨平台的應用程式,Java 都能寫)。
·這邊學了也等於邊在學寫 Java,轉 Java 也容易(註:Android 用的 Java 開發,與一般 Java 開發還是有所差別)。
·轉其他物件導向語言(C# 等)或是導入物件導向的程式框架(Lavrvel、Node.js 等)也相對容易上手。
·Java 的相關工具也多、API 也非常多元。更不用說各地的相關開發社群都很豐富。
·從數據上來說,Java 開發者一直不缺工作機會~缺很多。
● 學習 Android App 開發還有什麼利多?
·針對想學 coding 的設計師,Android 的開發環境讓我們可以在界面上用拉的、弄點設定就做出畫面來,你可以很快上手,快速試驗界面設計是否符合使用情境。
·學 Android 的好處是前端你可以自己玩,還可以往後延伸開發 API。在程式邏輯、程式設計上都有所涉略。
從上述的幾點來看,對界面設計有興趣的人,學習 Android App 是一個很好的切點,你可以自己快速開發、實驗(不只是畫 Wireframe),而且在行動為主的時代,學習行動開發是一個很好的切點。
同樣,對前端有興趣的人來說,這也是一個立基點。
先跳進來 Coding 的世界,之後又轉換就相對容易很多,與其捉摸不定,倒不如就先試一下(有試才有機會嘛)。
● 其他好處
·光個人開發者來說,最大好處:Android 只要繳一次上架費用,你就是終生開發者身份。iPhone 則是要每年都繳。
·不見得每個人都有 Mac,但 Android 在 Windows、Linux、Mac 上都可以開發。
·你可以買到相對便宜很多的開發機。相較之下開發 iOS App,iPhone 的成本高很多。
Q:當 iOS 開發者比較好?開發 iOS App 比較賺?
Mosil:很多統計都說 iPhone 開發者比較賺(可參見此),但你得先認知「App 已經很氾濫了」,在 App 大爆炸的狀況下,今天我們沒有一個很強勢的服務出現、沒有強烈變化的前提下,其實大家都差不多,上架後能不能「被看到」還是個問題。
此外,iPhone 蘋果系列看來也開始浮現碎裂的問題;相對,早就意識到碎裂化問題的 Android 從 3.0 就開始在解決這個問題。
至於薪水部分,現在談沒有太大的意義,你要進入這個產業後再看才有意義,畢竟市場上一直再找「好的開發者」,先進來才是重點。
COMMENT