Quantcast
Channel: C++博客-所有随笔
Viewing all articles
Browse latest Browse all 7881

关于F项目的一些经验 -2

$
0
0
创建:2012.03.01
修改:2012.04.10


SVN:
ios
branches
2.0
xxx
yyy
zzz
F-Project
trunk
shared-libs
framework
branches
1.0
framework
mmm
nnn
iF-Project
???
libraries
Android
common
iOS
trunk
ios
1,所有的trunk都是空的,所有的代码都放到了branches。
2,shared-libs放的是公共类类库,包括2部分,一部分称为framework,是本应用程序的逻辑的基础类库,如登录,页面导航,一些商务逻辑的计算等等;另一部分是libraries,是Service类型的类库,考虑了不同平台。至于iF-Project里面放的东西,不明白具体的用处。
3,ios里面放的是真正的工程。xxx,yyy,zzz是不同的模块,每一个都是一个xcode工程,编译出lib文件,并加入到F-Project中去。


*跨平台的代码是用C++写的。可以用于Android和iOS平台。
*大量的界面是使用HTML5+JS做的。这样做可能是为了跨平台,以及内存使用更加安全吧。效果上基本能以假乱真。只是刷新的时候会闪。
*网路请求是用配置文件写的。可以从服务器上更新。除了可以解析新的URL地址外,还可以自动解析新的参数和返回值。这样做的目的大概是为了不必更新AppStore也能更改程序功能吧。但是,我对此表示怀疑。毕竟如果修改了参数和返回值,代码也必须跟着改进。不过,由于大量页面是使用HTML5写的,因此,这一方案也有可能成功。
*虽然写了一个类似于Three20的导航类,但是据说效果不是很好。
*很重视viewDidUnload的释放。

*Modal模式的vc很多。一些公共的vc都会统一的modal出来,通过一个notification来调用全局的一个CoreNavigation的函数,来显示指定的公共的vc。显示vc的方法是找到最顶层的vc,然后在其上modal出新的vc。比如,登录vc,quote交易vc等等。

*有一个脚本文件,可以自动的将这次生成的版本的变更记录下来,内容包括:是哪个branch的程序,tag是从哪个版本到哪个版本,svn的log,修改的bug(根据svn log中的bug号码进行过滤)
本次发布版本的时候,连同app,dsym文件一同交付。



+++++



佳为好友 2012-12-23 10:08 发表评论

Viewing all articles
Browse latest Browse all 7881

Trending Articles