BeeFramework是一个iOS应用开发框架,由国内开发者郭虹宇创立并且在Github上开源。经过一年多的发展,BeeFramework在Github上,框架类排名全站第8名,在Objective-C语言中排第2名。
InfoQ采访了BeeFramework的作者郭虹宇(@老郭为人民服务),他活跃于iOS开源社区。从2006年大学毕业,一直从事着跟手机相关的研发工作,包括UI框架、输入法、浏览器、播放器、社交软件、休闲游戏等。2012年从腾讯离职开始了创业之路,目前加入GeekZooStudio,负责公司的技术研发和管理工作。
InfoQ:请介绍一下BeeFramework这个项目的背景,当初为什么打算做这个项目?
郭虹宇:BeeFramework的出现并非偶然,与我的工作经历有较大有关系。
12年我在腾讯负责的其中一个项目是手机QQ空间iOS版,因为其代码曾经分别由几波团队交接过,较为混乱,以至于很难继续维护。同时需要应对新需求,又要维护老的代码,要求2周一个迭代输出版本。在这种情况下,老的代码结构之上基本无法完成产品的快速迭代,更别说并行的新项目的启动。当时,公司内部根本就没有一套可以复用的框架或类似的东西,包括许多重点项目在内,都是基于很多开源组件拼凑而成,于是有了开发一套简单通用MVC框架的想法。
第一个版本,大概两周时间完成了框架中Controller的部分以及相关代码自动生成工具。这个版本首先在QQ空间和QQ游戏大厅两个项目中运用起来,得到不错的效果。我在离开腾讯之后,基于以往在腾讯做项目的经验,将这个框架全面应用在真正的创业项目中,并取名为Bee,寓意着 “敏捷、高效” 的意思。2012年底,我将该项目开源在Github社区中,最初是0.1版,迄今共发布了5个大版本,最新版本为0.5.0。
InfoQ:BeeFramework在中国现在有哪些主要的客户在使用?
郭虹宇:目前开发者数量在1300人左右,其中以个人和创业公司使用居多,大公司占少数。
据我所知,腾讯内部的一些产品有在使用,如 GT随身调和pengo微博。新浪团队应该也有在用,其他的还有:北京电视台、屈臣氏中国等。我们的自有产品 ecmobile.me 也完全基于BeeFramework。
InfoQ:业界内还有哪些与BeeFramework类似的框架?BeeFramework和他们相比有什么优缺点?
郭虹宇:国内还没有,国外类似的有Pixate、NUI、Masonry等,相比之下这三者都在初级阶段。
BeeFramework是全栈式(Full-Stack)半混合型(Semi-Hybrid)的适合于大规模(Large-Scale)的App开发框架,是一套App从无到有的整体解决方案,不仅提供了XML+CSS的开发方式,也提供了几乎满足你所有需求的组件,另外也提供了一系列的辅助工具。
Pixate / NUI,可以当做原生控件对CSS的扩展支持来用,两者不能当做完整的APP解决方案。
Masonry,是对AutoLayout的一种语法上的封装,允许原生界面支持相对比较复杂的响应式布局,像是一种过度的技术。
对比使用方式上,其它框架更倾向于原生的开发方式,而BeeFramework倾向于前端开发的方式,允许开发者通过XML+CSS编写模版。
对比实现方式上,其它框架更倾向于依赖平台相关API,而BeeFramework是独立于平台之上的,不会因为系统升级而出现兼容性问题。
另外BeeFramework还有数十个组件可以提供给开发者使用,这个目前为止包括Github所有iOS开源项目在内都无法比拟。
BeeFramework是真正属于框架类的产品,目前在Github中Framework类排名全站第8名,在Objective-C语言的Framework中第2名。
|