全站文章 iT邦幫忙
iThome Online提供免費電子報,現在就訂,最新IT訊息每日寄達。

iThome 每日新聞報
iThome 產品技術報
加入iThome Online會員,立即使用討論區、Blog等服務。

免費加入會員
登入 / 登出
管理會員帳號
忘記帳號密碼
聯絡客服
訂閱周刊
讀者服務
13' E政府專刊no.7(48)
13' iTcloud No.3(47)
12' E政府專刊no.6(46)
12' 個資法專刊No2(45)
12' iTcloud No.2(44)
12' e政府專刊No.5(43)
12' 個資法專刊(42)
11' CIO專刊(41)
11' e教育專刊No.3 (40)
11' e政府專刊No.4 (39)
11'iTcloud專刊(38)
10' e教育專刊No.2 (37)
10'e政府專刊No.3 (36)
09'e政府專刊No.2 (35)
09'e教育專刊(34)
09'e政府專刊(33)
08'企業資安專刊-端點安全防護(32)
08'企業採購情報誌(31)
07'資訊安全技術應用專刊(30)
07' 新世代資料中心專刊(29)
07'企業資安技術應用專刊(28)
企業採購情報誌'06冬季號(27)
用中文也能寫Python程式
文/陳思翰 2012-03-09
分享到facebook
目前在台達電工作的林育民,因為Python接觸更多程式語言,更因此成為Android電腦書作者


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

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


目前的程式設計中,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的開放下,它僅整合功能即可。文☉陳思翰

分享到facebook

2014資安趨勢研討會
更多研討會
▼ ADVERTISEMENT ▼
▲ ADVERTISEMENT ▲

電週文化事業版權所有、轉載必究 •Copyright © iThome | 刊登廣告授權服務服務信箱隱私權聲明與會員使用條款關於iThome