GridManager 开源历程

GridManager历程

GridManager 启动于2015年02月10日, 不曾想这一坚持已经这么久了。
总想为此记录些什么,但一直未曾动手。
午饭后,公司很安静。带上耳机,听着歌,开始吧。
"我要从南走到北,我还要从白走黑。我要人们都看到我,但不知道我是谁"。
曾经的一个领导和我们说过一句话, 记忆深刻。
"技术不进则死"。
这是一个很好的时代,却又是一个很坏的时代。
我们不再需要像以前一样去解决IE兼容问题(IE: 有人喊我?), 但却有更多的新技术需要不断的学习。

一个选择

"这个插件网上就有, 你随便找上一个copy进来就OK了。"
"网上就有现成的,怎么整了一天还没整好?"

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

从12年开始,开始动手写日常使用到的前端插件。
从抄到改,再到借鉴...
轮播、上传、下拉框、表单验证...

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

那段时间大数据很火, 各种概念各种解释。
然而在这个大数据时代,我看到了对前端而言最直接的就是表格展示。

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

开源描述中,我用如下话语来描述:
"快速、灵活的对Table标签进行实例化,让Table标签充满活力。"
是描述也是目标,是值得去追的一个梦。

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

快速迭代

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

每个周未,每个下班后的点滴时间。 每个午饭后、晚饭前。
随着迭代版本的上升,不断强化功能,渐性优化性能。最终定下以下功能主体:

  • 宽度调整
  • 位置调整
  • 可视化调整
  • 排序功能
  • 分页功能
  • 用户偏好记忆
  • 自动生成序号
  • 自动生成全选
  • 导出数据
  • 快捷右键菜单
  • 国际化配置

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

jQuery free

思考了许久,终于开始,这是一个艰难的开始。
自从10年开始使用jquery以来,一直很钟爱这个类库,简单方便且锋利。
然而时代在变化,老夫一把jquery走天下的时代已经过去了。
期间对js的认知与实践提升明显,并沉淀下名为jTool.js的类库。
很想告诉你或者他,动起手来去实现一个类库,或许在以后的编码时代会因此受益。

重构

多轮迭代后代码的可读性变低,同时ES2015的魅力日渐突显。
然而时代在变化,ES2015终将引领下一代的javascript。
本次重构对之前的功能进行了大刀阔斧(对下不兼容)的修改:

  • 将gulp替换为webpack
  • ES5全面替换为ES2015
  • 将listManager更名为GridManager,至于更名,grid和list哪个才能更好的理解为表格?

增加单元测试

在一次发布中出现了一些意外,虽然仅仅是一些小意外.
从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这两个版本正在等待解决(目前这两个版本已经完成)
项目结构随着功能的调整而出现的不清晰感也需要去重新设计。
...

这个时代下,你我同为追梦人。
时代在变化, 技术在更迭。
愿在技术更迭的浪潮中,你我穿戴着被汗水与浪花打湿的衣钵总能平稳着陆。

你可能感兴趣的:(javascript)