作者:萧俊瑄俊明纬伦 | 来源:互联网 | 2023-08-31 12:19
两年前,我最先打仗Vue.js框架,当时就被它的轻量、组件化和友爱的API所吸收。以后我将Vue.js和Webpack手艺栈引入我的公司(TalkingData)可视化团队,并经由
两年前,我最先打仗 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 社区一名外洋开辟者的评价。
英文版的翻译离不开社区的孝敬,在此特别谢谢 lcx960324、rijn 和 BigChief45 三位热情志愿者。
版本号的故事
iView 从 2.0 版本最先,版本代号将以获得过 Apple Design Awards 的游戏或优异的自力游戏来定名。
每一个开源项目的版本代号都有它的故事。作为一枚酷爱 iOS 自力游戏的玩家,往往看到画风细腻、剧情感人的好游戏都邑恋恋不舍,推荐给身旁的同事,所以用它来定名,也算是对自力游戏的一种支撑。
2.x 的第一个版本(2.0)代号是 Leo’s Fortune(里奥的财产)。
这只是最先
iView 已很好地协助前端开辟工程师们加快完成中背景营业开辟,但作为一个有寻求的大数据可视化团队,这仅仅只是一个最先。下半年,TalkingData 可视化团队将继承开源两个重磅级项目:
这两个项目都邑给数据可视化带来福音,个中值得细致引见的是 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 开源项目的推行与支撑(排名不分前后):
掘金 – 一个协助开辟者生长的社区
码云 – 专业、高效的代码托管 · 合作开辟平台
Laravel China – 高品质的 Laravel 和 PHP 开辟者社区
SegmentFault – 中国抢先的开辟者手艺社区
前端早读课