#{bee} framework
a rapid dev framework for iOS.
by geek, for geek.
#####It's possible to develop an iOS app in less than 3 days.
Lastest version: http://www.bee-framework.com/download/bee_SDK_0_3_0.zip
##Join us
QQ Group: 79054681
website: http://www.bee-framework.com
email: [email protected]
google groups: https://groups.google.com/d/forum/beeframework?hl=zh-CN
##v0.3.0 changes
-
Fully support for MacOS
-
Fully support for UI template:
view:
code:
<?xml version="1.0" encoding="UTF-8"?> <ui id="test"> <layout> <container orientation="vertical" autoresize_height="false"> <view class="BeeUIButton" id="welcome" h="60%" style="welcome"/> <space h="2.5%"/> <container orientation="horizonal" h="10%"> <space w="4%"/> <view class="BeeUIButton" id="facebook" w="92%" style="facebook"/> <space w="4%"/> </container> <space h="2.5%"/> <container orientation="horizonal" h="10%"> <space w="4%"/> <view class="BeeUIButton" id="twitter" w="44%" style="twitter"/> <space w="4%"/> <view class="BeeUIButton" id="google" w="44%" style="google"/> <space w="4%"/> </container> <space h="2.5%"/> <container orientation="horizonal" h="10%"> <space w="4%"/> <view class="BeeUIButton" id="sign-up" w="44%" style="sign-up"/> <space w="4%"/> <view class="BeeUIButton" id="sign-in" w="44%" style="sign-in"/> <space w="4%"/> </container> </container> </layout> <style id="welcome"> font: '24, bold'; color: #369; text: "We are the champion!"; </style> <style id="facebook"> { "font" : "18, bold", "color" : "#666", "text" : "Facebook" } </style> <style id="twitter"> { "font" : "18, bold", "color" : "#666", "text" : "Twitter" } </style> <style id="google"> { "font" : "18, bold", "color" : "#666", "text" : "Google" } </style> <style id="sign-up"> font: '18, bold'; color: #666; text: "Sign up"; </style> <style id="sign-in"> font: '18, bold'; color: #666; text: "Sign in"; </style> </ui>
-
Fully support for UI query syntax, like jQUERY:
(in any view/viewController, you can coding like below:)
(see Lesson 14)$(@"*").HIDE()...; $(@"#a").HIDE()....; $(@"h > i").HIDE()....; $(@".BeeUILabel").HIDE()....; $(@"h").BEFORE( [BeeUILabel class], @"h3" ); $(@"h").AFTER( [BeeUILabel class], @"h4" ); NSAssert( $(@"h3").NEXT().view == $(@"h").view, @"" ); NSAssert( $(@"h4").PREV().view == $(@"h").view, @"" ); $(@"h").EMPTY(); NSAssert( $(@"h").CHILDREN().count == 0, @"" ); NSAssert( 0 == $(@"h > i").count, @"" ); NSAssert( 0 == $(@"h > j").count, @"" ); NSAssert( $(@"h3").count > 0, @"" ); NSAssert( $(@"h4").count > 0, @"" ); $(@"h").REMOVE(); NSAssert( 0 == $(@"h").count, @"" ); NSAssert( 0 == $(@"h > i").count, @"" ); NSAssert( 0 == $(@"h > j").count, @"" ); NSAssert( $(@"h3").count > 0, @"" ); NSAssert( $(@"h4").count > 0, @"" ); $(self).EMPTY(); NSAssert( $(self).CHILDREN().count == 0, @"" ); NSAssert( $(self).CHILDREN().count == 0, @"" );
-
Fully support for template/viewController signal bridging by ID:
template.xml
<view id="twitter"/>
template.mm
- (void)handleUISignal_twitter:(BeeUISignal *)signal { [super handleUISignal:signal]; if ( [signal is:BeeUIButton.TOUCH_UP_INSIDE] ) { // TODO: } }
-
Fix some bugs
##v0.2.3 changes
-
Refactoring the directory structure, Core and MVC completely separated, and the source files and the extensions completely separated
-
Refactoring the code structure of BeeDatabase and BeeActiveRecord, more clearly
-
Support the ActiveRecord inherition and nesting, support HAS/BELONG_TO operations, such as:
@interface Location : BeeActiveRecord ... @end @interface User : BeeActiveRecord ... @end @interface User2 : User @property (nonatomic, retain) Location * location; ... @end Magzine * magzine = ...; Article.DB.BELONG_TO( magzine ).GET_RECORDS(); Article.DB.BELONG_TO( magzine ).SAVE_ARRAY( result ); Article * article = ...; Magzine.DB.HAS( article ).GET_RECORDS();
(follow-up version will add more RUBY-like advanced features)
-
Support dot(.) opertions for BeeRequest & BeeMessage, such as:
self .HTTP_GET( @"http://www.qq.com" ) .HEADER( @"header1", @"xxx" ) .HEADER( @"header2", @"xxx" ) .HEADER( @"header3", @"xxx" ) .PARAM( @"key1", @"xxx" ) .PARAM( @"key2", @"xxx" ) .PARAM( @"key3", @"xxx" ) .FILE( @"photo1.png", [NSData data] ) .FILE( @"photo2.png", [NSData data] ) .FILE( @"photo3.png", [NSData data] ); self .MSG( ArticleController.GET_ARTICLES ) .TIMEOUT( 10.0f ) .INPUT( @"magzine", _magzine );
-
Fix some bugs (Thanks, I love U all!)
##v0.2 changes
-
BeeDatabase:
self.DB .TABLE( @"tableName" ) .FIELD( @"id", @"INTEGER", 12 ).PRIMARY_KEY().AUTO_INREMENT() .FIELD( @"field1", @"TEXT", 20 ) .FIELD( @"field2", @"TEXT", 64 ) .CREATE_IF_NOT_EXISTS(); NSAssert( self.DB.succeed, nil );
self.DB .FROM( @"tableName" ) .WHERE( @"key", @"value" ) .GET(); NSAssert( self.DB.resultArray.count > 0, nil );
-
Fantastic BeeActiveRecord:
// UserInfo.h
@interface UserInfo : BeeActiveRecord { NSNumber * _uid; NSString * _name; } @property (nonatomic, retain) NSNumber * uid; @property (nonatomic, retain) NSString * name; @end
// UserInfo.m
@implementation UserInfo @synthesize uid = _uid; @synthesize name = _name;
- (void)mapRelation { [self mapPropertyAsKey:@"uid"]; [self mapProperty:@"name"]; } @end
// Test.m
{ // style1 UserInfo.DB .SET( @"name", @"gavin" ) .INSERT();
// style2 UserInfo * user = [[UserInfo alloc] init]; user.name = @"amanda"; user.INSERT();
}
-
New overload graph:
-
Fix some bugs
-
Move precompile options to 'Bee_Precompile.h'
##v0.1 changes
##Companies are using {bee}
A. China Mobile, http://www.chinamobileltd.com/en/global/home.php
B. China Unicom, http://www.chinaunicom.com.cn/
C. China Telecom, http://www.chinatelecom.com.cn/
D. Tencent, http://www.qq.com/
E. Baidu, http://www.baidu.com/
F. Sina, http://www.sina.com.cn/
G. iFeng, http://www.ifeng.com/
H. Novagin, http://www.novagin.com/cn/index.htm
I. IGRS Lab, http://www.tivic.com/
J. Front network, http://www.frontnetwork.com/
K. Middling industries, http://www.middlingindustries.com/
L. iLouShi, http://www.iloushi.cn/
M. Duopeng, http://www.duopeng.com/
N. VoiceFrom, http://voicefrom.me/
O. Distance Education Group, http://www.sdeg.cn/sdegPortal/
P. MesonTech, http://www.mesontech.com.cn/home/mesontech.jsp
##Apps are using {bee}
- Sina Finance(新浪财经)
https://itunes.apple.com/us/app/xin-lang-cai-jing/id430165157?mt=8 - Mengtu(萌图)
https://itunes.apple.com/us/app/meng-tu/id531292307?mt=8 - iLoushi(i楼市)
http://itunes.apple.com/cn/app/id464232572?mt=8(iPhone)
https://itunes.apple.com/cn/app/id428916075?mt=8(iPad) - Duopeng(多朋)
http://www.duopeng.com/ - Yiban(易班)
https://itunes.apple.com/app/yi-ban/id549775029?mt=8 - Golden carp(金鲤鱼理财)
https://itunes.apple.com/cn/app/id584687764 - Tivic(TV客)
http://mobile.91.com/Soft/Detail.aspx?Platform=iPhone&f_id=1373668 - Middling(Middling图书)
https://itunes.apple.com/us/app/middling/id531625104?mt=8
- Mac OS X 10.6, Xcode 4
- iOS 4.0 or Higher
- BeeDebugger/
- BeeFramework/
- Core/: Bee Core
- MVC/: Bee MVC
- External/
- Example/
- Documention/
- Open Example/WhatsBug.xcodeproj
- Build and run
- Copy files below into your project folder:
a. BeeFramework/ b. BeeDebugger/ c. BeeUnitTest/ d. External/ - Drag and drop into your XCode project
- Add Framework:
a. libz.dlib
b. libsqlite3.dylib c. libxml2.dylib d. AVFoundation.framework e. CFNetwork.framework
f. CoreMedia.framework g. CoreVideo.framework h. CoreGraphics.framework
i. Foundation.framework
j. MobileCoreServies.framework (ASI)
k. QuartzCore.framework
l. Security.framework (MD5)
m. SystemConfiguration.framework (Reachibility)
n. UIKit.framework - Modify your precompile header file:
a. #define _BEE_DEVELOPMENT_ (1)
b. #define _BEE_LOG_ (1)
... - Build and run
- Good luck
This fork is for porting to cocoapods
use cocoapods to enjoy your development
just add
platform :ios
pod 'BeeFramework', :head
to Podfile
and run pod install