剑客
关注科技互联网

你想参与一个开源库的开发吗?

作为开发者的你,肯定接触过不少开源组件,除了对作者大牛们的赞叹之外,是否也想过自己也来参与一个开源库的开发呢?

ios-image-maker

Github 主页地址 https://github.com/swiftcafex/ios-image-maker

在开发 iOS 项目的时候,你是否被那些 2x, 3x 图片等等困扰过? 当然你可以说,这些事情有 UI 设计人员来处理,不用开发来管,但并不是所有的时候都能够有这些条件。即便是设计人员,也依然要自己用手工或是其他方法将原始图片导出成各种尺寸的 2x, 3x,再提交给你。 这过程中难免就会出现差错, 比如图片尺寸差异,等等。

所以, 我经常在想,是否有必要设计一套机制,让这个过程自动化。 这也就是 ios-image-maker 诞生的由来了。 它的思路也很简单,就是我们只需要设计一套原始图片(当然,是最大尺寸的 3x)。 然后其他尺寸的图片不再需要我们手工处理了,而是用一个脚本来生成。

这个脚本的整体逻辑并不复杂,但却能让我们摆脱那些简单体力劳动, 这点无论对于开发还是设计人员,相信都是有帮助的。

开发

于是带着这个思路, 开发出了第一个最初版本。一个命令行程序。 使用起来也很简单, 通过一个配置文件指定好你要生成的图片位置,然后运行命令就可以了。 因为 UI 图片这些东西在大多数项目中,其实是会经常修改的。 所以这样,有了这个小程序,每次跑一下就可以,减少了很多的人工干预。

在我的实际开发过程中,这个小程序已经成为流程的一部分了,经常在用。

效果

关于 ios-image-maker 的背景以及它解决的问题就都介绍完了。给大家看一个具体的使用案例。

首先在项目的根目录创建一个配置文件 image-config.json:

{
    "items": [

        {
            "type" : "assets",
            "sourcePath": "./sourceImages/assets" ,
            "destPath" : "./image-example/Assets.xcassets"
        },
        {
            "type" : "icon",
            "sourcePath": "./sourceImages/icon" ,
            "destPath" : "./image-example/Assets.xcassets",
            "name" : "Icon"
        }
    ]
}

然后在这个目录运行命令:

$ ios-image

随后命令行一连串这样的输出,代表正在生成文件:

Generating: sourceImages/assets/file.jpg to image-example/Assets.xcassets/file.imageset/file@3x.jpg
Generating: sourceImages/assets/file.jpg to image-example/Assets.xcassets/file.imageset/file@2x.jpg
Generating: sourceImages/assets/file.jpg to image-example/Assets.xcassets/file.imageset/file.jpg
Generating: sourceImages/assets/cloud.jpg to image-example/Assets.xcassets/cloud.imageset/cloud@3x.jpg
Generating: sourceImages/assets/cloud.jpg to image-example/Assets.xcassets/cloud.imageset/cloud@2x.jpg
Generating: sourceImages/assets/cloud.jpg to image-example/Assets.xcassets/cloud.imageset/cloud.jpg
Generating: sourceImages/icon/icon.jpg to image-example/Assets.xcassets/Icon.appiconset/Icon-App-20x20@2x.png
Generating: sourceImages/icon/icon.jpg to image-example/Assets.xcassets/Icon.appiconset/Icon-App-20x20@3x.png
Generating: sourceImages/icon/icon.jpg to image-example/Assets.xcassets/Icon.appiconset/Icon-App-29x29@1x.png

全部生成完毕后, 就可以看到这些图片了:

你想参与一个开源库的开发吗?

你想参与一个开源库的开发吗?

参与

以上就是这个项目的大体介绍了。 现在基本的框架已经搭建完成。但是还有很多地方不够完善和强大。 当然,后面还是会持续的更新的。 所以如果你正好想参与一个开源项目的开发,并且对图片生成这个问题的解决有兴趣,那么就欢迎你一起来参与。 可以是贡献你对代码的改进,或者是对于功能的需求,又或者是在使用中遇到的 Bug 以及问题。 总之除了贡献代码量之外,其他很多形式都可以参与。

所以,再次附上 Github 主页地址 https://github.com/swiftcafex/ios-image-maker

同时,如果你只是一个开源库的使用者,那么也希望这个库能帮助你解决一小部分实际工作中的问题,提升效率。那么这件事情就算是有意义了。欢迎发表你的想法和建议吧。

如果你觉得这篇文章有帮助,还可以关注微信公众号 swift-cafe,会有更多我的原创内容分享给你~

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址