专访iOS开发框架BeeFramework作者郭虹宇

转载 2016年06月01日 01:29:12

BeeFramework是一个iOS应用开发框架,由国内开发者郭虹宇创立并且在Github上开源。经过一年多的发展,BeeFramework在Github上,得到了广泛关注,有1000多的star数和400多的fork数。

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和他们相比有什么优缺点?

郭虹宇:国内还没有,国外类似的有PixateNUIMasonry等,相比之下这三者都在初级阶段。

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名

InfoQ:BeeFramework为什么选择一个基于XML和CSS的布局方案?

郭虹宇:随着iPhone/iPad/Android手机的普及,各大手机生产厂商包括苹果在内,已不安于现状只研发固定分辨率的手机产品。越来越多的事实证明,固执的巨人Apple也扩大产品线,不光在物理屏做了改变,技术上也逐步从静态布局到AutoLayout,一切都是在暗示着开发者,未来的手持产品将是多样化的,不再是iPhone4 Retina屏的单一产品做为行业标准的年代。

记得iPhone5和iOS7出现的那一年,想必让全球iOS开发大吃一惊,界面比例和样式不再兼容,写死坐标必死无疑。如果App在开发时只考虑了一种分辨率,那接下来的UI适配工作将是天翻地覆的。此前如此,此后更是如此。

12年的时候,我了解到Responsive Design这一概念,这时才真正的意识到历史是可以重复的,技术也可以是复用的,在Web前端领域已有更优秀的考虑更全面的响应式UI解决方案,被Business insider等多家评为未来的趋势。Google的Android系统是开放性的,在设计时就考虑到了这一问题,通过另类的XML方式提供给界面响应式的能力。

BeeFramework说白了是iPhone4/4S时代出现的一个产物,那时Apple对于响应式布局并没有概念,随着各种UI问题的出现,必会有人给出答案。我们早先一步考虑到了这个问题,结合Web与Android的实现方式,BeeFramework独创了MobileXML+MobileCSS来解决UI响应式的问题,即Semi-Hybrid模式,我相信这将会是未来的一个趋势。

InfoQ:未来BeeFramework打算往哪些方面发展?

郭虹宇:2014年计划输出到1.0正式版本,重点解决几个问题。

  1. 模块化:More easier, more lighter
  2. 标准化:MobileCSS/XML standardization
  3. 可视化:Visualization tools
  4. 跨平台:Android support
  5. 文档化:Tech documentation & Video tutorial

在以上这些完备的同时,我们将推出一系列的跨平台标准UI库和快速开发组件,免费开源的提供给开发者使用,可能会类似于国外的ThemeForest,这些都需要长时间的技术积累才能够实现。

InfoQ:BeeFramework收到了多少来自开源社区的代码贡献?收到了多少来自开源社区的bug报告?

郭虹宇:Issue: 70+, Pull Request: 70+

InfoQ:你认为一个成功的开源项目需要具备哪些特点?

郭虹宇:

  1. 从实际需求出发,解决行业范围内的一个问题
  2. 稳定的核心团队,持续的时间投入
  3. 定期的版本更新,及时的BUG FIX
  4. 有个网站,形成固定的技术圈子(论坛或QQ群)

InfoQ:你为什么选择将BeeFramework开源?

郭虹宇:与Geek Zoo Studio的文化有极大的关系,崇尚使用开源、分享开源。

InfoQ:你每天有多少精力花在BeeFramework的开发上?

郭虹宇:几乎每天都在修改BeeFramework,最忙的时候每天差不多一半时间花在上面。

InfoQ:你从BeeFramework得到的最大收获是什么?

郭虹宇:开源使我们收获了未来,我想很多开源爱好者与我有共同的感受。通过开源与许许多多开发者或创业公司变成了朋友,Geek Zoo Studio也通过开源收获了更多的客户。以前,我们的产品来自于开源社区,现在,我们的产品将回馈于开源社区。

我坚信,未来是通过现在付出的的努力而换来的回报。

 

原文:http://www.infoq.com/cn/news/2014/01/interview-author-guohongyu/
举报

相关文章推荐

智能开发框架 JEECG 作者张代浩专访

JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发框架,采用代码生成+手工MERGE半智能开发模式,可以帮助你解决Java项目中50%的重复工作,让你更多关注业务逻辑...

超敏捷 Java 开发框架 ServcieFramework 作者祝海林专访

ServcieFramework是一个敏捷、快速、富领域模型的Java MVC 框架,其设计理念是让用户真正能够用最简单的方式解决80%的问题。 该项目目前应用于作者公司内部的一个产品中,刚开源...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

企业级JavaEE开发框架bbossgroups作者尹标平专访

bbossgroups是国内首款集AOP、MVC、持久化、JSP标签库、分布式RPC服务、分布式事件框架于一身的企业级JavaEE开发框架,在Apache License Version 2.0 许可...

轻量级JavaWeb开发框架EWeb4J作者赖伟威专访

EWeb4J 是一款基于 Servlet/JDBC 构建的轻量级 Web 开发框架,它不仅融合了 SSH 的核心优点(全栈式),而且提供了诸如模块化、热加载、多数据源、RESTful等非常吸引人的特性...

超敏捷 Java 开发框架 ServcieFramework 作者祝海林专访 .

ServcieFramework是一个敏捷、快速、富领域模型的Java MVC 框架,其设计理念是让用户真正能够用最简单的方式解决80%的问题。 该项目目前应用于作者公司内部的一个产品中,刚开源...

开源框架Nutz开发者访谈

Nutz是SSH的替代方案,它是一组轻便小型的框架的集合, 各个部分可以被独立使用。 Nutz 的目标是: 在力所能及的情况下,最大限度的提高Web开发人员的生产力 “是的,提高生...

一站式 Java Web 开发框架 Firefly 作者邱鹏滔专访

Firefly是一个高性能的一站式Java Web框架,涵盖了web开发的主要技术栈,包含模板引擎、IOC/MVC框架、HTTP服务器、Common工具、Log、Json解析器等模块。 项目主页...

Java高效开发框架Nutz开发成员专访

Nutz是一个优秀的国产开源项目,它是一组轻便小型的框架的集合,各个部分可以被独立使用,据作者称,Nutz的使命就是“解决第三方类库在Web项目开发中的低效问题”,而Nutz也被称作是“除了SSH之外...

专访罗升阳:老罗的Android之旅

CSDN首页> 业界 专访罗升阳:老罗的Android之旅 发表于2014-08-15 14:13| 10091次阅读| 来源CSDN| 0 条评论| 作者钱曙光 ...

JavaEE 快速开发框架 Wabacus 作者访谈 .

Wabacus是一个JavaEE快速开发框架,采用面向声明的开发模式,可以不用编程或极少编程即可实现复杂的数据展示、数据编辑、表单处理等功能,将JavaEE的开发效率提高5倍以上,代码减少60%以上。...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)