我们对嘉宾的要求:
《开发者头条》愿意帮助这样的开发者上头条! 查看往期内容,请直接回复我要上头条 《我要上头条》第二期:Kingfisher 作者 onevcat 0. 简单介绍下自己? 嗨,大家好,我是王巍。从事程序开发有大概三四年时间,和很多老前辈相比算是刚刚入门。平时做 iOS 和 Unity 比较多,也喜欢倒腾一些其他语言和硬件什么的。主持做了 ObjC中国 (http://objccn.io) 这个网站,写过一本有关 Swift 的书 (http://swifter.tips)。现在在日本工作,主要做 iOS 应用和 SDK 的开发。 1. 介绍下 Kingfisher? Kingfisher 是一个纯 Swift 实现的异步下载和缓存图片的库,可以帮助简单地实现像是用户头像或者 table view 里面的图片的下载和缓存,以提高 app 速度和帮助开发者节省时间。 2. Kingfisher 希望解决什么问题? 其实在 Objective-C 里图片的下载和缓存是有一个很好的库的,叫做 SDWebImage。但是因为现在工作的公司使用的语言全面转向 Swift,希望尽量使用 Swift 的框架,避免 Objective-C 和 Swift 混编,以便维护和后续开发。另一方面,SDWebImage 里有非常多的功能,而其中很多是用不到的,对于我们的项目来说偏重。所以就打算写一个纯 Swift 的,轻量级的库,来处理这方面的需求。 3. 与其他项目相比,Kingfisher 的最大优势是什么? Kingfisher 使用纯 Swift 实现,另外相比于一些有些年头的项目,使用了 Cocoa 框架中一些新的类和特性,从 API 的易用性上来说会有优势。另外由于这个项目一开始就计划专注于图片下载和缓存,所以不会大量加入其他的附加周边特性,这样可以保证项目的可维护性,也利于代码简洁。 4. 开发 Kingfisher 的过程中,有什么难忘的事? 最初版的开发并没有遇到很多困难,写代码的时候也算一气呵成。所以好像并没有什么特别难忘的经历。硬要说的话,写文档和说明的时候估计和初版代码花的时间差不多,比较出乎意料,算是开发时难忘的事情。 5. 目前 Kingfisher 的用户情况怎样? 因为大家的支持,项目在 GitHub 上公开后很快就受到了关注,并且到现在为止的 star 数量已经上千。但是因为 Kingfisher 还处于幼年期,另外因为使用了一些新特性,只支持 iOS 8.0 以上的系统,所以可能暂时并不会有很大规模的应用。现在的话我们公司的一些新项目在使用这个框架,另外就是几个个人开发者的项目在使用。Kingfisher 其实更看重的是之后一两年的持续发展,希望能在将来为更多的开发者服务。 6. Kingfisher 的下一步计划是什么? Kingfisher 之后会添加一些必备的功能和修复可能的 bug,逐步提高项目质量。作为一个新生项目,肯定会有各种不足,也欢迎大家提出意见和建议。 7. 对于编程新手,你有什么学习建议? 其实我自己也不算老手,不过结合自己的学习和成长经验的话,最主要还是多在实践中进步。很多时候看很多书不如自己亲自动手实现一些东西,哪怕是生造出来的想法和需求,当你实际动手做过一遍之后,体会会完全不同。纸上得来终觉浅,绝知此事要躬行。 8. 除了编程,你还有哪些业余爱好? 业余爱好的话,基本就是打打游戏。WOW 和炉石玩的时间比较多;另外的话就是喜欢折腾一些新技术,包括硬件(因为其实我大学专业是学硬件的),经常会关注一些 Kickstarter 的有趣的项目。 9. 推荐几个你觉得可用但是别人推荐不多的项目、工具或产品? 什么产品都可以么?
(完) 重要信息 Kingfisher GitHub 地址 http://toutiao.io/r/7l20h 如何联系 onevcat? http://onev.cat/ 也欢迎点击 阅读原文 点评 Kingfisher 。 开发者头条 - 开发者的首选阅读分享平台 http://toutiao.io/ 如果你是开发者并且有自己的作品,欢迎联系我们:[email protected] |