目前的程式設計中,Android平臺上的App開發算是相當熱門,從電腦書的熱賣,也可看出端倪。在網路書店博客來2011年的年度暢銷榜中,就有好幾本是關於Android開發的電腦書,其中奪下電腦類別第五名的就是《Google!Android 3手機應用程式設計入門》,而作者蓋索林(Gasolin)就是林育民,他目前擔任臺北GTUG(Google Technology User Group)主辦人。

林育民會推出這本書,是因為在接觸Android的時候,就已將資料整理成電子書,所以有了素材可出版成書。並且,當時網路上能找到的文件都太繁雜,沒有一本適合入門者的書,所以才將書整理成冊。而除了Android開發以外,他也擅長於Python、Java、C等語言。

透過學習Python的過程,因此接觸開源社群活動

林育民大學與研究所都就讀東華大學,而且都主修電機工程,雖然大學時系上課程較少與程式設計相關,他本身卻對這方面很熱衷,所以技術養成上,大多靠自己研讀較多。在大三的時候,他曾幫忙系上架設網站以及BBS站臺。在念研究所的時候,他則因為製作專題的關係,接觸了多種程式語言,最後選擇使用C與Python作為主要使用的語言工具,而Python也大大影響了他在程式設計方面的理念。

在林育民研究所畢業後,他因為國防役的關係,進入達創科技擔任軟體設計工程師。不過,當時大多是負責開發網路設備,所以用不到動態網頁設計與Python相關的技術。所以林育民都是透過下班與周末的時間,從網路上面找資料自修。而也因為這樣,使他開始漸漸參與像OSDC.tw、COSCUP這類開放原始碼社群,並且在他們的活動中進行演講及技術分享。

透過翻譯電子書及周蟒專案,協助推廣Python語言

林育民對於Python非常喜愛,曾參予了不少相關的專案。像是他在學習Python的時候,同時也利用空閒的時間,翻譯名為「咬一口Python」的電子書,並且為了推廣Python,他還發起了一個叫做「周蟒(Zhpy)」的專案。這個專案的目的,主要是讓華文世界的人,可以透過「中文」來撰寫Python。雖然周蟒專案玩票性質居多,但非常適合初次接觸程式設計的使用者學習。

而林育民除了幫忙翻譯及推廣Python外,同時他還替TurboGears這個網站開發框架發展了tgcrud套件,並免費讓人下載。

TurboGears是以Python語言為基礎的網站開發框架,它能夠讓使用者快速建立網站。而林育民開發的tgcrud套件,目前版本為1.0.2。tgcrud能夠自動產生一個具有CRUD(Create、Read、Update and Delete,新增、讀取、更新及刪除)的對應網頁程式碼,以及網頁介面架構。這對於使用到資料庫的網站而言,在開發相關功能的時候,只要透過該套件就可以快速建置。

林育民說,tgcrud套件開發完後,發生一個讓他開心的小插曲。那就是在《Professional Python Frameworks》這本以Python為基礎語言,介紹Django、TurboGears等網頁框架的網站開發書上,發現作者竟然以20多頁的篇幅在介紹tgcrud,這點讓他挺開心的。之所以會發現被寫在書裡,是因為作者寄信告訴他,在書中會提到他開發的套件。

堅持程式設計理念,所以不打算開發iOS App

在2007年尾,Google釋出了Android作業系統,而對於開放原始碼很有興趣的林育民,那時當然也下載來學習跟使用。而跟Python一樣,他學習的時候就同時把學習的資料撰寫成電子書,並且放到網路上供人下載,並在2009年的時候,以實體紙本的形式出版。

但他這麼喜愛Python,卻沒有出過Python的程式設計書?林育民表示,他其實很想出Python相關的電腦書,但因為該語言在臺灣的普及度不夠大,願意將其出書的出版社不多,所以就沒機會將其出版。

成書過程中,林育民與一般作者較為不同的地方在於,有些作者只是在書中解說原理或闡述功能,而沒有真正的實務開發經驗,但他除了在書中講解如何開發外,也在Android Market寫出22款App,並予以上架。而林育民是所以會開發這些App,也並非是為了寫書去開發。他說因為有些工具可能在Android Market裡面找不到或不好用,才會自行開發,所以這些App大多都是自己需要使用的工具。

在Android軟體開發上常被問到的部分,像如何根據Android設備不同的螢幕大小去設計App?林育民說,Google在釋出Android 4.0(Ice Cream Sandwich)的時候,在說明文件中提到了設計上應遵守的規範,像是設計圖像的單位應該從fix pixel轉成independent pixel,如此在不同的螢幕上,都能讓App盡可能呈現出原設計的樣貌。

而Android與iOS間的比較,像是在Android App的開發上,他認為最困難的地方在哪?以及是否打算開發iOS的App?

林育民說,他認為Android有個缺點,就是它在UI設計工具方面,目前比起蘋果的iOS與微軟的Mango,Android都還是有段落差。

而至於是否會開發iOS的App,林育民笑笑地說,他不會,但並不是討厭iOS,因為自己用的就是蘋果電腦。不會開發iOS的App,純粹與程式設計理念相關。

他提到,Android與iOS的App中有個明顯的差異,就是Android的App在運作的時候,能夠呼叫其他的App功能,而iOS則無法。以攝影方面的App為例,若功能分為A、B兩個部分,A為控制照相機的功能,B為相片濾鏡功能。而在Android上,已有人開發出具有A功能的App,其他使用者只需開發B功能即可,因為它能夠呼叫該裝置上具有A功能的App,取用它的攝影功能,如此就能免去開發,或在App裡寫入重複的程式碼。

但在iOS方面,每個App皆為獨立個體,不能夠互相取用各自的功能。所以假設使用者安裝了3套攝影App,那將會有重複3組攝影功能的程式碼。而就是因為在App上的自由度不夠,所以林育民並不打算替iOS開發App。

而我們在訪談中,可以深深感受到林育民對於程式設計特有的想法與理念,像是他喜愛簡潔、實用,以及有效利用已經開發好的資源。這些都是他在接觸Python,讓自己更明確理念的關鍵點。而這點,也是為何他選擇開發Android,而非iOS的App。

愛書人必備的Android App

私底下,林育民除了程式設計外,還是個非常喜愛閱讀的人。他說在國高中的時候,因為喜歡看小說與詩詞相關的書籍,曾一度想轉考文組。

而對於愛看書的人而言,對於aNobii這個網路書櫃網站應該不陌生,但在Android Market中並沒有一個較方便的工具,能夠快速將書籍資料上傳到aNobii上。所以林育民開發了一個名為Anobiit的App,它體積非常的小,僅95KB。它能夠掃描書的條碼,並且將其書碼上傳至Anobiit的帳戶中,建立自己的網路書櫃。同時,它還能連結博客來及Findbook查詢書的價錢。

而這款App之所以體積這麼小,就是因為利用已經開發好的資源,像是「條碼掃描」是使用Android中內建的掃描功能,而「線上書櫃」則使用aNobii網站。若將2個功能分開做則非常費工,但在Android的開放下,它僅整合功能即可。


IT人物-軟體設計工程師 林育民


● 出生年:1981年
● 學經歷:東華大學電機工程學系、電機工程研究所。曾任達創科技軟體設計工程師,現為台達電子工業公司軟體設計工程師
● 工作內容:開發無紙化內容服務,以及移動設備整合應用
 

公司資訊-台達電子工業公司
● 網址:www.delta.com.tw
● 成立時間:1971年
● 營業項目:製造及開發電源、零組件、網路等電子相關產品

熱門新聞

Advertisement