专访iOS开发框架BeeFramework作者郭虹宇
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正式版本,重點解決幾個問題。
在以上這些完備的同時,我們將推出一系列的跨平臺標準UI庫和快速開發組件,免費開源的提供給開發者使用,可能會類似于國外的ThemeForest,這些都需要長時間的技術積累才能夠實現。
InfoQ:BeeFramework收到了多少來自開源社區的代碼貢獻?收到了多少來自開源社區的bug報告?
郭虹宇:Issue: 70+, Pull Request: 70+
InfoQ:你認為一個成功的開源項目需要具備哪些特點?
郭虹宇:
InfoQ:你為什么選擇將BeeFramework開源?
郭虹宇:與Geek Zoo Studio的文化有極大的關系,崇尚使用開源、分享開源。
InfoQ:你每天有多少精力花在BeeFramework的開發上?
郭虹宇:幾乎每天都在修改BeeFramework,最忙的時候每天差不多一半時間花在上面。
InfoQ:你從BeeFramework得到的最大收獲是什么?
郭虹宇:開源使我們收獲了未來,我想很多開源愛好者與我有共同的感受。通過開源與許許多多開發者或創業公司變成了朋友,Geek Zoo Studio也通過開源收獲了更多的客戶。以前,我們的產品來自于開源社區,現在,我們的產品將回饋于開源社區。
我堅信,未來是通過現在付出的的努力而換來的回報。
?
原文: http://www.infoq.com/cn/news/2014/01/interview-author-guohongyu/總結
以上是生活随笔為你收集整理的专访iOS开发框架BeeFramework作者郭虹宇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS快速开发框架--Bee Frame
- 下一篇: iOS快速开发框架Bee-Framewo