未分類

JSDC2015 學生獎勵計畫心得

若有錯誤歡迎大家指教<( )> 本篇為學生獎勵計畫給JSDC的心得報告

這次很榮幸可以通過JSDC學生獎勵計畫

自從Modern Web Conf之後越來越多都有設定鼓勵學生的方案

不然一張票可能就是一個學生一個月的國科會或助教的薪水了

藉由這次的機會讓我終於第一次參加JSDC

如果要跟Modern Web Conf收獲相比 JSDC參加完之後會讓手很癢…什麼技術都想玩一下

所以可以算是推坑React,Native,Electron,IOT等等的大坑阿…

以下是我這次的心得 若有錯誤歡迎大家指教<( )>

今年辦的活動從拿到紀念品的小提袋就有一種很超值的感覺

不過當我在前一天想要安排該跑哪些議程的時候 卻發現官網都沒有簡介

現場拿到的手冊,以為裡面會有議程簡介及贊助商資訊等等

不過一打開發現全白的讓我有些小錯愕XD 原來這是本筆記本阿~

一早大會螢幕上有放簡介 不過因為光亮+螢幕模糊 後來經宣傳才在hackfolder上找到資訊

另外還是相當不習慣議程大多數的門只出不進的規畫 上個廁所可能都要跑一大圈(汗)

最後一定要提一下 JSDC的食物真的都超級好吃阿阿阿阿阿阿!!

我是沒有任何的狀況 點心和午餐都吃的相當的滿足(覺得幸福)

JSDC議程內容、共筆及投影片: JSDC

[R0+R2] React Navigation System

大家在寫SPA的網頁都會碰到一個問題 就是route的問題

雖然一切頁面、元件動態載入看起來很美好,可是這也有個問題

當使用者切換頁面、標籤等等時,route的path仍然是一樣的 這也意味著當使用者

將你的application點到相當深的UI介面的時候,一個不小心重新整理或上一頁

將一切重新來過,他可能又要重新去一個個點開才能到達他所要的地方

所以我們在寫網頁時可以透過history來抓取這些曾造訪的歷史資訊

但如果是元件的變動你就要自行去做這個所謂的”導航”系統

而網頁上的url通常 是線性在變動,但如果是原生的APP就是巢狀再做改變 因此就更加複雜

寫Native的APP就更需要去刻一個導航系統來處理返回鍵等動作

這也是Facebook React Native對未來規畫可能會要做的事情

[R2] JavaScript 開發流程自動化懶人包

平常我們使用Git都只有做版本控制,而git hooks例如:pre-commit

你可以在commit前跑一隻程式來檢查這次的程式碼是不是符合團隊的規範或風格

如果在搭配Jenkins-CI跟mocha會讓這一切看起來更加流暢

不過可能會有人覺得這是在浪費時間,但以一個大型專案或長遠來看,這是一個相當值得的投資

不過我們在學校通常沒什麼機會會碰到,我也是出來參與專案才首次接觸,測試全過的感覺真的潮爽der!

另外也介紹了一些實用的小工具 像usersnap、nightwatch等等相當的方便

[R2] 用JavaScript實現微電腦自動控制不是夢!

這場講者有木工的背景,再加上Arduino的低門檻,讓他可以很容易的結合自己的專長

成為Maker的一份子,整份投影片相當的入門,對於完全對Arduino陌生的人來說是不錯的入門

不過可惜的是沒有分享很深入細節,好比自己專長的木工其實可以多介紹一些

因為底下相信絕大多數至少都玩過LED燈炮閃爍及馬達等等,反而讓後面的部面沒時間細談到

不然機器人手臂的例子真的相當的有意思

[R0+R2] Building Single Page Apps with Aurelia

講師怕大家不曉得Aurelia,前面的時間大多在做介紹 大家都超擔心最後沒時間做demo

Aurelia是由前Angular.js開發者出來打造 所以你可以在Aurelia看到相當多熟悉的影子

不過看到又有一個感覺… 怎麼前端又有新的framework了T_T

two-way binding 和 {markup injection}等等保留一些在開發上有彈性的部分

至於我們可能會懷疑會不會有效能上的問題 據本人說沒問題就是XD

不過因為投影相當的模糊 所以DEMO的部分大多數都沒看清楚 只能自己親自試著去跳坑來體驗了

[R2] 技術演進的大亂鬥

因為slidenow也有參與開發 這之間有太多血淚T_T 剛用Angular.js寫好後

最後還是敗給了Animation在手機上顯示相當的糟糕而轉向了React.js

結果React.js也有不少問題,SVG的attribute不支援、CSSTransitionGroup的bug

當初大家所推薦的isomorphic framework二個月後又就不一樣了

雖然將產品投到新技術需要相當大的勇氣跟心臟 但就一個資訊人來說這也算是他們對技術的熱情XD

所以就一邊抱怨一邊像拿到新玩具的心情開發 相當的矛盾XD

[R0] Transducer

原來今天是講數學而不是JSDC XD

因為完全沒碰過相關的運算研究? 對我來說這場算是最痛苦的一場

提到了非常多的數學式範例和分享,我想對做相關研究的人可能會眼睛一亮吧

不過因為完全聽不懂(嘆) 果然自己還是太嫩了

[R0] TDD 的開發哲學,以 nodejs 為例

分享一些職場上開發的測試分工與合作,測試這件事不是只是QA的事,開發者也要共同參與

才能更快的找出問題,而不是讓這些時間卡在問題的轉述與推託上

即然是node.js 當然會提到mocha及假資料登入的處理 還是不能不提的Jenkins CI

講師認為完美的專案就是容易改善才能夠長期持續下去

[R0] Web Components & the next generation ADs

第一天的最後一場當然要聽老木大師的演講,錯過就真的太可惜了

自從在Modern Web Conf第一次聽了之後 明明是平淡無奇的測試也可以被講的相當的精彩

比起介紹的內容,更想知道國文老師是誰(誤)

這場介紹了Web Components的特性,如果已經有在摸React.js想必相當有感

所有元件環環相扣而且可重覆使用 我想這就是元件化之後最迷人的地方

而元件當然也可以測試,同時藉機酸了一下「X關閉廣告」是可以被關掉的 哈

[R0] Three.js, WebGL & Tooling

講師是Three.js開源貢獻者之一,現今也有遊戲公司採用Three.js做網頁遊戲的開發

開場也demo了幾款遊戲,很順60fps沒問題不會lag不會讓人被暴力~

也用簡單的比喻解釋投影的四步驟讓大家盡可能的了解實作的方式

[R0+R2] Build Anything with JavaScript

這場在先前的Modern Web就已經有介紹過一次了,而講師這次帶來更多實作的成果來展示

以馬克一號來製做遙控氣球及遙控車,最主要是希望能夠讓前端工程師能夠更簡單的進入

Arduino來開發,不過就我認為而言,如果我有基本寫程式的經歷和底子,最後還是會選擇c/c++來開發,

畢竟Arduino的門檻已經降至相當低了,雖然我喜歡寫Js不過也不至於一定都要以Js來開發

這終究還是要看每個人寫程式與學習的習慣吧~

[R0] React Native 實戰! 融入現有 iOS App

講者原本以React Native來整合至現有的iOS專案,沒想到在JSDC前居然連Android版都公佈了,

於是就幫大家先跳坑做嘗試並分享心得,提到了傳統WebView有效能不佳及相容性的問題,現有專案

因為UI變化很快及debug後上架時間過長,因而決定採用React-Native

分享一些自己所觀查到的React-Native的實作方式,其實就像是翻譯米糕(JsBridge)一樣,透過翻譯米糕

由js與原生api做溝通,而只要能在不同平台打造這個翻譯米糕就能夠用js寫出原生的app

最後展示趨勢所使用的app來整合Android與iOS並公開兩者之間的code,兩邊的code看起來幾乎一模一樣

聽到這邊讓人感到超心動的,所以就被推坑想寫了XD 不過現階段的挑戰在於低階機型會有效能上的問題

這個只能藉由時間來改善,另外Apple Store的審核尚未對這類的APP有任何限制,但不代表未來不會有動作

就算是這樣React Native潛力還是相當另人感到心動

[R0+R2] Workshop on Control Flow ES2015 and beyond

講師分享一些非同步請求的function在未來會被整合到ES7中,並分享一些解決現況Promise的作法

因為講師的時間是workshop很長,偏偏講完時間還剩很多,這倒是讓大家抓到一個機會

問了非常多開發上好用的套件,光是這場Github按的star可能就多了十個左右

連console.log來debug都有專門的套件叫DEBUG處理,相當的有意思 讓我聽到很多實用的套件

算是在聽這場演講之前完全沒想到的收獲吧

[R0] Building Hybrid Mobile Apps with Ionic Framework and AngularJS

大多的著墨在於AngularJS 1.X的部分,本來還以為會談Angular2 不過畢竟2也還不成熟

或許剛好完全略過或沒摸過1的人可以回首看看這段血淚史? 不過如果能夠提到更多Ionic整合

的部分會更好XD

[R2] 使用 Electron 跨平台建構 JavaScript 桌面程式

第二天最後一場一直滿期待聽到這場,之前一直有耳聞Electron,甚至在Dcard上相當有名

寫給女朋友的音樂播放程式也是用這套完成,如果想要寫一個小工具的視窗程式,用Electron來實作

非常的酷XD 算是在React-Native整合分享之後又心動手癢想嘗試的東西之一

講師很仔細的回答browser process&ipc&render process,聽完馬上有種頭骨蓋靈光乍現的感覺

而在Lighting Talk之後也有人發表Electron+React+Webpack整合的環境

都有人做到這樣了那就趕快動做~

今年的JSDC整體來說還不錯,除了只出不進有點小麻煩之外,部分的休息時間其實也可以縮短

畢竟20分鐘真的有點長,另外可以考慮有跑攤位的活動,這樣可能會更有意願去與贊助商互動

微軟的實習生就不用那麼可憐整天都要到處問XD 明年這個時間就不是學生了,可能要當兵也沒機會參加

總而言之希望明年也可以越辦越好,讓更多人知道Js的坑有多大(笑

分享到