Lin UI 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Lin UI 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Lin UI 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 JavaScript HTML/CSS
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发UI组件库
开源组织
地区 国产
投 递 者 是小桔啦
适用人群 未知
收录时间 2020-06-08

软件简介

Lin UI 是由林间有风团队精心打造的一套微信小程序组件库,组件丰富、设计优美,并且拥有完整的商业案例,是您开发微信小程序的不二选择。

特点

现在市面上已经有了许多组件库:Vant Weapp、iView Weapp、Color UI、Wuss Weapp、Wux Weapp 等等等等,他们每一套也都能称得上是成熟的组件库。那我为什么还要使用 Lin UI 呢?

Lin UI 吸引我的地方主要有如下几点:

  • 使用简单
  • 设计好看
  • 组件丰富
  • 反馈及时

设计好看

Lin UI 的另一大特点就是视觉设计出众,因为林间有风有专业的 UI 设计师对组件样式进行设计,视觉方面甩其他样式靠开发者自己设计的组件库不止一条街。

文章开头,我罗列了一堆组件,其中有一套,主打视觉,那就是 Color UI,也挺好看(Color UI 的作者也曾是一名设计师)。但是 Color 是一套 css 库,并不是组件库,至于具体区别,可以 Google 一下。

我们先来看几个反面例子,这么“朴实无华”的样式,你真的喜欢吗

再来看一下 Lin Ui 是什么样子

组件丰富

Lin UI 一共包含 54 个组件,不管你用于什么场景,基本都可以满足你 90% 的需求,剩下的 10% ,可以通过提 Issue 的方式及时得到解决

使用简单

开发过小程序的开发者可能都知道,小程序相比传统 Web 来说,会简单很多,因为我们不需要去处理多端设备上的屏幕兼容问题,这是小程序的一个优势。但是,如果因为引入一套组件库,让你失去了开发简单这项优势,那还值得去使用它吗?

Vant Weapp 是业内非常成熟的一套组件库,它的开发也历经了很长的周期。但是,在我看来,Vant Weapp 的一大缺点就是组件源码非常复杂。这种复杂并不是说他的逻辑有多复杂,而是 Vant Weapp 对代码做了大量的封装,我们看一下下面的代码:

import { VantComponent } from '../common/component';
import { button } from '../mixins/button';
import { openType } from '../mixins/open-type';
VantComponent({
  mixins: [button, openType],
  data: {
    baseStyle: ''
  }
)}

这是 Vant Weapp 的 Button 组件部分源码,我们知道,Button 组件几乎是没有业务逻辑的,但是它却引入了 VantComponentbuttonopenType三个 ts 文件。

是不是一脸懵逼?VantComponent是啥?小程序原生的Component呢?button又是啥?openType又是什么鬼?甚至源码还是用 TypeScript 写的,我写个小程序还得先去学一遍 TypeScript ?

如果你刚接触小程序和 Vant Weapp,这种高度封装的特性会导致一个非常严重的问题:当你在开发中遇到一个文档解决不了的问题想翻看源码时,你会发现你看不懂,你必须得理解其整套设计思想才能看懂其中每个组件的逻辑。很浪费时间对不对?

Lin UI 就完全不存在这个问题,只要你懂 js 识字就能看懂源码,不信你看

Component({
  properties: {
    /**
     * 折叠面板类型
     */
    type: {
      type: String,
      value: 'normal'
    },
  },
  methods: {
    /**
     * 关闭所有打开的collapse-item
     */
    foldAllExpandItem(collapseItem) {
      for (let i = 0; i < this.data._expandItems.length; i++) {
        if (collapseItem !== this.data._expandItems[i]) {
          this.data._expandItems[i].foldContent();
        }
      }
      this.data._expandItems = [];
    }
});

这是 Lin UI IndexList 组件的源码,因为篇幅问题,只截取了部分。为什么说只要识字就能看懂,因为我们对方法进行了详细的注释,并且没有对微信原生 api 进行二次封装,完全原生的写法,保证你能看懂源码,这么贴心,就问你感不感动!

总结:如果你非常熟悉小程序的各种 api 、熟悉 ts、并且在遇见 bug 时有耐心去理解高度封装的设计思想,那么你可以使用 Vant Weapp。反之,如果你刚接触小程序,或者不会 ts 、在遇见 bug 时想要以最快的速度解决 bug,那么 Lin UI 会给你最舒适的开发体验。

反馈及时

一个开源项目,其活跃度是非常重要的。反馈的 Bug 能否得到及时的解决,有好的想法能否的项目作者接纳并加入项目之中,以及使用这个项目的人数。这三点是在进行技术选型时必须要考虑的问题。

Lin UI 的反馈效率非常高,Issue 反馈的 Bug 平均能在 24 小时内得到解决,这已经是非常高的效率了。相比 Vant Weapp,因为其维护者都是在职开发者,所以时间并不会太充裕,Issue 处理速度肯定也会慢于 Lin UI 的。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(30) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
30 评论
424 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部