GridManager 开源历程

gridmanager

拭目以待 发布于

GridManager历程

GridManager 启动于2015年02月10日, 不曾想这一坚持已经1200多天了。

总想为此记录些什么,但一直未曾动手。

午饭后,公司很安静。带上耳机,听着歌,开始吧。

"我要从南走到北,我还要从白走黑。我要人们都看到我,但不知道我是谁"。

曾经的一个领导和我们说过一句话, 记忆深刻。

"技术不进则死"。

这是一个很好的时代,却又是一个很坏的时代。

我们不再需要像以前一样去解决IE兼容问题(IE: 有人喊我?), 但却有更多的新技术需要不断的学习。



一个选择

"这个插件网上就有, 你随便找上一个copy进来就OK了。"

"网上就有现成的,怎么整了一天还没整好?"


这些所谓的现成的插件,在引入项目后才会暴露出各种需要投入精力的问题。

或多或少,或简或易。


从12年开始,开始动手写日常使用到的前端插件。

从抄到改,再到借鉴...

轮播、上传、下拉框、表单验证...


会有成就感,但也会觉着太简单。


那段时间大数据很火, 各种概念各种解释。

然而在这个大数据时代,我看到了对前端而言最直接的就是表格展示。



当码下GridMananager的第一行,很清楚这将会提升自我,就像ztree和ueditor的作者一样。


开源描述中,我用如下话语来描述:

"快速、灵活的对Table标签进行实例化,让Table标签充满活力。"

是描述也是目标,是值得去追的一个梦。


彼时追人梦, 此时依然是。



快速迭代

我党领导人号召我们: "撸起袖子加油干"


每个周未,每个下班后的点滴时间。 每个午饭后、晚饭前。

随着迭代版本的上升,不断强化功能,渐性优化性能。最终定下以下功能主体:

当列出这些功能时,我更多看到的是对应功能开中时遇到的点滴,是当时的很多难点被踩在脚下的那种快感。


jQuery free

思考了许久,终于开始,这是一个艰难的开始。

自从10年开始使用jquery以来,一直很钟爱这个类库,简单方便且锋利。

然而时代在变化,老夫一把jquery走天下的时代已经过去了。

期间对js的认知与实践提升明显,并沉淀下名为jTool.js的类库。

很想告诉你或者他,动起手来去实现一个类库,或许在以后的编码时代会因此受益。


重构

多轮迭代后代码的可读性变低,同时ES2015的魅力日渐突显。

然而时代在变化,ES2015终将引领下一代的javascript。

本次重构对之前的功能进行了大刀阔斧(对下不兼容)的修改:


增加单元测试

在一次发布中出现了一些意外,虽然仅仅是一些小意外.

从issues中的反馈意识到这是一个很严重的问题,是急需需要解决的问题。

在一系列的反复调整之后,最终形成karma + jasmine + webapck + coverage的测试体系。

每次发布前的`npm run test`, 成为一种风险把控。

在此之前从没有如此的认同单元测试,也相信这终将会成为一种大家都遵守的契约。



为了框架

这些年前端框架层出不穷

angularjs刚达成熟练工,react势头就上来了。

react上手写完两个项目, angularjs割掉了两字母进入了angular2.0时代。

还没来的急看angular2.0+typescript, Vue强势崛起。

好吧,Vue项目练一练, angular2.0先放一放。

时代在变化...


自从GridManager完成jquery free之后,一度蜜汁自信: "不依赖任何框架,所以在各框架下都可以使用"。

然而什么都行,就又代表着什么都不行。

虽然使用没问题,但是对框架模版却无法解析。


随后推出gridmanager-vue, 用于解决在vue框架中的痛点.

然而当0.1.0版本发布时,短时间的兴奋过后更多的感到的是压力。

angular,react这两个版本正在等待解决

项目结构随着功能的调整而出现的不清晰感也需要去重新设计。

...


这个时代下,你我同为追梦人。

时代在变化, 技术在更迭。

愿在技术更迭的浪潮中,你我穿戴着被汗水与浪花打湿的衣钵总能平稳着陆。