当前位置 : 主页 > 手机开发 > 其它 >

初识BeeFramework

来源:互联网 收集:自由互联 发布时间:2021-06-12
由于最近的项目需要,Hybrid开发成为我开始学习的新知识。很早之前就了解到两个开发框架--BeeFramework 和 Samurai,但是由于本人一直没有闲暇去研究,所以就一直搁置一旁了,最近才开
由于最近的项目需要,Hybrid开发成为我开始学习的新知识。很早之前就了解到两个开发框架--BeeFramework 和 Samurai,但是由于本人一直没有闲暇去研究,所以就一直搁置一旁了,最近才开始进行深入的学习,但其实也就是入个门而已。

我是个纯OC开发者,之前对XML和CSS并没有什么基础,在此就简单总结一下我初学Bee遇到的困难和问题吧。日后可以用来回顾,或者让其他想要学习的人也有所参考。

为什么会选择用Bee而不用Samurai呢?其实不是因为Bee比Samurai强大,论强大和“新”来说,Samurai应该是比Bee要更优的。我选择Bee的理由是因为当前项目需要用到,而Bee已经更新了很久,基本稳定了,而Samurai还在成长,为了避免因为它的更新给我带来更多的麻烦,所以我决定先用Bee,以后也会去学习使用Samurai。说的有点啰嗦了。言归正传。

Bee: https://github.com/gavinkwoe/BeeFramework
Samurai:https://github.com/hackers-painters/samurai-native

  • BeeFramework 简介

    github:BeeFramework is a semi-hybrid framework that allows you to create mobile apps using Objective-C and XML/CSS for the iPhone and iPad and more, created and maintained by Gavin.Kwoe and QFish.

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

    BeeFramework是一个semi-hybrid(半混合)框架,运用XML、CSS、Objective-C构建iOS应用,基于MVC,并且适用于大型App的开发,已经有诸如QQ空间、屈臣氏中国等相当成熟的产品。

    Bee的详细说明文档在项目的document目录下–developer_manual

  • 新建Bee项目
  • 第一次尝试
    我使用的BeeFramework版本是0.6.0,不同版本可能会有一些区别。
    以往新建一个工程一样新建了一个Bee的Demo,并导入了framework文件夹和services文件夹,编译发现#import <libxml/tree.h>报错,错误原因是:'libxml/tree.h' file not found。这个问题其实很好解决,到网上搜一下就会得到答案,在Xcode4.2之后,可以在添加了libxml2.dylb之后,点击左上角的project,然后进行Build Settings(这里不管是Project还是targets都行),找到Search Paths选项卡,其下有Header Search Paths条目,双击debug选项,添加/usr/include/libxml2就行了。

    然而这个问题解决了以后就会出现ARC的问题。
    ARC问题
    因为新建的工程是ARC的,而Bee的文件是MRC的。

    我做了这个操作,把所有文件都加上了-fno-objc-arc
    -fno-objc-arc

    但是又出现了新的问题。
    Conflicting types for 'echo'
    到这里我没有继续,因为这种方式实在是太繁琐了,我认为这应该不是正确的做法,当然也在交流群中咨询过高手、大神们,总之这个做法我放弃了。

    后来我看了一篇博客,也主要是这篇博客解决了我的问题。之前 别人给的意见没有听懂的也在这个博客中得到了答案。

博客地址:http://syxiaqj.github.io/2014/02/28/bee-learning-1/#0-tsina-1-24637-397232819ff9a47a7b7e80a40613cfe1 作者:浪花一朵朵

  • 第二次尝试

    参照博客内容,我做了准备工作:
    1.下载BeeFramework
    2.下载Bee项目模板:Bee-Xcode-Template-master
    3.下载工具:xproj(作者QFish),用来批量进行ARC、非ARC混编的shell脚本。

然后开始新建项目

1.安装Bee项目模板
解压Bee-Xcode-Template-master,终端cd到该目录,执行以下命令
sh install.sh
2.新建Bee项目

新建Bee项目

运用模板新建的Bee项目,工程框架已经基本有了。

编译一下会发现项目有错误,提示Bee.h引用找不到,因为还没有吧BeeFramework框架添加进来。

3.添加BeeFramework

在工程中添加BeeFramework框架项目中的 framework 文件夹

4.批量添加`-fno-objc-arc`

因为BeeFramework是一个非RAC的框架,现在Xcode5.0以后新建的工程,都默认是ARC工程,所以需要对BeeFramework进行混编处理。
framework目录下的所有文件都需要在Build Phases中添加-fno-objc-arc,但是文件非常多,一个个添加会比较麻烦。要么用command或shift,但是我们还有个小工具可以用,xproj
具体使用方法在github中有,或者可以参考上面提到的博客。

当然还可以通过CocoaPods来管理BeeFramework。

此时再次编译运行,就会发现没有错误了,但是界面上什么都没有。

下一步就是来写界面了。新建xml文件,这个在Bee的模板里面有。xml本人不是很精通,先写这么多,我继续研究研究去。

~第一次用markdown写博客,格式还不是很会处理,见谅。~

网友评论