Eros 的话我也同意,本来对这个项目听感兴趣的,不过看到需求变来变去,而且还要支持多协议,总有种不靠谱的感觉。 看看现有的多协议软件就知道了, Pidgin、Empathy 等,哪个都不好用,兼顾各种协议,最终只能把各种协议都做得很烂。 各个协议的要求不一样,有的支持发图片,有的不支持,体现在 GUI 界面上就混乱不已,想要设计出通用的架构就更难了。 反观 linux 下的飞信,因为是单协议,实现起来不用缚手缚脚,现在实现的功能上要多得多。 退一步说,多协议开发的速度必然缓慢,需要经常重构,等到软件做出来,协议没准都变了, QQ for linux 没准都更新了也说不定。 至于语言,我还是建议 Python 或者 Genie(Vala 的类似 Python 语法的版本),pygtk 已经是发行版标配, GNOME 本身很多软件都是 pygtk 编写的;而 Genie/Vala 只依赖 glib/gtk+,更加通用了,库的话,做 IM 的话我觉得 GNOME 那套库已经足够足够了。 Python 的话现在面临问题有点多,pygtk/pygobject,py2/py3,gtk2/gtk3,都是过渡阶段,将来要面临代码升级的问题。 在 2011年3月12日 下午12:39,Mike Ma <zhtx10@xxxxxxxxx>写道: > 或许我们可以用Vala来处理GUI,用C处理底层事务? > C根本不是GUI的料,如果大家一致反对,也就PASS吧。。 > > > mono 是 ms 认可的 .net 的 linux 移植版 > > 大家都知道,MS巴不得MONO赶紧死掉 > > > mono项目 包含了 .net 运行时 以及 开发环境 > > 还有火狐 sliverlight plugin 也是 mono项目 的 moonlight > > ms 的官方网站上面的 slivelight 的火狐 plugin 的连接就是 moonlight > > vala 相当于 GOBJECT的 C#绑定 底层还是 GOBJECT > > Vala准确说不是C#绑定,相当于Gobject + C的一种预处理器 > > > 印象里面 vala 不存在运行环境的问题 > > 但是也是存在 复杂的依赖关系 > > 复杂倚赖关系是从GTK以来就有的,GNOME一个平台依赖全部都复杂 > > > 两个在语法上面没有太大区别 都是使用了 类似 C# 的语法规则 > > 当然 mono 还可以运行 vb F# c++ 等其他 dotnet 语言 > > 不过 觉得 mono 资料 要比 vala 的健全一点 > > 这个不反对 > > > 所以 提议的是 mono > > python 虽然在linux发行版中 一般都已经安装 > > 但是版本不一 同时 pygtk pyqt 不一定是标准安装 > > > 库的依赖关系可以通过 打包解决 deb rpm 都有相应的解决方案 > > 编译安装 很多软件 都必须安装相应的开发库 同样的情况 > > 不过 如果是真的作出一个 gnome 环境下面的 软件 > > 首选的 肯定是 gtk+ 其次就是 gtkmm+ > > 其他的总是存在 或多或少的问题 与不容易实现的部分 > > ======================================================= > > 现在项目需要的是一个比较完整的体系 > > 确定需求 比其他神马都重要 > > 同时 让每个人 明白需求也同样重要 > > 然后是分工合作 模块独立 不要畏惧连接模块的工作 > > 如果 遵循设计模式 这个不是特别困难的事情 > > 现在 项目已经基本混乱了 进行下去很困难了 > > 在使用 gtkmm 的时候 我已经实现了主面版的界面以及大部分逻辑功能 > > 但是 项目发生变化 代码无效了 > > 这个实在是对不起了 > > > Mike Ma 你是主要的项目发起人 > > 你首先要有一个相当清楚的思路 给大家明确的信息 > > 这个样子大家才能工作 > > vala 属于你熟悉的领域 但是不代表大家都需要进行再次学习 > > 准确说我也不熟悉 > > > vala 的语言结构并不复杂 但是他的库 能符合项目的要求么 能一定找到解决方案么 > > 这个不用担心,VALA可以直接调用C库 > > > 我这次说话很重 但是我觉得有必要来这么一次谈话 > > 我一直很感兴趣这个项目 希望这个项目能够成功 达到像openfetion一样的高度 > > 如果 能像 ubuntu tweak 那样成功基本也是一个梦想 > > ================================================= > > 对于 这个项目 我给一个我自己的完整思考 > > 我希望 这个项目是一个比较纯粹的 单一协议的 IM > > 这个样子 在小团队中的设计中不会出现太多问题 > > 如果 要做成多协议的 IM 一般都会顾此失彼 > > 做成协议的最小公共子集 > > > 不管 是要做成什么 都可以参考现在已经存在的项目 > > 分析出别人的实现 同时也可以为别人 已有的成熟理念进行修正 > > 这个样子就算最终的项目没有成型 但是也算奉献了开源的成果 > > 大家 还是需要分工合作 最终交换检查与测试 > > 不过这个是建立在 已经有明确的功能分析上 有确定的 API 商定的基础上的 > > 我们现在 需要的是讨论 确定各种相关问题 > > 而不是 在一个随时都在变动的项目上面消耗编写代码的时间 > > 还有 Mike Ma 告诉大家一个目标 是告诉大家 > > 而不是 通知大家 > > 让大家为这个目标奋斗 > > 以上的观点 来自个人 可能过于偏激 > > 希望 能够谅解 = = > > 在 2011年3月11日 下午9:25,Mike Ma <zhtx10@xxxxxxxxx>写 道: > >> 我错了。。其实Mono的C#和Vala语法都是类似的,C#和Vala的一大优点是类似C/C++,会很熟悉~ >> (然后C#要用GTK#,不还是GTK?还要个RUNTIME,还真麻烦,虽然比JAVA快) >> >> python的调试我觉得还真麻烦,没有变量定义啊!而且运行效率不怎么地(虽然比MONO快) >> >> 于 2011年03月11日 21:06, Mike Ma 写道: >> >> python/mono运行效率低 >> python在各种linux上是标配,没问题,就是mono还要一堆依赖,跟java一样。。。 >> >> vala是纯C代码 >> >> 于 2011年03月11日 13:46, Eros 写道: >> >> python 不错啊 pygtk pyqt 都行 >> >> 如果是 vala 不如直接使用 mono = =+ >> >> 在 2011年3月10日 下午10:17,Mike Ma <zhtx10@xxxxxxxxx>写 道: >> >>> 于 2011年03月10日 21:19, Iven Day 写道: >>> >>> 追求开发效率的话,既然可 以用 Vala,那何不用 Genie 呢? >>> 另外观察 GKiu 的开发,感觉技术换得很勤啊,汗…… >>> >>> 在 2011年3月10日 下午9:05,Mike Ma <zhtx10@xxxxxxxxx>写 道: >>> >>>> C语言开发效率实在不敢恭维,所以我们看到有很多东西都是Python + PyGTK开发的。 >>>> 如果大家倾向于OOP,不知道大家认为Vala语言怎么样 (最好的一点是,不必手动 >>>> 管理内存了,可以用类C++的*引用*机制)? >>>> 提议C++的一律抹杀,因为GKiu就是从C++的转化过来 的。 >>>> 虽然需要重写代码,但是还是相当简单的,只是把不易理解的代 码改成易于理解的 >>>> 代码(见valadoc.org)。 >>>> 开发效率可以从DeskQ里面看到。 >>>> >>>> 大家是喜欢C一点还是喜欢OOP呢? >>>> >>>> -- >>>> Mike. >>>> Blog: http://ekd123.org/ >>>> Fedora Project Contributor - Translator. >>>> >>>> >>>> >>> >>> >>> -- >>> Wanna be the biggest dreamer~ >>> K.I.S.S: http://www.kissuki.com/ >>> >>> 为了方便开发嘛,现在麻烦将来轻松 >>> 观察一下iceplayer的代码,我立马就汗了。。。 >>> 不想成为下一个iceplayer,而且C的开发效率确实很低很低很低。。。。就 GString都要手动回收内存 (这个 最烦)。 >>> >>> -- >>> Mike. >>> Blog: http://ekd123.org/ >>> Fedora Project Contributor - Translator. >>> >>> >> >> >> -- >> I'm Authur. >> >> Mail: authurg@xxxxxxxxx authurg@xxxxxxxxxxx authurg@xxxxxxxxx >> Blog: www.dark-cloud.org >> >> 我只是在代码中爬行的一只虫子... >> >> >> >> -- >> Mike. >> Blog: http://ekd123.org/ >> Fedora Project Contributor - Translator. >> >> >> >> -- >> Mike. >> Blog: http://ekd123.org/ >> Fedora Project Contributor - Translator. >> >> > > > -- > I'm Authur. > > Mail: authurg@xxxxxxxxx authurg@xxxxxxxxxxx authurg@xxxxxxxxx > Blog: www.dark-cloud.org > > 我只是在代码中爬行的一只虫子... > > > -- > Mike. > Blog: http://ekd123.org/ > Fedora Project Contributor - Translator. > > -- Wanna be the biggest dreamer~ K.I.S.S: http://www.kissuki.com/