iT邦幫忙

3

【JavaScript忍之道特別企劃】邁入JavaScript大時代-JSDC會後報導

5月18日,第二屆JSDC在雨中揭開序幕。學員絲毫不受天氣影響,人潮不斷湧入,在中研院人文社會館的報到處,迎接來自各地的JavaScript開發者。身置現場,不難發現熱烈興奮的氣氛,這一天,對JavaScript開發者來說,已經等待了一年。

今年JSDC有別於第一屆的單日議程,安排了兩天三軌制的場次。從議程來看,JavaScript涉入的領域越來越廣,遠非過去大家印象中專屬瀏覽器的程式語言。也因為JavaScript扮演的角色越來越重要,過去許多不需要思考的議題,也都一一浮現。反映在JSDC議程,就是JavaScript大時代的脈動與譜系。

【JavaScript忍之道特別企劃】
-- 邁入Javascript大時代-JSDC會後報導
-- 社群驅動而生的JSDC-總召Richard Lin專訪
-- JSDC心得分享
本文由JavaScript忍之道特別企畫
Node.js發燒 應用日趨成熟

隨著Node.js越發成熟,用JavaScript開發伺服器端的應用程式,也已經從可行性的探討,切入到實務、應用上的經驗交流。今年JSDC的議程中,與Node.js相關的主題就超過總數的1/6。
像是「Node.js佈署常見問題」這個議程,就是Steven XP從公司開發Node.js的經驗中,累積出的實務經驗。由於很早就導入Node.js,所以一開始像是Node.js發生錯誤就會整個停止服務、V8的GC特性導致記憶體耗用殆盡、NODE_ENV設定對效能的影響、與Nginx的搭配使用或是縮圖處理等,這些都是在實務中一一踩地雷而換來的經驗。

而KKBOX也有遇到類似的情況,在「用Node.js開發KKBOX一起聽」議程中提及,因為Node.js高效能的特性,拿來開發「KKBox一起聽」這個服務,沒想到卻因為架構設計的問題,第一次上線時,6分鐘就被五月天號召而來的粉絲攻陷。後來修改調整架構後,才真正發揮了Node.js的優點。

從馬來西亞遠道而來的Ruben Tan,則是分享Node.js防禦性開發的觀念,提醒大家可能會錯的地方,就一定會出錯。演講中提出了不少經典的情境和程式碼來說明,實用性很高。人稱費大公的馮旭平,則詳細說明flow control的原理和應用。由於Node.js經常形成複雜的非同步呼叫,flow control是必須要了解的觀念。

其他的相關議程,不管是Node.js的編譯成Binary的議題,或是利用AWS的Elastic Beanstalk執行Node.js等,都說明Node.js從部署到應用,整個上下游都已經相當成熟,應用面也相當廣泛。對於JavaScript的開發者來說,Node.js成了進一步向後端邁進的路徑;對企業來說,Node.js已經是成熟實用的工具,值得進一步深入了解。

行動裝置帶來JS新戰場

行動裝置時代的來臨,不是一個未來式,而是現在進行式。不管在捷運或餐廳,經常都能見到人手一機,專注在小螢幕上的現象。因此企業對於投入行動裝置的開發都顯得躍躍欲試。然而現實是,要能同時照顧Andriod/iOS/Window Phone這三個主要平臺,其實相當吃力,更不用說各種裝置的尺寸差異,在開發和維護上都是莫大的挑戰。而JavaScript的開發者,卻在這樣的困境中,反而很可能獲得了制霸之道。

對岸「奇虎360」的王文明,在他的「從前端到終端-跨越平臺的前端技術」的講題中,闡明了這個現象。除了原生平臺語言開發之外,JavaScript的開發者可以透過HTML 5做成Web App,或是像透過PhoneGap這樣的框架,用JavaScript開發,再轉譯成原生的語言。不過上述的做法,對他們要求的效能來說,還是有些不足。目前他們正在研究Cocos2d這個遊戲框架,它同樣提供了JavaScript API,不但能跨平臺,而且效能也相當好(但UI的部分必須自己處理)。

另外涉及行動裝置的議題,不管是做Web App、原生App或遊戲,都說明了JavaScript在行動裝置盛行的時代,多了一個可以大顯身手的機會。

Web前端技術日新月異

而JavaScript的主戰場,也就是瀏覽器的世界,在這幾年有長足的進步。各種框架紛紛出籠,一方面提升開發效率,另一方面,也讓JavaScript在搭建複雜的應用程式時,在架構上更為穩建。
今年有兩個議程都提到老牌的Ext.js。出身自YUI的非官方外掛,在與YUI脫勾自立門戶後,越走越穩健。Synology展示透過Ext.js做出整套的Web OS的成果,足見Ext.js出色之處。

另外像流浪小風和大澤木小鐵的議程,都涉獵JavScript在MVC、MVP和MVVM的議題,不管是Backbone、Knockout.js、Angular.js...等,這些框架的企圖,都不像早期的框架滿足於打造工具集或是UI元件,而是從架構面切入,提供JavaScript建構複雜應用程式的能力。

WebWorker這個HTML 5的新技術,在本屆JSDC也算是熱門議程,有不少講者們從不同的角度切入,說明WebWorker的優點、能耐,也有從實作面說明它的應用限制。

值得一提的是Paul Li「樸實與浮華」這個議程,精彩的簡報讓許多學員對於JS的可用性和效能處理,有了更深入的認識。其他像是RequireJS在模組開發上的優點、JavaScript的效能調校,或是xdite從Rails觀點分享前端開發的經驗法則,都為參與的學員,帶來了JavaScript在瀏覽器開發上的新技術、新觀念。

JS人才養成與產業升級

在JavaScript大躍進的時代,必須與時俱進的,除了技術面之外,在開發流程、協同合作上,也都形成新的挑戰。在本屆的議程中,也有不少場次針對這些面向進行探討,其中又以Josephj的兩場議程「F2E-The keystone of the Industry」和「Code for Quality-提昇javaScript撰寫品質」引起最多的共嗚 。

前一場大力宣揚熱血的前端魂。講者說明只有前端工程師可以把技術和設計完美結合,扮演著溝通的重要角色。他從自己進入Yahoo!學習前端的歷程談起,說明前端工程師必須自我要求,並了解自己的重要性。也只有明白前端工程師的重要之處,品質才會出來、價值感才會出來,才能進一步帶動產業的推進。而「Code for Quality」則是從實務面討論JavaScript如何可以透過觀念、工具的提升,推動程式的品質。

這兩場演講,在社群網站上引發了不少的「讚」、「分享」和討論,除了無私分享經驗之外,相信是講題中熱切召喚前端魂、共同提升產業的心情,感染多數的學員。

有些議程是由開發工具切入,希望透過更有效率的工具應用,提升開發人員的生產力;也由從「如何教設計師前端技術」這樣的切面涉入,說明團隊協作時,如何帶動團隊成員精進成長。有些議程則是分享自家公司的實際經驗,像是「愛料理網站前端開發驗談」,也是從工具到實務,都有讓人可以借鏡之處。

歡樂有梗的Lightning Talk

在正規的議程之外,JSDC的Lightning Talk也是值得一提的部份。Lightning Talk有人稱作閃電秀,也有人叫微議程,它是國內社群研討會常見的活動形式,也經常是參與學員期待的單元。
JSDC的Lightning Talk,是在活動當天開發報名,每個人有5分鐘的簡報時間,介紹自己想分享的主題,只要時間一到,就會被拔線中斷投影片和分享。時間短、還有拔線壓力,既考驗分享者簡報能力,也考驗掌控時間的能力。

今年的Lightning Talk,令人印象深刻的例如第一天「Bumbler to speech以JS實作簡易audio sprites」,以時事議題作梗,分享他是如何透過JavaScript的技術,讓聲音檔可以重製組合。這個分享不但讓全場佈滿笑聲,也讓大家了解背後的技術,可說是Lightning Talk的典範。
而像「噗浪最近有點胖」利用5分鐘的時間解釋了為什麼噗浪會狂吃記憶體以及解決的辦法、「Function Programming in 5 minuts」則利用行雲流水的簡報分享了一個技術觀念,還有人用專案的概念談終身大事,也成功洗腦,讓大家學會要自稱「設計師」而不是「工程師」。
兩天的Lightning Talk,分享者的演出雖然有好有壞,但是敢於上台挑戰Lightning Talk的,都是勇者。不信?下次就帶著你著簡報來挑戰拔線吧!

熱血前端魂 迎向新挑戰
還有許多精彩的議程,無法在此一一介紹,即使是親身參與JSDC議程的學員,因為三軌議程的設計,也都不免顧此失彼,沒有辦法一覽所有精彩議程。所幸JSDC會陸續發佈議程的簡報與錄影,屆時不管是分身乏術的學員,或是沒機會參加的開發者,都可以在線上看到這些主題。

JSDC 2013雖然結束了,但JavaScript大步邁向未來腳步不曾稍停,JS的開發者面臨的機會和挑戰也會越來越多。參加一場豐盛的研討會只是一個開端,兩天的熱血加持,為開發者加載了迎接未來挑戰的勇氣和準備,有了這些憑藉,相信在提升自己和台灣的技術、產業升級上,開發者可以更有熱情與自信。

【JavaScript忍之道特別企劃】
-- 邁入Javascript大時代-JSDC會後報導
-- 社群驅動而生的JSDC-總召Richard Lin專訪
-- JSDC心得分享
本文由JavaScript忍之道特別企畫


1 則留言

0
ted99tw
iT邦高手 1 級 ‧ 2013-05-27 12:24:05

喜歡喜歡喜歡

讚讚讚~~~

拍手拍手拍手

我要留言

立即登入留言