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