从大学毕业工作两年多了,前一年大多在做公司的2B项目,所以也就没啥好说的。最近一年做了一些面向开源和面向用户的项目,倒是可以吹一吹说一说。

UUI:功能优先的通用 UI 组件库

UUI 是一个功能优先的通用 UI 组件库,基于 React 实现(不支持 Vue)。目前开发程度也算是勉强能用了,还需要花很多的时间和精力实现一些组件的高级功能,而且细节也需要一步一步完善。

UUI Screenshot

UUI 和其他的一些主流 UI 库不太一样,像是 Element UI 或者 Ant Design 这类的 UI 框架,大都有自己非常强烈的风格样式主张。

就拿 Ant Design 举例,这个项目专门有一个设计页面,里面写明了风格设计规范,比如应该用怎样的布局方案,色彩选择,用多少阴影,一应俱全,这样一来,整个项目的组件都会非常的统一,协调。这是好事,但是这并不代表着它适合于任何场景。对于像是做后台页面来说,可能 Ant Design 是非常非常适合的,但是对于一些面向消费者用户的时候,就不太合适了。因为有可能你们项目组设计师们设计了一些比较有个性的网页时,再使用 Ant Design 的时候,就会发现定义样式变得非常的痛苦。

UUI 的主要设计思路就是,尽可能地提供给开发者自定义样式风格的自由,从一开始就考虑到开发者会去定制组件的样式。这样一来,UI 库的预置就显得不那么重要了。这也是为什么 UUI 的组件看上去丑丑的(笑

在功能上的开发优先级更高,在开发组件的时候也要考虑到以后开发者自定义的时候更加的方便,组件内部 Elements 的结构安排也有所考虑。

最主要的用法就是在组件上传入一个叫 customize 的 Prop,可以干很多事情,比如:

<Switch
  value={checked}
  onChange={(value) => { setChecked(value); }}
  customize={{
    Button: {
      Root: {
        extendStyle: {
          backgroundColor: checked ? '#ed8936' : 'rgba(0,0,0,.25)',
          border: 'none',
        }
      }
    },
    Thumb: {
      extendStyle: {
        backgroundColor: 'white',
      }
    }
  }}
>
</Switch>

更多的介绍可以看看 UUI 的文档:https://github.com/HackPlan/UUI/blob/master/docs/PRINCIPLE.zh-CN.md

另外还有一个项目 uui-admin-template 也在开发中,不过目前开发进度还算比较早期。

图压:简单易用的图片压缩软件

UUI 是一直在开发的,也不算是全职开发,只是一边开发着其他项目,一边完善 UUI。图压这个软件就是为了能真正使用上 UUI 看看有没有什么不好用的地方,再完善 UUI 的工具人(误

Tuya App

图压这个软件主要的功能就是批量压缩 JPEG、PNG 和 SVG 图片的工具。

主要的技术栈就是 Electron、TypeScript 和 imagemin。老实说技术上并没有什么难度,但是遇到的坑不少,有不少开发时间都浪费因于对 Electron 的不熟悉。

本来以为这种软件之前已经很多了,大家可能都不怎么感兴趣,没想到发布出去,还是有很多人感兴趣写评测,看到还是很高兴的。

据公司群里的信息,未来应该还会再开发一些面向用户的小软件。敬请期待吧。

参与开源

Github 在之前一直被我当成是个人代码仓库,加开源项目收藏工具。直到最近才真正意义上的去参与一些大型的开源项目贡献,比如说给 Storybook 反馈了很多 Bug,给 IINA 提了两个 PR,另外还给 BGmi 修了一下bug。

虽然不算什么大的开源贡献,好像也是真正的参与其中。

未来会更多的贡献一些代码。

关于工作

八月下旬,我收拾了出租屋,叫顺丰搬走了我两年来的收获。离开了苏州,回到了重庆,开始了新的生活。

远程工作,能节省出不少时间,应该好好利用这些时间。