摘要:未雨綢繆方能在關(guān)鍵時刻拯救自己開源這個項目的另一個緣由是有些事我都已忘記,但我現(xiàn)在還記得,在一個晚上,同事阿左問我,今天怎么不開心。由于情況緊急,我選擇求助于同在加班的阿左,沒想到,阿左居然在項目閑時自己封裝了一個庫。
前言很高興和大家見面!
上周五我在掘金發(fā)表了 《真香警告:即使不用餓了么訂餐,也請務(wù)必收藏好該庫!》,文中主角 Linkage-RecyclerView 原本只是為 《RxJava魔法師》 這個項目的需求而存在的,沒想到在各路讀者的積極參與下,讓一個本來默默無聞的項目,在內(nèi)容發(fā)布的第三天,登陸 GitHub 今日趨勢 Java 專區(qū)榜單前三,并在 5 天內(nèi)做到 GitHub star 從 0 飆至 666。(不要慌,項目鏈接文末已給出)
在此我首先特別感謝熱心讀者的見證和參與。掘金社區(qū)、WanAndroid 讀者對源碼的認(rèn)真閱讀和交流,讓我備受感動。
開源這個項目的初衷開源這個項目的初衷有兩個,一個是方便讀者借助該項目深入理解,當(dāng)我們?yōu)轫椖窟x擇架構(gòu)時,選材的依據(jù)是什么。
就我當(dāng)前的認(rèn)知來看,項目開發(fā),無非就是顧及 “配置解耦” 和 “職責(zé)分離” 這兩件事。
對于通用必用的控件庫和組件庫,我們可以將其抽取成模塊,做成可供多個項目依賴的第三方庫。
第三方庫的目標(biāo)是讓使用者無需了解內(nèi)部邏輯、通過外部簡單的配置即可輕松上手,因而第三方庫適合使用 MVP 架構(gòu),來實現(xiàn) “配置解耦”。
對于多人參與的主干工程,我們需要確保 UI 和 業(yè)務(wù)之間可以分工給不同的人協(xié)作,這就要求架構(gòu)必須具備 “關(guān)注點分離(SoC)” 或 “職責(zé)分離(SoD)” 的特性。
因而我們可以在主干工程中采用目前主流的關(guān)注點分離架構(gòu) JetPack MVVM,或者由我自主設(shè)計并在公司項目重構(gòu)中采用的職責(zé)分離的 VIABUS Architecture。
開源這個項目的另一個緣由是:
有些事我都已忘記,
但我現(xiàn)在還記得,
在一個晚上,
同事阿左問我,今天怎么不開心。
...
我說在我的想象中,有一個開源庫,
與眾不同最時尚,接入肯定棒,
整個 GitHub 找遍所有的 Repo,都沒有。
他說將來會找到的,
時間,時間,會給我答案。。
哈哈,開玩笑的。緣于,公司某個項目中的另一個需求:為多級聯(lián)動表單動態(tài)綁定數(shù)據(jù)。
用過 Spinner 的讀者都知道,原生的 Spinner 在 onSelectItem 回調(diào)中存在延遲的 bug,雖然延遲只有 100ms,但對于哼哧哼哧地裝載、綁定、協(xié)調(diào)表單數(shù)據(jù)的多級聯(lián)動表單來說,實在是致命的錯誤。
因而在那天晚上加班改需求的時候,我非常盼望著找到一款當(dāng)下就可以使用的 PopupWindow + RecyclerView 實現(xiàn)的第三方 Spinner 開源庫。
然而,現(xiàn)實卻和我開了個大玩笑,我尋遍了 GitHub 倉庫,嘗試了若干個項目,都是隨便糊弄兩下、高度耦合的個人練手項目,這對于急著改需求的我來說,無異于火上澆油。
由于情況緊急,我選擇求助于同在加班的阿左,沒想到,阿左居然在項目閑時自己封裝了一個 Spinner 庫。
雖然一眼望去,Adapter 三方邏輯的解耦程度還有待提高,但這個庫既然能獨立存在、通過幾行代碼即可調(diào)用,對于彼時的我來說,就已經(jīng)是最豐盛、最美的食物。
于是我毫不猶豫地將該庫用在了項目上,在幾經(jīng)嘗試后,表單初始化數(shù)據(jù)終于如愿地正常加載。
如何在 5 天內(nèi)使 GitHub star 從 0 飆到 666最后總結(jié)一下大家都關(guān)心的,如何讓自己的作品能被更多地訪問、讓 GitHub Star 數(shù)一路爬升:
———— 向用戶提供價值。
什么是價值?人們對一件事物有需求,這件事因而有了價值。
人們有什么需求?人們面臨著什么困境?這是每個想要服務(wù)于大眾的人都要首先考慮明白的。
換言之,我們所做的每一件事,都務(wù)必精準(zhǔn)地化解目標(biāo)用戶的痛點,唯有如此,才有機會在紛雜的信息中脫穎而出,讓作品受到用戶的青睞和珍視。
每個人服務(wù)的領(lǐng)域不同、目標(biāo)用戶也不同,因而用戶痛點需要自己在日常生活中投入大量精力去思考和領(lǐng)悟,這也是為什么文章我一周最多只更新一篇的原因。
在 Linkage-RecyclerView 開源的短短幾天里,我累計提交了 49 次代碼、多達(dá) 9k 行的代碼變動。
用戶不是傻子,代碼是好是壞,一眼就能看出來。唯有一絲不茍地對待工程設(shè)計和編碼,才有機會讓用戶感到確定和安心。
想讓精心打磨的作品讓更多的用戶接觸到,就要勇于在社交場合展示自己的價值。產(chǎn)品最終都是服務(wù)于人,務(wù)必多與用戶溝通,讓產(chǎn)品和個人品牌往更好的方向發(fā)展。
當(dāng)然,口說無憑,以下貼上 別處看不到的、且大家喜聞樂見的 群聊學(xué)(chui)習(xí)(shui)交流截圖:
考慮到我在技術(shù)社區(qū)發(fā)文,應(yīng)以技術(shù)分享和經(jīng)驗交流為主。想一睹群聊現(xiàn)場的朋友,請移一步到我的同名公眾號閱讀原文~
GitHub 項目鏈接:github.com/KunMinX/Lin…
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/7037.html
摘要:未雨綢繆方能在關(guān)鍵時刻拯救自己開源這個項目的另一個緣由是有些事我都已忘記,但我現(xiàn)在還記得,在一個晚上,同事阿左問我,今天怎么不開心。由于情況緊急,我選擇求助于同在加班的阿左,沒想到,阿左居然在項目閑時自己封裝了一個庫。 前言 很高興和大家見面! 上周五我在掘金發(fā)表了 《真香警告:即使不用餓了么訂餐,也請務(wù)必收藏好該庫!》,文中主角 Linkage-RecyclerView 原本只是為 ...
摘要:是為結(jié)果導(dǎo)向型人群開設(shè)的深度學(xué)習(xí)在線課程。但是最關(guān)鍵的是,我想通過構(gòu)建簡單的深度學(xué)習(xí)解決方案來實現(xiàn)理論和實踐的相結(jié)合。我的目標(biāo)是在一天結(jié)束前進入排名的前。我的時間都用于學(xué)習(xí)庫組織數(shù)據(jù)和評估結(jié)果都是一些與深度學(xué)習(xí)無關(guān)的簡單流程。 Fast.ai是Jeremy Howard為結(jié)果導(dǎo)向型人群開設(shè)的深度學(xué)習(xí)在線課程。我讀過很多關(guān)于機器學(xué)習(xí)的書,也參加過不少這方面的課程,但我認(rèn)為Fast.ai是迄今為...
摘要:作者小魚干機械臂可能在醫(yī)療劇中看過,可以用來執(zhí)行一些精細(xì)化的操作,例如縫合之類的。地址周榜新編程語言本周增長數(shù)一種正在開發(fā)中的編譯型編程語言。地址資源監(jiān)控本周增長數(shù)它是一個自托管的監(jiān)控工具,類似于。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:...
閱讀 769·2023-04-25 19:43
閱讀 4022·2021-11-30 14:52
閱讀 3855·2021-11-30 14:52
閱讀 3909·2021-11-29 11:00
閱讀 3839·2021-11-29 11:00
閱讀 3949·2021-11-29 11:00
閱讀 3613·2021-11-29 11:00
閱讀 6310·2021-11-29 11:00