[React Native] mcloud-mobile 組件發(fā)布

在前端的開發(fā)過程中,我們時常會使用一些第三方的組件庫。

1

這些組件庫給我們的開發(fā)提供了許多便利,但是也在一定程度上限制了開發(fā)與設(shè)計。為了打破這些限制,同時使用組件化開發(fā)的思想來優(yōu)化與規(guī)范開發(fā)與設(shè)計,從而使產(chǎn)品能夠在細(xì)節(jié)上更加優(yōu)美,我們在8.0版本開發(fā)之初開發(fā)了一套通用化的組件庫 mcloud-mobile 。

組件庫涵蓋了我們開發(fā)過程中經(jīng)常用到的Button,List,Modal等近二十種組件,提供了充足便利的屬性與方法,使用便捷,可以極大的減少代碼量。此外本組件庫還適配了 iOS 最新的黑夜模式。在開發(fā)的過程中,我們使用 ESLINT 規(guī)范代碼格式,使用 PR 形式提交代碼,保證代碼質(zhì)量。開發(fā)完成后,我們決定發(fā)揚互聯(lián)網(wǎng)精神,將此倉庫開源至 npm 與 GitHub,配備了完整的說明文檔與運行實例,希望此倉庫不僅僅是用于我們自己的開發(fā),也同時能夠幫助到更多的開發(fā)者。

集成方式

npm install mcloud-mobile

react-native link

API:https://troila-mobile.github.io/mCloud-Design-Mobile/docs/Button

2

背景

卓朗科技的打卡助手react-native 實現(xiàn)主業(yè)務(wù)開發(fā),我們的產(chǎn)品即將面臨version 8.0的產(chǎn)品迭代,我們面臨的主要問題是view層的大改版和old code的歷史包袱,我們在曾經(jīng)使用很多第三方的view library,But 這些都無法滿足我們的全部定制化需求,So 經(jīng)過團隊內(nèi)部的討論后,我們決定由我們 (troila-daka-mobile團隊) 來自己實現(xiàn)一套view library

需求

  • 獨立的定制化風(fēng)格(由我們的UED同事重新繪制的打卡助手8.0Design
  • 便于使用的拓展性(一些第三方組件對于屬性和樣式的拓展性不友好)
  • 支持iOS13Dark Mode(為了更加友好的用戶體驗,打卡助手8.0支持了Dark Mode

實現(xiàn)

在這樣的背景和需求之下,我們的mCloud-Design-Mobile誕生了。

我們的mCloud-Design-Mobile是開源的,分享給更多的開發(fā)者使用,也希望有更多的開發(fā)者和我們一起共同維護(hù)這個倉庫

Github: https://github.com/troila-mobile/mCloud-Design-Mobile

Npm: https://www.npmjs.com/package/mcloud-mobile

Website: https://troila-mobile.github.io/mCloud-Design-Mobile/

3

目前實現(xiàn)的組件

組件 描述
Button 按鈕
Modal 彈窗
Marquee 滾動文字
SearchBar 搜索欄
Checkbox 復(fù)選框
Switch 滑動開關(guān)
SegmentedControl 分段器
NoticeBar 提示信息
Radio 單選框
InputItem 單行文本輸入
Textarea 多行文本輸入
List 列表
Badge 徽標(biāo)數(shù)
Card 卡片
Label 標(biāo)簽
Picker 選擇器
DatePicker 日期選擇器
EmptyView 空顯示
Tabs 標(biāo)簽頁
ActionSheet 動作面板
Avatar 頭像
Stepper 步進(jìn)器
ShareSheet 分享
ActivityIndicator 活動指標(biāo)
CountDownView 倒計時
Steps 分步顯示

文檔:

4

致謝

我們在開發(fā)的初期深入思考了對于整體樣式的統(tǒng)一性和外部樣式的可拓展性,同時我們也借鑒了一些第三方組件如@ant-design/react-native的一些開發(fā)思想,并且結(jié)合了我們的dark mode的需求,來實現(xiàn)整體的效果。

在組件搭建完成后,為了方便開發(fā)者閱讀和使用,我們使用了docusaurus來搭建website,使用expo snack來在web端模擬展示組件樣式。

最后

我們在最初尋找了社區(qū)內(nèi)支持dark mode的組件,可惜并沒有找到,所以我們自己開始造,我們曾經(jīng)在社區(qū)內(nèi)獲得了非常多的資源和支持,現(xiàn)在我們也開始貢獻(xiàn)給社區(qū),盡管它可能還比較初期,一些功能還不完善,但我們會不斷的維護(hù)這個倉庫,幫助更多的開發(fā)者。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容