写点什么

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

  • 2014-01-23
  • 本文字数:2663 字

    阅读完需:约 9 分钟

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

郭虹宇:国内还没有,国外类似的有 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 名

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 也通过开源收获了更多的客户。以前,我们的产品来自于开源社区,现在,我们的产品将回馈于开源社区。

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

2014-01-23 00:5115516
用户头像

发布了 65 篇内容, 共 59.6 次阅读, 收获喜欢 23 次。

关注

评论

发布
暂无评论
发现更多内容

【Gartner权威解答】:合格CTO必懂的开源软件十大热点问题

白鲸开源

观测云,全球领先的监控观测平台亮相亚马逊云科技中国峰会!

观测云

观测云

JWTの求生记录

空城机

前端 JWT

《HarmonyOSNext超强指南:3D解剖工程结构+三大包选型绝招!》

Turing_010

《HarmonyOSNext的ForEach数组渲染の核心玩法与避坑指南》

Turing_010

活动报名|北京新质人才嘉年华暨 GTN,你想要的高质量科创社交派对!6.13,北京

RTE开发者社区

ETLCloud中数据生成规则使用技巧

谷云科技RestCloud

数据处理 API ETL 数据集成 数据生成

从MaxCompute到Milvus:通过DataWorks进行数据同步,实现海量数据高效相似性检索

阿里云大数据AI技术

人工智能 数据库 数据分析 数据处理 检索引擎

HarmonyOSNext的ArkUI状态管理核心逻辑

Turing_010

【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解

GeorgeGcs

鸿蒙 HarmonyOS HarmonyOS NEXT 实践分享

真金白银扶持新质商家,拼多多在为下一个十年布局

Alter

一文掌握 HarmonyOS5 模拟器与真机调试技巧

颜颜yan_

架构 Harmony5

免费个人博客搭建,使用vuepress和plume主题在github上搭建一个免费的个人博客

小焱

个人博客 个人网站

HSP与HAR:HarmonyOSNext共享包开发终极指南

Turing_010

HarmonyOSNext动画:一学就会的“动感魔法”指南!

Turing_010

华南会议|嘉宾阵容揭秘,邀您共享 2025 Altair 区域技术大会华南站

Altair RapidMiner

AI HPC 数字孪生 仿真 CAE

比亚迪座舱接入通义大模型,未来将联合打造更多AI智能座舱场景

科技汇

TortoiseSVN使用-合并分支代码

刘大猫

svn tortoiseSVN 版本控制器 合并分支代码 合并分支

《HarmonyOSNext属性动画实战手册:让UI丝滑起舞的魔法指南》

Turing_010

【生产实践】Dolphinscheduler集群部署后Web控制台不能登录的问题解决了!

白鲸开源

开源 大数据任务调度 部署 Apache DolphinScheduler

HarmonyOSNext一看就懂!ArkUI弹出框全方位攻略:从自定义到固定,玩转弹窗不迷糊!

Turing_010

日志易 ELK 国产替代:自主可控+性能跃升,信创背景下的企业数字化转型优选

日志易

#日志易 #ELK #ELK国产化替代 #日志分析

融云开源 MCP Server,让大模型轻松调用 IM 能力

融云 RongCloud

语音独角兽 ElevenLabs 创始人:人性中的不完美,恰是人愿意互动的关键;秘塔「今天学点啥」:解析复杂内容语音讲解丨日报

RTE开发者社区

时代变了,我选择ApiFox替代Postman

空城机

前端 Apifox API 接口

融云开源 MCP Server

融云 RongCloud

《HarmonyOSNext弹窗:ComponentContent动态玩转企业级弹窗》

Turing_010

【HarmonyOS5】DevEco Studio 使用指南:代码阅读与编辑功能详解

颜颜yan_

HarmonyOS DevEco Studio Harmony5

如何将SeaTunnel MySQL-CDC与Databend 高效整合?格式与方案全解析

白鲸开源

盘点几款支持“私有化部署”的低代码平台,看看你都用过哪一款

优秀

低代码平台 私有化部署

基于昇腾适配电力潮流计算模型PowerFlowNet

Splendid2025

昇腾 深度学习、 AI for Science

专访iOS开发框架BeeFramework作者郭虹宇_Android/iOS_唐巧_InfoQ精选文章