喜歡研究網路應用程式技術的馮旭平,常在網路上分享經驗,因而引起我們的注意,例如在他的部落格Fillano's Learning Notes及IT邦幫忙,都可以看到他發表的文章。

而會將學習心得在網路上分享的習慣,是源自於馮旭平開始學程式語言。那時碰到不會的地方,他都會在網路上發問,所幸每次都有熱心的人回覆。所以日後,當他在網路上有看到別人發問而他剛好會的問題,就會設法解答。

而他擅長的程式語言有C、PHP、JavaScript等,馮旭平說在這些語言當中,特別喜歡JavaScript,雖然聲稱懂得用的人很多,而且許多人會覺得它很簡單,但是他有不同的心得。

其實馮旭平在1999年就開始接觸JavaScript,但真正深入研究是在2006年,因為必須使用該語言,寫一些比較進階的應用,但常常在執行時,會出現與預期不一樣的結果,後來他就翻閱相關的規範ECMA262。他那時才發現,JavaScript有很多地方跟其他程式語言不一樣,例如,它的資料型別只有二種,一個是Primitive Type,像number、string等都是這一類型。另一個型別是Object,所以當用typeof 這個函式來判斷型別的時候,很多時候回傳的值都是Object,所以常會發生誤判型別的情況,因此更要花費時間去搞懂它。

大學就讀歷史系,卻因工作需要走入程式開發的領域

他大學畢業後第一份工作,是到主要業務為多媒體後製的龍眾出版公司,當產品企劃,在這家公司任職其間,公司那時想將多媒體事業向網路發展,而他在學生時期因為學習過電腦相關技能,公司便將這項任務交給他,於是他開始研究DirectX及HTML等技術。

後來馮旭平到了ThizLinux公司擔任研發部經理,該公司主要是從事家用伺服器的研發。在2004年時,他被公司派到北京及深圳半年,對學員做教育訓練及產品的維護等。那段時間,讓他印象較深刻的是,中國出了很多IT相關的翻譯書,像是物件導向理論、專案管理、軟體工程等,當時在臺灣這方面的書相對較少,也因此他在這段時間也看了不少書,學到一些技術及觀念,例如ROR及設計模式。

之後馮旭平在2006年,到目前仍任職的吉立富資訊管理公司擔任專案經理,主要的工作內容是網路應用程式的開發,而他負責過的專案有線上購物、英語線上教學平臺等。他說,在開發這些專案的過程當中,技術方面都不算問題,反而是管理方面對他來說,是需要再加強的地方,因為技術只要去了解就好,但管理就比較複雜,像是溝通的技巧,什麼時候應該強勢,讓成品能準時交出來?這些都是需要在學習。

擅長新的網路程式開發技術

由於工作的關係,容易接觸到比較新的程式開發技術議題,像是最近比較熱門的HTML5及node.js等,而馮旭平對於這些也頗有研究。

馮旭平在去年就曾以HTML5為題撰寫技術文章,贏得IT邦幫忙鐵人賽的技術類獎項,他說在網頁應用程式上,HTML5相較於原生的應用程式,例如,(以Java所開發出來的Android App),效率會比較慢。但它的優勢在於能相容於每個平臺。他舉例說,以往要開發行動裝置應用程式,要考慮到各個瀏覽器的相容度,但對於以HTML5為主要開發技術的人,比較不會碰到這方面問題,因為目前的智慧手機在推出時,都已經支援了這些規格。

若想學習HTML5,他建議JavaScript是必須要會的。因為在很多功能上,例如離線存取資料,它只是提供API,要使用這些新功能,還是必須靠JavaScript去執行。馮旭平認為,HTML5比較重要的地方在於,之前版本中,有許多的技術,如DOM元件等,開發人員雖然正在使用,但W3C沒有提供標準的規範。而在HTML5中把所有網頁應用的範圍都定義了標準,包括程式應該怎麼執行、環境該如何設定等,把這些都規範了進去,讓開發者能去遵循。

而在HTML5中新增的Canvas繪圖功能,他則是認為需要有電腦圖學的概念,使用起來才能比較上手。而他也指出, CSS3甚至是Geolocation API其實並沒有在HTML5的標準中,只是因為這些新技術的出現,讓現有的HTML能夠持續的發展,所以才會將CSS3、JavaScript、HTML5泛稱為HTML5。他說,雖然原生應用程式執行效率會比較好,但HTML5提供了統一的規範,也設計了很多不錯的API,同時也能相容於舊有的標準,因此他認為HTML5還是值得期待,甚至在未來等HTML5的環境成熟後,完全使用它來開發網頁應用程式,也不是不可能的事。

而馮旭平對於node.js也花了許多時間去了解,node.js是基於Google所開發出名為V8的JavaScript引擎所創造出來的Framework。它特別的地方在於,一般由JavaScript開發出來的套件,通常都是應用在網路前端平臺上,像是jQuery等,而node.js卻可以用來開發後端的應用程式。

他說,以往JavaScript都是運行在瀏覽器上,而node.js的出現,可以將JavaScript變成一個通用平臺的語言使用,因此可以讓它做任何事情,他說曾經有人,透過node.js呼叫GTK(GIMP Toolkit),開發在Linux上的圖形介面程式。只是它的強項是在伺服器的領域,像是網頁伺服器等。而node.js在伺服器應用上的效能不錯,反應速度也很快,馮旭平說這要歸功於V8引擎本身就有很好的效率。

他認為,Python及Ruby等語言在這方面的效率,就比不上node.js了,而這也是它的優勢。因為曾花時間去學習node.js,對於這個新的技術相當熟悉,也因此受邀,在今年微軟舉辦的Tech Day 2011,負責主講node.js的課程,由於是他第一次在較大型的研討會擔任講師,所以事前花了很多時間準備資料,像是node.js及V8的特色,如何在寫程式時避免陷阱等,他說這是一次不錯的經驗。

但馮旭平卻對這次擔任講師的成績不太滿意,因為他認為這次所準備的內容過於嚴肅,且因為將聽眾設定為初學者及想接觸這方面技術的人,因此在各個方面都是點到為止。而往後如果還有這類的活動邀約,他說只要是能分享經驗,都會樂於參加。

吸收新知及解決問題,是往前推進的動力

馮旭平對於探索新技術及解決問題具有相當的熱枕,在他個人的部落格上,常常可以看到他發表一些技術性的文章,在這些文章中,有些是分享他學習的心得,有些是他在遇到問題時,是如何去分析、解決,甚至還有些時候可以看到他突發靈感所做的實驗性文章。例如,馮旭平寫過一篇題目為「實驗-用Google App Engine跑CodeIgniter」的文章,他說因為Google App Engine主要支援Java及Python,而CodeIgniter是由PHP寫出的Framework,於是他就想試試能不能在上面順利的執行該套件,並實作出一些範例。

在談到較為技術性的話題,如JavaScript、HTML5等,我們觀察到他對該語言特性及開發時該注意的地方都瞭若指掌,用簡單明瞭的例子說明,由此可知,馮旭平是投入相當多的時間去了解這些技術的,他本人也表示,追求知識以及解決問題,對他來說是很有吸引力的。

而以臺灣的環境來說,馮旭平認為,網路程式開發人員最辛苦。因為前後臺的開發,目前業界並沒有明確的區分。因此開發人員對這些技術都要會運用。他說,其實後端比較單純,因為前端的開發通常會遇到客戶要求的問題,例如時常修改介面,因此會讓工作變得更複雜。所以他認為想從事這方面工作的人,除了前後端平臺的開發技術都要會之外,抗壓性也是很重要的。

對於自己的未來,馮旭平表示,還是會繼續從事程式開發的工作,但他強調自己在管理上的經驗及技巧還是相當欠缺,所以他希望在這方面,也能多精進。

 

IT人物

馮旭平

吉立富資訊管理公司專案經理

●  部落格網址:fillano.blog.ithome.com.tw

●  出生年:1968年

●  學經歷:畢業於東海大學歷史系,曾任龍眾出版公司企劃、ThizLinux公司研發部經理、Tech Day 2011講師

●  工作內容:專案管理、技術支援

●  專精項目:網路應用程式開發

●  興趣:古典音樂、騎自行車

熱門新聞

Advertisement