开发平台:Visual Studio 6.0
使用库:GDI+,STL
 
界面截图:相信开发人员对即时通迅软件(也称IM)已经非常熟悉了,有许多朋友更是梦想着开发一款属于自已的通迅软件,但是由于即时通迅软件涉及的领域比较广,比如UI,数据库,网络通迅等,所以工程量比较大,一个人开发难已顾及这么多,很可能最终因为维护的困难而放弃。
不仅通迅软件涉及的范围广,其它的软件也一样,影响项目的最大问题在于系统的构架设计不好,这个问题在项目的开始阶段还不会体现出来,往往随着项目功能的增加,代码量的暴涨那么系统就变得难已管理了,也许仅仅只是增加一个小的功能也会使整个系统伤筋动骨。
不过现在我非常高兴的告诉大家一个好消息,如果你现在仍然没有放弃打造自已的即时通迅软件那么你可以试试开源的即时通迅项目XproerIM。XproerIM是一款模仿QQ的即时通迅开源项目,目的在于打造国内最大的且代码质量最高的开源项目。最新版本的XproerIM是使用VC6.0编写的,暂时还没有服务端,只是一个客户端的程序。虽然没有服务端但是这并不影响XproerIM的开源进程,因为XproerIM提供了丰富和方便的扩展接口来供开发人员自定义开发,其源码完全开放,所以你可以完全根据自身的网络环境情况来定制开发服务器,服务器可以基于Linux或者Windows。
在客户端界面方面可以说XproerIM是一款集大成者,他集成了许多网上优秀的开源项目,例如菜单的项目使用CMenuXP(http://www.codeproject.com/KB/menus/menuxp2.aspx),XML文件处理使用了TinyXML,WebService方面使用gSOAP,当然也少不了一些大牛的代码。大牛的代码是从CSDN和其它网站中收集并整理的,XproerIM客户端的开源也是受这些大牛奉献精神的影响。
为了使一些组件或模块尽可能的通用我们花了一些时间来设计一个纯面向对象的类库(XIM Framework)。一方面是为了更好的管理整个系统和促进各模块之前的协作能力,另一方面是为XproerIM团队开发带来更多的便利。XIM Framework不仅仅只是提供更丰富的功能,更是在代码质量,风格,命名规范上面狠下功夫,这种全方位立体式的Framework会让XproerIM的开发人员感觉到用C++编写代码也是一种享受,毫不夸张的说XproerIM Framework的代码质量最终将会达到商用级别!
由XproerIM开发团队倾心打造的XproerIM Framework 类库是一个由 XIM Framework SDK 中包含的类、接口和值类型组成的库。该库提供对文件,网络,数据库,系统功能的访问,是建立 Windows,WebService应用程序、组件和控件的基础。 XproerIM Framework 是XproerIM的核心组件。XproerIM Framework 旨在实现下列目标: 
 从底层上简化C++编码,让开发人员更多的关注设计和业务逻辑。同时由设计和开发小组协作来保证代码质量和性能。
 提供一个一致的面向对象的编程环境,这种环境规定了命名规范,编码风格以及代码注释等要求。就算是一个新加盟的成员也能轻松胜任。
 使所有成员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。即便是一个对WebService不熟悉的成员也能通过类库轻松访问WebService并编写业务逻辑方面的代码。同是为第三方WebService系统提供强劲的支持,使第三方WebService能够与XIM无缝的集成。
由于XproerIM客户端极其优化的构架所以也是众多新手学习的宝典。同时XproerIM客户端社区也正在极积的建设中,我们不仅仅提供源代码,而且还会提供详细的开发文档,以及各种技术文档来帮助开发人员了解整套系统。
最后虽然XproerIM有这么多的优点,但是我仍然需要坦白的说明一点目前XproerIM还并不完善,里面的一些功能,控件设计的并不完善。对于开发人员来讲我觉得即然XproerIM提供了这么优秀的构架那么我们可以将完善XproerIM客户端的过程看作是对自已能力提高的一种练习。同时XproerIM开发团队会尽最大的努力使这一过程变成一种乐趣!源代码项目下载地址:http://code.google.com/p/xproerim/downloads/list

解决方案 »

  1.   

    Xproer团队是以即时通迅软件产品研发为主的一个年轻团队。目前Xproer团队正在集中精力研发一款仿QQ的即时通迅软件(XproerIM)。团队的发展离不开更多优秀人才的加盟,我们期待更多热爱即时通迅产品的开发者加盟XproerIM团队!XproerIM团队成员招募要求
    开发平台:Visual Studio 2008 SP1
     
    相关说明:
    由于我们希望开发小组所有的成员尽可能的写出高效完美的代码,所以以下书籍是希望加入的成员应该认真看完的,部分考题将会来自以下书籍。
    《Effective C++ Second Edtion 中文版》
    《C++ 标准程序库》
    《Effective STL中文版》
    《C++Primer中文版(第4版)》
     
    Windows开发方面的书籍:
    《VC++6.0技术内幕(第四版) 》
    《Windows核心编程》
    《深入浅出 MFC》
    《精通GDI+编程》
    《Windows网络编程第二版》
     
    基本要求:
    1. 高质量的代码编写功底。
    2. 熟练使用STL,C++范型进行编码。
    3. 熟练使用UML工具(StarUML)进行类构架设计。
    4. 拥有比较优美的代码命名风格。
    5. 较强的学习能力。例如系统中会用到boost,ATL/COM技术,或使用其它开源系统,这些需要自学。
    6. 熟练阅读MSDN或其它英文文档。
    7. 一定的文档编写能力。项目会要求编写各种文档。
    8. 最好有相关的作品。
     
    界面组:
    1. 非常了解界面,控件的绘制原理。
    2. 能够基于GDI和GDI+编写出高性能的界面绘制代码。
    3. 具备一定的图片处理能力。
    4. 熟悉DirectX优先。
     
    网络组:
    1. 非常了解各种网络通迅原理。熟悉各种网络通迅协议,例如HTTP,TCP,UDP,FTP,TELNET。
    2. 超强的高性能系统构架设计能力。
    3. 熟悉ACE优先。
     
    数据库组:
    1. 非常熟悉至少一种流行数据库MS SQL,或MY SQL。
    2. 较强的数据库性能优化能力。
    3. 熟悉分布式数据存储系统的设计与架构优先。
     
    WEB组:
    1. 非常熟悉至少一种流行的CMS,BBS,BLOG程序。例如 DeDeCMS,PHPCMS,PHPWind,Disucz!,Discuz!NT,Ucenter,SiteFactory CMS(2.5/3.0)。
    2. 非常熟悉至少一种WEB开发语言,ASP.NET或PHP。
    3. 熟悉WebService。
     
    Xproer团队成员权利:
    1. 无限制性的分享Xproer的技术储备资料。
    2. 每项目的分红及奖金。开发时间 + 代码量。
    3. 年底股份分红。
    4. 自由的时间分配权利。
    5. 优秀成员将能得到1%技术股,但是无战略决策权。
     
    简历信箱:[email protected]
      

  2.   

    Xproer交流论坛:http://groups.google.com/group/xproer?hl=zh-CN
      

  3.   

    图片是复制的博客园的。大家可以从这里看到:http://www.cnblogs.com/songsu/archive/2009/09/14/1566108.html
      

  4.   

    To:Tr0j4n非常欢迎大牛的加入,大牛将会在团队中指导类库的设计和关键模块的开发,本身不需要参与太多的编码。
      

  5.   

    TO:Tr0j4n
    23,在北京来说算是个毛头小子。
      

  6.   

    TO:zhaohongbo83创新很难嘛,这不正在组团队撒。总得一步一步来吧。
      

  7.   

    TO:Tr0j4n呵呵,没想到你这么年轻。有兴趣吗?
      

  8.   

    忙呀。只能支持了,你有什么问题在这里提出来,大家可以共同探讨。我要研究的东西太多,偶尔上来回答回答问题还好,至于开发产品,实在是没空今年还得修炼Java和Maya,相当忙
      

  9.   

    顶LZ,既然这样那就力求做的要比QQ好,要有自己的创新,如果只限于模仿别人的东西,你是没有办法占领市场的,除非只是搞搞研究而已~
      

  10.   

    TO:Tr0j4n
    那先谢过了。TO:superdiablo
    做IM多了去了,XproerIM只是其中的一个罢了。呵呵。TO:feilinhe
    创新是存活的关键,小弟正是这样想才把项目开源,以吸引更多志同道合的朋友来一起努力。
      

  11.   

    TO:ljz888666555还是有内行,嘿嘿。
      

  12.   

    楼主,很佩服你!不过你的代码出现了问题,在VS2008上编译不过。文档Down下来也看不成~希望尽快修复
      

  13.   

    TO:chenyu2202863
    要转换一下,部分编译不过的也正常,VC6的兼容性本来就不好。好消息是我们团队正在做代码迁移的工作。相信不久可以推出针对VS2008 SP1的平台源码了。
      

  14.   

    文档Down 我这边下载下来后可以直接打开浏览,没有问题。
      

  15.   

    我用Visual C++ 2008 SP1编译通过了,确认代码没问题,不过非常庞大啊。 感谢楼主的分享精神。
      

  16.   

    支持,一直希望有类似腾讯企业RTX的开源产品,满足用户与OA、邮件、短信的深度整合需求。
      

  17.   

    结起来看,在这个算法中,如果a是第一个放到set中去的话,那么a有没有排序无所谓;但是为了避免麻烦,b最好是排序的。 好了,代码就不写了。已经分析好了。坐等楼下提供别的算法....
      

  18.   

    是不是全部开源?还只是客户端开源,服务器,封装组件,COM, DLL,核心部分不开源?
      

  19.   

    下了个SDK包才编译通过,帅气啊
      

  20.   

    “XproerIM团队成员招募要求”算是非常高的要求了,估计不会招到多少人。
    这样的大虾们一般都很忙,搞理论的居多,而且是学院派。
    我也一直梦想拥有那样的团队,这么多年来,还只是梦想而已。
      

  21.   

    粗看了代码,风格不错,好像不是全部源代码吧。。没有数据库、也没有网络、也没有XML。看了几个模板,感觉LZ是为了用模板而用模板最基础的模板应用。。消息处理还是MFC那套老掉牙的。。现在基本是委托了、信号/槽等。。面向对象方面,类似MFC那套也看见了工厂之类的。。没再仔细看了。。LZ的精神还是值得称赞的。。
      

  22.   

    不好意思,没看到LZ说没没有开发数据库等方面的话,其实数据库、网络、配置等一加进来,设计不好的话,将会加大模块之间的耦合性,希望LZ能完成这部分的设计。
      

  23.   

    没特色~~~ 先说说比qq,msn在哪方面优越
      

  24.   

    为什么我编译的时候提示一个错误而不成功的啊,我用的是VC6.0编译的啊Compiling...
    StdAfx.cpp
    c:\documents and settings\administrator\桌面\xproerim\stdafx.h(32) : fatal error C1083: Cannot open include file: 'Gdiplus.h': No such file or directory
    执行 cl.exe 时出错.
    Creating browse info file...
    BSCMAKE: error BK1506 : cannot open file '.\Debug\StdAfx.sbr': No such file or directory
    执行 bscmake.exe 时出错.SeSameIM.exe - 1 error(s), 0 warning(s)
    这是什么啊   
      

  25.   

    下载下来的代码好像全是界面方面的把,另外有的VC6编译需要下个GDI的包,。
    http://www.crazy-bit.com/download/gdiplus.zip
    下载GID的包,解压后,把includes的文件考进
    C:\Program Files\Microsoft Visual Studio\VC98\Include
    lib文件考进
    C:\Program Files\Microsoft Visual Studio\VC98\Lib
    就可以编译通过了。。