iView 一周年了,同时发布了 2.0 正式版,但这只是开始... - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
Aresn
V2EX    Javascript

iView 一周年了,同时发布了 2.0 正式版,但这只是开始...

  •  
  •   Aresn 2017-07-28 00:25:08 +08:00 7110 次点击
    这是一个创建于 3011 天前的主题,其中的信息可能已经有所发展或是发生改变。

    两年前,我开始接触 Vue.js 框架,当时就被它的轻量、组件化和友好的 API 所吸引。之后我将 Vue.js 和 Webpack 技术栈引入我的公司( TalkingData )可视化团队,并经过一年多的实践,现已成为整个公司的前端开发规范。 与此同时,我开源了 iView 项目,它是基于 Vue.js 的一套高质量 UI 组件库,从设计规范、工程构建到国际化都提供了完整的解决方案,并支持 SSR。在许多志愿者的帮助下,将文档全部翻译为英文,在 Vue 开发者社区颇受欢迎。

    去年的 7 月 28 日,一个名叫 iView(github.com/iview/iview) 的工程立项了,今天正好是它一周岁生日。回想当初只是作为一个团队组件库来开发,风风雨雨经历了一年,已经成为 Vue 社区最受欢迎的组件库之一了,在 GitHub 也收获了近 8000 Star,npm 每月有 10k 多安装。当然,这一切的成果,都离不开公司给予我的支持和 Vue 社区的活跃。

    彩蛋

    既然是纪念日,就来点好玩的吧。我们重新装饰了**iView 官网**,今天开始的一周里,可以在首页发弹幕,来和世界各地的朋友们一起畅( chě)聊( dàn )吧。

    2.0

    iView 一周年,对于开发者来说最好的消息,就是我们终于发布 2.0 的第一个正式版。在过去的 4 个多月里,我们连续发布了 19 个 rc 版,其实早可以发布 2.0 正式版的,并在此基础上迭代。迟迟不发,就是想把最好的一个版本带给大家。当然,即使今天发布了正式版,依然还有不少问题等待解决,一个好的组件库是需要经历不断磨练。

    来回顾一下,从 1.0 到 2.0,iView 有哪些重要改变:

    最重要的当然是支持 Vue 2 了,其次支持了 SSR 和 Nuxt.js ,对常用组件进行了扩展:Table 单元格的渲染基于 Vue 的 Render 函数,并支持展开; Select 支持远程搜索; Cascader 支持异步和搜索。还有 100 多项细节优化。2.0 正式版,更是加强了 Table 组件,优化了其 8 个问题,所有的浮层类组件都增加了 transfer 属性,可以选择是否将其插入到 body 内,使用更灵活。具体的更新内容可以查看更新日志

    聊聊英文版

    上个月,我们已将 iView 文档全部翻译为英文,前前后后进行了 3 个多月才算完成。有了英文版后,更多的国外开发者也参与到 GitHub 讨论之中,相信接下来会有更多来自国外的 contributors。

    上图是来自 Vue 社区一位国外开发者的评价。

    英文版的翻译离不开社区的贡献,在此特别感谢 lcx960324rijnBigChief45 三位热心志愿者。

    版本号的故事

    iView 从 2.0 版本开始,版本代号将以获得过 Apple Design Awards 的游戏或优秀的独立游戏来命名。

    每个开源项目的版本代号都有它的故事。作为一枚热爱 iOS 独立游戏的玩家,每每看到画风精致、剧情动人的好游戏都会流连忘返,推荐给身边的同事,所以用它来命名,也算是对独立游戏的一种支持。

    2.x 的第一个版本( 2.0 )代号是 Leo's Fortune (里奥的财富)。

    这只是开始

    iView 已经很好地帮助前端开发工程师们加速完成中后台业务开发,但作为一个有追求的大数据可视化团队,这仅仅只是一个开始。下半年,TalkingData 可视化团队将继续开源两个重磅级项目:

    • InMap:基于 Canvas 和 WebGL 的地理信息可视化框架
    • InChart:基于 Vue.js 和 eCharts 的图表标准库

    这两个项目都会给数据可视化带来福音,其中值得详细介绍的是 InMap,事实上它的历史要早于 iView,只是一直属于闭源状态,在 TalkingData 内部使用。这次也是鼓足了劲,在 API 和易用性上进行重构后开源。

    在地理可视化的过程中,因为地图的矢量数据不是一次性加载的,矢量数据是随着用户的请求,随着瓦片一起加载到本地的。在这个过程当中存在两部分的计算比较多,限制了可视化绘制的速度,一个就是各种数据的坐标转换,另一个就是各种数据的可视化。目前 InMap 中使用了 web worker 在后台对矢量数据使用多线程计算,保证页面对用户响应的同时对各种数据进行计算,对于其他适合并行计算的坐标数据采用 GPU 进行转换。绘制可视化层使用了 WebGL。

    下图是基于 InMap 实现的一个全 3D 地球,可以实现自传、公转、随意拖拽旋转、放大缩小等立体效果。

    InMap 和 InChart 预计会在数月后和大家见面,敬请期待!

    对开源现状的一些思考

    能够完整参与一个开源项目,见证它从 0 到 1 的改变,对我来说确实是一件幸运的事,因为从这段开源经历里,学到了太多的知识,也结实了很多开发者。开源是一件很有意义的事情,然而很多国内开发者却有一个不好的习惯,他们被统称为“伸手党”。相比很多国内开发者提出的 issues,我更喜欢去解答国外友人的英文 issues,这不是因为英文看起来有多高大上,而是国外朋友的提问都很友善,而且是经过深思熟虑的。在求知的态度礼帽上,这点国人做的确实不好,如果你 watch 了 iView 的项目,每天会收到几十封邮件,其中大多没有按照 issue guide 的要求来问,close 掉,还经常被骂,一阵负能量。试问,这些不按要求问题,还态度恶劣的人,你们为开源做过什么贡献呢?开源是免费,但不是说用了开源产品就是大爷,那么牛逼,干嘛不自己造轮子呢。

    这样的问题不仅仅发生在 iView 上,我同 VUX(知名移动端 Vue 组件库) 的作者也深刻探讨过,在 VUX 的社区也会带有不少类似的负能量。这种不良现象在国内应该还有很多,VUX 的 readme 曾今写的这段仅有的中文,正是写给这部分人看的:

    我相信提 issue 的朋友初衷都是好的,都是来解决问题的,只是聪明的、真正想解决问题的人,都会花费一些时间来认真填写 issue 内容。付出就有回报,任何一个认真的提问,我也会认真的回答,而那些随随便便提的问题,连代码格式化也不会的也会被随随便便关掉。

    开源是世界的,所以请善待 GitHub 社区。

    最佳实践

    从 2016 年下旬开始,TalkingData 的众多新项目开始使用 iView,部分核心项目已逐步开始使用 iView 重构。以下是部分项目的截图:

    使用者的心声

    TalkingData 数据工程师 王祥: 上半年,部门的两条重要产品线 App Analytics 和智能数据市场 (SDMK),用 Vue+iView 完成了产品重构,效果显著。下半年,其它几个重要产品,也计划引入 Vue+iView 技术栈。iView 的引入,保证了各产品线的视觉统一,设计师几乎不需要参与到产品研发过程,降低了人力成本;工程师们可以更专注在业务上,避免了除了业务代码还要维护基础的组件,极大的缩短了产品研发周期。强烈建议采用 Vue 技术栈的团队,也尝试下 iView。感谢 iView !

    TalkingData 数据工程师 杨涛: 从使用 iView 0.9.x 版本到目前的 2.x 版本,见证了 iView 从实现各类组件到丰富组件功能的每一步,使得我们在团队作战中大大提高了项目开发效率。在我们的多个项目中使用了 iView 的各类组件,它完善的文档和示例代码降低了学习成本,同时 iView 也在高频率的更新完善,选择 iView 作为前端 UI 组件简单易用大大加快了项目进度的同时更多的是感受到 iView 的工匠精神。

    汉云优品 产品经理 关静凯: 我是一个爱搞技术的产品经理,在看到 iView 之后,被 iView 整体的 API 和 UX 设计所折服,非常容易上手,起初只是在产品设计上使用 iView 快速实现中后台 Demo,iView 使产品的交互和 UI 保持了高度一致性,在对公司前端团队培训后,逐渐完成了前端工程化,现在公司的产品已经使用了 Vue.js 和 iView 进行了重构。iView 的源代码非常规范,二次开发及其友好,目前正结合公司现有业务,进行了一些组件的添加,主要集中在数据可视化和一些业务组件的封装,iView 给公司带来的不仅仅是前端技术的革新,更重要的是推动了产品迭代的速度,因为成功引入 iView,我也获得了公司层面的支持整合设计和前端组建了 UED 部门。再次感谢 iView 框架带来的便利。

    总结

    接下来要做的事情还有很多,我们会通过 iView 在大量实战项目中的使用,在组件的易用性、稳定性上不断提升和改良,也会在 UI 细节上更加规范、漂亮。

    这里也要特别感谢所有为 iView 项目付出努力的贡献者们,一个好的项目,是需要大家共同创造和维护的。也借此文,呼吁有工匠精神,热爱开源的开发者们能够加入到 iView 项目里来,一起把它打造成世界级优秀组件库。

    福利

    为庆祝 iView 一周年暨 2.0 版发布,**Vue.js 系列课程**一律 6.6 元,持续一周。

    特别感谢

    最后特别感谢以下技术社区长期以来对 iView 开源项目的推广与支持(排名不分先后):

    21 条回复    2017-07-28 16:40:08 +08:00
    janeyuan
        1
    janeyuan  
       2017-07-28 05:55:00 +08:00
    加油啊 ! 一直在用 很方便
    a570295535
        2
    a570295535  
       2017-07-28 06:57:21 +08:00
    为了一个 3D 地球,你也是蛮拼的。。。
    gzlock
        3
    gzlock  
       2017-07-28 07:26:09 +08:00 via Android
    期待 inmap
    mokeyjay
        4
    mokeyjay  
       2017-07-28 08:25:10 +08:00 via Android
    赞!正准备用
    littlexiang
        5
    littlexiang  
       2017-07-28 09:27:06 +08:00 via iPhone
    楼主好人, 一路用下来
    Nuxtjs 也要发布 1.0 了,又可以捣腾了…
    iyour
        6
    iyour  
       2017-07-28 09:30:44 +08:00
    很不错,文档说明也很详细
    xiubin
        7
    xiubin  
       2017-07-28 09:42:17 +08:00
    快被玩坏了。。
    lj61785636
        8
    lj61785636  
       2017-07-28 09:45:11 +08:00
    感谢楼主为开源做的贡献
    Olive
        9
    Olive  
       2017-07-28 09:48:02 +08:00
    弹幕好卡
    justfly
        10
    justfly  
       2017-07-28 09:49:13 +08:00
    新的项目准备用 iView 做前端项目,这一用估计要好几年。
    Patrik
        11
    Patrik  
       2017-07-28 10:02:26 +08:00
    写课设的时候用过 很棒的框架
    printempw
        12
    printempw  
       2017-07-28 10:18:59 +08:00   1
    开源本身是一件开心的事,但是遇上那些伸手党确实会心情郁闷烦躁 :(
    zhoulouzi
        13
    zhoulouzi  
       2017-07-28 10:23:54 +08:00
    手工。
    ryh
        14
    ryh  
       2017-07-28 11:13:23 +08:00
    InChart 能换个 chart js 的绑定么,非百度的-。-
    https://github.com/chartjs/Chart.js 什么的
    omygod
        15
    omygod  
       2017-07-28 11:47:18 +08:00
    这个真不错
    xiqingongzi
        16
    xiqingongzi  
       2017-07-28 11:57:19 +08:00
    支持。很喜欢你的框架,希望可以越走越远
    linuxvivian
        17
    linuxvivian  
       2017-07-28 12:17:04 +08:00
    匠人精神,我喜欢!
    bingwenshi
        18
    bingwenshi  
       2017-07-28 12:24:16 +08:00
    iView 真心好用,十分感谢
    feilaoda
        19
    feilaoda  
       2017-07-28 13:51:37 +08:00
    iView 不错,期待支持 APP
    beyoung
        20
    beyoung  
       2017-07-28 15:32:45 +08:00
    iView support => supports English NOW?
    fzxml
        21
    fzxml  
       2017-07-28 16:40:08 +08:00   1
    支持~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2740 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 07:51 PVG 15:51 LAX 00:51 JFK 03:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86