|
2004年11月29日,开始和dalin、寂寞空山语、蓝爷爷(是他自封的 )等在公社的qq群里讨论写一个新的下载软件的事,现在陆续把一些整理后的讨论记录贴上来,一是做个记录,二也是想在论坛里和大家讨论,不过这个帖子专门用来贴讨论记录,所以请大家到这个帖子里来讨论:
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=95695&start=0&postdays=0&postorder=asc&highlight=
——————————————————————————————————
做一个基于www和ftp(包括需要验证的ftp)等已有协议的用来从服务器上获取数据的软件
1.将网络地层的通信和协议分开,或者说以后可以通过插件机制添加对新协议的支持
2.多线程,多镜像,多任务,支持断点续传
3.同时具有字符界面和图形界面,这里的字符界面包括命令行和简单的图形界面(不依赖xwindow)两种
4.任务和文件管理(能保存下载数据)(用数据库来保存数据)(对于已下载的文件,最好能够把在下载时的注释和下载时间等信息放到GNOME和KDE的文件浏览器中显示 )
5.对任务的高度可控制,比如可以允许插件对当前的任务进行一些操作
6.插件机制,尽量做到可扩展性(支持用脚本语言写的插件和动态连接库形式的插件,写的脚本如果出色的话,可以吸收到软件中来,直接作为软件的一部分了)
插件的功能:
6.1.添加对新协议的支持
6.2.对任务和文件的控制
7.国际化(用文本文件的tar.bz2包做语言包,这样不用重新编译,一般也可以很方便地翻译软件了 )(? gettext体系的翻译已经很方便了 ?)
8.最好把后端功能和前端的界面部分分离,这样就不用和某个GUI开发库连锁在一起了
补充:和其他进程通信以进行配合的能力(还可以用shell编程来使用下载软件)
Net Transport 的特性是个很好的范例
最好把软件工程的开发流程等等先掌握了
以现有的GPL下载软件分为基础支出来,直接从现有软件的基础上起步,否则等我们开发出一个实用的软件出来,人家的功能早就不知道进步多少了
从prozilla的基础上来进行,因为它确实写的不错,prozilla的代码也不算多
可以一点一点地实现,但是一开始的框架要考虑好
建议一开始不做GUI只做功能~
? 它的ftp算法来自wget ?
? 等我们有一定的水平之后再来做这个也不迟,比如做uftp的linux客户端 ? |
|