资讯专栏INFORMATION COLUMN

GridManager 开源历程

honhon / 3291人阅读

摘要:历程启动于年月日不曾想这一坚持已经多天了。每个午饭后晚饭前。期间对的认知与实践提升明显,并沉淀下名为的类库。每次发布前的,成为一种风险把控。在此之前从没有如此的认同单元测试,也相信这终将会成为一种大家都遵守的契约。

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。
本次重构对之前的功能进行了大刀阔斧(对下不兼容)的修改:

将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这两个版本正在等待解决
项目结构随着功能的调整而出现的不清晰感也需要去重新设计。
...

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96223.html

相关文章

  • React 表格组件 GridManager-React

    摘要:基于的封装用于便捷的在中使用除过特性外,其它与相同。刷新更新查询条件其它更多请直接访问查看当前版本的版本的版本 GridManager React 基于 React 的 GridManager 封装, 用于便捷的在 React 中使用GridManager. 除过React特性外,其它API与GridManager API相同。 showImg(https://segmentfault...

    cyixlq 评论0 收藏0
  • 表格组件 GridManager Angular 1.x

    摘要:非必设项筛选条件列表数组对象。格式在使用时该参数为必设项。前端鸡汤前端框架前端相关筛选选中项,字符串默认为。非必设项,选中的过滤条件将会覆盖否为多选布尔值默认为。刷新更新查询条件其它更多请直接访问查看当前版本 GridManager Angular 1.x 基于 Angular 1.x 的 GridManager 封装, 用于便捷的在 Angular 中使用GridManager. s...

    darcrand 评论0 收藏0
  • Vue表格组件--GridManager Vue

    摘要:基于的封装用于便捷的在中使用除过特性外,其它与相同。非必设项筛选条件列表数组对象。格式在使用时该参数为必设项。并且使用服务需要提前通过将注册至全局组件。刷新或更新查询条件或其它更多请直接访问查看当前版本 GridManager Vue 基于 Vue 的 GridManager 封装, 用于便捷的在 Vue 中使用GridManager. 除过Vue特性外,其它API与GridManag...

    khs1994 评论0 收藏0
  • vue表格组件

    摘要:基于的封装用于便捷的在中使用除过特性外,其它与相同。非必设项筛选条件列表数组对象。格式在使用时该参数为必设项。非必设项,选中的过滤条件将会覆盖否为多选布尔值默认为。刷新更新查询条件其它更多请直接访问查看当前版本 GridManager Vue 基于 Vue 的 GridManager 封装, 用于便捷的在 Vue 中使用GridManager. 除过Vue特性外,其它API与GridM...

    ysl_unh 评论0 收藏0
  • GridManager 分页详解

    摘要:分页原理首先,注意了表格分页是需要后端支撑的以下几个步骤实现分页由前端发送包含分页信息的参数,这是由自动实现的。这时可以通过初始化配置对数据进行重组。 showImg(https://segmentfault.com/img/remote/1460000019455185?w=2302&h=1016); GridManager 分页原理: 首先, 注意了: GridManager 表格...

    QLQ 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<