Landing Photo

成立 Black Tool Box Laboratory

於 2017 年的 4 月,我開始了雲端網路管理系統的開發,在那之前,我還是個嵌入系統的軟體研發工程師,還是使用 jQuery 的模式,開發網頁式的使用者操作介面,在雲端網路管理系統的開發,是我第一次開始接觸與研究,關於 JavasScript 的框架 - React,於是我進入前端開發的世界,為了精進我的學習效率,我在 2017 年的 11 月成立了自己的一個實驗室 - Black Tool Box 實驗室,也開始學怎麼開發組建到 NPM 並提供使用。

開發套件的設計視角

在我自己開發的過程,我對轉換設計圖稿到 CSS Style 沒有太大的問題,但這個問題卻常常困擾著我的同事,也讓我開始思考一件事,大多數的排版相關套件,都已經有一些 style 的設計,但多數不包含函數行為,以及我們在處理一些開發的時候,需要寫額外的 style 覆蓋,以及額外的邏輯來使用,對於部分的工程師來說,寫邏輯並不難,難的是客製 style,在這件事情上,有時候使用排版相關的套件,反而不會有助於前端開發的效率,但對於大多數的開發來說,客製化排版外觀卻又是必要的,所以為什麼不試著開發一種組件,它具有基本的邏輯,也只有微少的 style,讓使用的人可以更輕易地客製成他們想要處裡的應用場景?我們讓基本存在的邏輯變成是一種黑盒子,讓這組件使用起來就像工具一樣,對於已經熟捻開發的人,可以更有效率地處理他們的開發需求,是故命名實驗室為 Black Tool Box Laboratory ( BTB Lab. ) 。

套件開發成果

經過一年的努力,我開發了四個套件:

React

blacktbox-list

1.2.1

這是我的第一個套件,用資料陣列來產生清單,看似簡單的功能,但這個套件讓我學會如何開發 NPM 的包。

blacktbox-menu

1.1.4

為了開發我的網站,第二個組件的開發,就決定是大多數網站需要的選單,而這個選單還可以跟 React-Router 一起使用,無論是 2.x/3.x ,還是 4.x。

blacktbox-table

0.3.2

這個套件其實還不算完成,因為他還有一些功能我想要實作,但也相對地需要更多時間來思考怎麼架構,完善它將會是我下一年的首要目標。

blacktbox-select

1.0.1

原來給他的命名是 searchelector,最後還是決定就叫他 select,讓搜尋的功能變成是一種可選的功能。

還有很多設計套件的想法,但沒有足夠的時間可以實作,畢竟是我兼差性質的開發,我能使用的是珍貴的週末時間,做這件事真的很有趣,對於自我訓練如何設計組建,同事也自我訓練寫程式的能力,所以我會繼續下去,如果對於我的組件,你有什麼想法或需求,非常歡迎你分享給我。

下一步

最近我也開始在找尋我下一份前端開發的工作,在這個過程中,我也學到了一些新知識,也反覆整理了我目前的知識架構,於是我決定下一步計畫,就是重構我的網站,關於我寫關於 Flux 與 Redux 的文章,也會重新撰寫,希望這個新的文章,可以更清楚地介紹它們兩個,當然有一些主題也會開始著手進行撰寫,當然不會忘記 blacktbox-table、blacktbox-select 與 blacktbox-menu 的功能開發與改善。