了解共享软件产品化一些基础的常识


这里结合个人开发的视频软件thinkvd,以技术的角度, 谈谈软件做成最终的产品,所需要做的一些基础准备。
当然,不同的行业,不同的应用,需求不同而有所不同,欢迎补充

1。基础界面库:
 选择一个合适的软件库,能提高开发效率及产品质量。以前用过mfc,感觉不太应适合做产品化的界面库,适合需要时,开发速度及维护工作量都存在问题。最好能实现代码与界面分离的界面库。这里有个列表供大家参考:http://bbs.unpack.cn/thread-46855-1-1.html

2。基础常用类库:
 如对字符串处理,日期、数字、文件、表格, 网络、数据库等
 
3。数据存储方法:
 这里说的数据存储不是指用xml, txt,或数据库存储,而是指对数据的操作,有效实现数据的保存、同步、显示、复制、备份等,在不同的模块中使用。
 个人简单的看法可参考:http://blog.csdn.net/notton/archive/2010/11/01/5979676.aspx
 
4。开发流程:
 开发中有的是个人,有的是team,如何有效交流沟通,提高开发进度, 按计划完成开发,建立一套适合自己的流程,这个需要不断地进行探索、总结经验。
 有的是按功能模块方式,有的是按逻辑流程等。
 
5。产品编译与打包
 最好找台比较干净的机器打包,放到没有开发环境的机器上测试,这样能很快发现打出来的包安装运行有什么问题。打包主要是适合市场需求而作不同的定制。常见的打包工具有INNO Setup,nsis。
 
6。不同开发工具语言的交叉使用。
 每种语言有自己的特点及优势,需要自己根据情况进行有效使用。如处理字符串、文本时,shell、perl脚本至少比c,c++来得快及方便。
 不同编译工具的使用,如编译ffmpeg,最好用gcc, 有能力者移植到vc下也是不错的选择。

7。加密注册模块
 若作开源软件不在此列。
8。多语言模式
 要走向海外,多语言的支持需要考虑。
 
9。信息收集:
 若需要知道用户经常使用软件的哪些功能等,这些数据可适当收集。
 
10。升级模式。
 支持自动升级是最好的。把某个(些)模式在client端自动更新。
 
11. 跨平台问题: 
 考虑开发的产品是否能在Linux, windows, mac或其它平台下方便移植
 
11。产品测试:
 人工测试、自动测试等。
 
12。产品发布:
 如何发布到网站供他人下载,这方面知道比较少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值