我的 UI 組件庫發(fā)布了!


前言
花了一年多的業(yè)余時間做了個移動 web 組件庫 - STDF。在此特別感謝我的老婆大人,承擔(dān)了家里的很多雜事,才讓我有時間做這個東西。
站點(diǎn):https://stdf.design
GitHub:https://github.com/dufu1991/stdf
歡迎到 GitHub 上提 Issue 和 PR,使它強(qiáng)大,使它更好!可以幫助到更多的人。
我想說一句,使用 Svelte 和 Tailwind 寫代碼真的是太爽了!
為何寫這個組件庫
首先最重要的是補(bǔ)充 Svelte 生態(tài)。
關(guān)于 UI 組件庫,PC 端有很多優(yōu)秀的產(chǎn)品,但是移動端并沒有能與 PC 端比肩的產(chǎn)品,這是由于移動端的特殊性導(dǎo)致的。移動端產(chǎn)品大多數(shù)是 To C 業(yè)務(wù),這就要求對組件庫的靈活性有更高的要求。在設(shè)計組件 API 的時候,需要有更多的參數(shù)支持可供配置,但又不能設(shè)計得太過復(fù)雜。而在 UI 設(shè)計方面,不能有太多的個性化設(shè)計,這樣才能達(dá)到組件的復(fù)用性。
市面上也有很多移動端的組件庫,但是使用下來還是有很多痛點(diǎn),比如一些組件庫的設(shè)計風(fēng)格太過個性化,導(dǎo)致組件的復(fù)用性不高;一些組件庫的可配置 API 太少,無法通過簡單的 API 配置出符合業(yè)務(wù)需求的組件;一些組件庫的文檔太過高深或簡陋,使初上手的人很難理解組件的使用方法;一些組件庫的文檔和 Demo 中英混雜,難以查閱;一些組件庫的 Demo 太少或太簡陋,高頻使用時無法直接復(fù)制使用,降低開發(fā)效率等。
在體驗過 Svelte 和 Tailwind 之后,發(fā)現(xiàn)使用它們開發(fā)真的是非常舒服,所以就想著能不能把它們結(jié)合起來,做一個移動端的 UI 組件庫。這樣的話,就能夠在移動端也享受到 Svelte 和 Tailwind 帶來的開發(fā)體驗了。
適用場景
在移動端有一種業(yè)務(wù)場景,應(yīng)用不算復(fù)雜,使用 Vue 或者 React 開發(fā)其實(shí)會顯得「大材小用」了,可能整個應(yīng)用打包之后的 JS 體積也就幾十 KB,但是使用 Vue 或者 React 開發(fā),這兩個庫的基礎(chǔ)大小就超過了幾十 KB,這樣就得不償失了,而且移動端 To C 應(yīng)用體積過大是非常不可取的。但是使用純原生 JS 開發(fā),又會顯得開發(fā)效率低下,這個時候 Svelte 就是一個很好的選擇,它的簡潔語法,使原生 JS 代碼有了響應(yīng)式能力。
關(guān)于開源
除了 IT,這個世界上應(yīng)該沒有任何一個行業(yè)會有這樣一群人,他們把自己的時間和精力投入到一個項目中,然后把這個項目毫無保留地免費(fèi)開源出來,讓全世界的人都可以免費(fèi)使用,而且還會不斷地維護(hù)和更新這個項目,這就是開源社區(qū)的魅力所在。我崇拜這些改變世界的人,我也想成為其中的一員,哪怕只是一粒塵埃。
不要去討論哪些什么國內(nèi)開源環(huán)境糟糕之類的話題,把自己的想法 code 出來,然后開源出來,可能不完善,但有人用有人提 issue,它就是有價值的。開源是一種精神,不需要任何理由,只要你想做,就去做。
結(jié)束
前段時間,一個阿里的朋友看到我在寫這個組件庫,不由發(fā)出感嘆,還在卷組件庫呢!是啊,2023 年了竟然還有人在寫組件庫。但 STDF 還是有一些非常適合的場景,而且它擁有足夠靈活的 API 可供配置,有豐富的示例展示。對比大廠的組件庫,它很弱小但也有其存在的價值。
面對來勢洶洶的 AI,寫代碼這種傾向于固定邏輯的工作可能是最先被 AI 取代的,但是我還是會繼續(xù)寫代碼,因為我喜歡這種創(chuàng)造的過程,我喜歡這種思考的過程,我喜歡這種不斷學(xué)習(xí)的過程,我喜歡這種完成一個功能的成就感。
創(chuàng)意,是 AI 無法取代的。
昨晚和一群高中同學(xué)吃飯,他又提我寫書的玩笑,可惜的是,我的文字細(xì)胞已經(jīng)死了。換個角度,如果將這個組件庫的站點(diǎn)、文檔、示例全部打印出來,牽強(qiáng)一點(diǎn),也可以算是一本書了吧!
對世界永遠(yuǎn)保持敬畏與好奇,生命不息,折騰不止!希望自己永遠(yuǎn)年輕,永遠(yuǎn)熱淚盈眶。
此文由 GitHub Copilot 輔助完成,但是我并不想感謝它。