摘要:歷程啟動(dòng)于年月日不曾想這一堅(jiān)持已經(jīng)多天了。每個(gè)午飯后晚飯前。期間對(duì)的認(rèn)知與實(shí)踐提升明顯,并沉淀下名為的類庫(kù)。每次發(fā)布前的,成為一種風(fēng)險(xiǎn)把控。在此之前從沒(méi)有如此的認(rèn)同單元測(cè)試,也相信這終將會(huì)成為一種大家都遵守的契約。
GridManager歷程
GridManager 啟動(dòng)于2015年02月10日, 不曾想這一堅(jiān)持已經(jīng)1200多天了。一個(gè)選擇
總想為此記錄些什么,但一直未曾動(dòng)手。
午飯后,公司很安靜。帶上耳機(jī),聽(tīng)著歌,開(kāi)始吧。
"我要從南走到北,我還要從白走黑。我要人們都看到我,但不知道我是誰(shuí)"。
曾經(jīng)的一個(gè)領(lǐng)導(dǎo)和我們說(shuō)過(guò)一句話, 記憶深刻。
"技術(shù)不進(jìn)則死"。
這是一個(gè)很好的時(shí)代,卻又是一個(gè)很壞的時(shí)代。
我們不再需要像以前一樣去解決IE兼容問(wèn)題(IE: 有人喊我?), 但卻有更多的新技術(shù)需要不斷的學(xué)習(xí)。
"這個(gè)插件網(wǎng)上就有, 你隨便找上一個(gè)copy進(jìn)來(lái)就OK了。"
"網(wǎng)上就有現(xiàn)成的,怎么整了一天還沒(méi)整好?"
這些所謂的現(xiàn)成的插件,在引入項(xiàng)目后才會(huì)暴露出各種需要投入精力的問(wèn)題。
或多或少,或簡(jiǎn)或易。
從12年開(kāi)始,開(kāi)始動(dòng)手寫(xiě)日常使用到的前端插件。
從抄到改,再到借鑒...
輪播、上傳、下拉框、表單驗(yàn)證...
會(huì)有成就感,但也會(huì)覺(jué)著太簡(jiǎn)單。
那段時(shí)間大數(shù)據(jù)很火, 各種概念各種解釋。
然而在這個(gè)大數(shù)據(jù)時(shí)代,我看到了對(duì)前端而言最直接的就是表格展示。
當(dāng)碼下GridMananager的第一行,很清楚這將會(huì)提升自我,就像ztree和ueditor的作者一樣。
開(kāi)源描述中,我用如下話語(yǔ)來(lái)描述:
"快速、靈活的對(duì)Table標(biāo)簽進(jìn)行實(shí)例化,讓Table標(biāo)簽充滿活力。"
是描述也是目標(biāo),是值得去追的一個(gè)夢(mèng)。
彼時(shí)追人夢(mèng), 此時(shí)依然是。
快速迭代我黨領(lǐng)導(dǎo)人號(hào)召我們: "擼起袖子加油干"
每個(gè)周未,每個(gè)下班后的點(diǎn)滴時(shí)間。 每個(gè)午飯后、晚飯前。
隨著迭代版本的上升,不斷強(qiáng)化功能,漸性優(yōu)化性能。最終定下以下功能主體:
寬度調(diào)整
位置調(diào)整
可視化調(diào)整
排序功能
分頁(yè)功能
用戶偏好記憶
自動(dòng)生成序號(hào)
自動(dòng)生成全選
導(dǎo)出數(shù)據(jù)
快捷右鍵菜單
國(guó)際化配置
當(dāng)列出這些功能時(shí),我更多看到的是對(duì)應(yīng)功能開(kāi)中時(shí)遇到的點(diǎn)滴,是當(dāng)時(shí)的很多難點(diǎn)被踩在腳下的那種快感。
jQuery free思考了許久,終于開(kāi)始,這是一個(gè)艱難的開(kāi)始。
自從10年開(kāi)始使用jquery以來(lái),一直很鐘愛(ài)這個(gè)類庫(kù),簡(jiǎn)單方便且鋒利。
然而時(shí)代在變化,老夫一把jquery走天下的時(shí)代已經(jīng)過(guò)去了。
期間對(duì)js的認(rèn)知與實(shí)踐提升明顯,并沉淀下名為jTool.js的類庫(kù)。
很想告訴你或者他,動(dòng)起手來(lái)去實(shí)現(xiàn)一個(gè)類庫(kù),或許在以后的編碼時(shí)代會(huì)因此受益。
多輪迭代后代碼的可讀性變低,同時(shí)ES2015的魅力日漸突顯。
然而時(shí)代在變化,ES2015終將引領(lǐng)下一代的javascript。
本次重構(gòu)對(duì)之前的功能進(jìn)行了大刀闊斧(對(duì)下不兼容)的修改:
將gulp替換為webpack
ES5全面替換為ES2015
將listManager更名為GridManager,至于更名,grid和list哪個(gè)才能更好的理解為表格?
增加單元測(cè)試在一次發(fā)布中出現(xiàn)了一些意外,雖然僅僅是一些小意外.
從issues中的反饋意識(shí)到這是一個(gè)很嚴(yán)重的問(wèn)題,是急需需要解決的問(wèn)題。
在一系列的反復(fù)調(diào)整之后,最終形成karma + jasmine + webapck + coverage的測(cè)試體系。
每次發(fā)布前的npm run test, 成為一種風(fēng)險(xiǎn)把控。
在此之前從沒(méi)有如此的認(rèn)同單元測(cè)試,也相信這終將會(huì)成為一種大家都遵守的契約。
這些年前端框架層出不窮
angularjs剛達(dá)成熟練工,react勢(shì)頭就上來(lái)了。
react上手寫(xiě)完兩個(gè)項(xiàng)目, angularjs割掉了兩字母進(jìn)入了angular2.0時(shí)代。
還沒(méi)來(lái)的急看angular2.0+typescript, Vue強(qiáng)勢(shì)崛起。
好吧,Vue項(xiàng)目練一練, angular2.0先放一放。
時(shí)代在變化...
自從GridManager完成jquery free之后,一度蜜汁自信: "不依賴任何框架,所以在各框架下都可以使用"。
然而什么都行,就又代表著什么都不行。
雖然使用沒(méi)問(wèn)題,但是對(duì)框架模版卻無(wú)法解析。
隨后推出gridmanager-vue, 用于解決在vue框架中的痛點(diǎn).
然而當(dāng)0.1.0版本發(fā)布時(shí),短時(shí)間的興奮過(guò)后更多的感到的是壓力。
angular,react這兩個(gè)版本正在等待解決
項(xiàng)目結(jié)構(gòu)隨著功能的調(diào)整而出現(xiàn)的不清晰感也需要去重新設(shè)計(jì)。
...
這個(gè)時(shí)代下,你我同為追夢(mèng)人。
時(shí)代在變化, 技術(shù)在更迭。
愿在技術(shù)更迭的浪潮中,你我穿戴著被汗水與浪花打濕的衣缽總能平穩(wěn)著陸。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96223.html
摘要:基于的封裝用于便捷的在中使用除過(guò)特性外,其它與相同。刷新更新查詢條件其它更多請(qǐng)直接訪問(wèn)查看當(dāng)前版本的版本的版本 GridManager React 基于 React 的 GridManager 封裝, 用于便捷的在 React 中使用GridManager. 除過(guò)React特性外,其它API與GridManager API相同。 showImg(https://segmentfault...
摘要:非必設(shè)項(xiàng)篩選條件列表數(shù)組對(duì)象。格式在使用時(shí)該參數(shù)為必設(shè)項(xiàng)。前端雞湯前端框架前端相關(guān)篩選選中項(xiàng),字符串默認(rèn)為。非必設(shè)項(xiàng),選中的過(guò)濾條件將會(huì)覆蓋否為多選布爾值默認(rèn)為。刷新更新查詢條件其它更多請(qǐng)直接訪問(wèn)查看當(dāng)前版本 GridManager Angular 1.x 基于 Angular 1.x 的 GridManager 封裝, 用于便捷的在 Angular 中使用GridManager. s...
摘要:基于的封裝用于便捷的在中使用除過(guò)特性外,其它與相同。非必設(shè)項(xiàng)篩選條件列表數(shù)組對(duì)象。格式在使用時(shí)該參數(shù)為必設(shè)項(xiàng)。并且使用服務(wù)需要提前通過(guò)將注冊(cè)至全局組件。刷新或更新查詢條件或其它更多請(qǐng)直接訪問(wèn)查看當(dāng)前版本 GridManager Vue 基于 Vue 的 GridManager 封裝, 用于便捷的在 Vue 中使用GridManager. 除過(guò)Vue特性外,其它API與GridManag...
摘要:基于的封裝用于便捷的在中使用除過(guò)特性外,其它與相同。非必設(shè)項(xiàng)篩選條件列表數(shù)組對(duì)象。格式在使用時(shí)該參數(shù)為必設(shè)項(xiàng)。非必設(shè)項(xiàng),選中的過(guò)濾條件將會(huì)覆蓋否為多選布爾值默認(rèn)為。刷新更新查詢條件其它更多請(qǐng)直接訪問(wèn)查看當(dāng)前版本 GridManager Vue 基于 Vue 的 GridManager 封裝, 用于便捷的在 Vue 中使用GridManager. 除過(guò)Vue特性外,其它API與GridM...
摘要:分頁(yè)原理首先,注意了表格分頁(yè)是需要后端支撐的以下幾個(gè)步驟實(shí)現(xiàn)分頁(yè)由前端發(fā)送包含分頁(yè)信息的參數(shù),這是由自動(dòng)實(shí)現(xiàn)的。這時(shí)可以通過(guò)初始化配置對(duì)數(shù)據(jù)進(jìn)行重組。 showImg(https://segmentfault.com/img/remote/1460000019455185?w=2302&h=1016); GridManager 分頁(yè)原理: 首先, 注意了: GridManager 表格...
閱讀 2367·2021-10-08 10:04
閱讀 1144·2021-09-03 10:40
閱讀 1175·2019-08-30 15:53
閱讀 3335·2019-08-30 13:13
閱讀 2952·2019-08-30 12:55
閱讀 2310·2019-08-29 13:21
閱讀 1421·2019-08-26 12:12
閱讀 2784·2019-08-26 10:37