array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 XproerIM V1.0 - 爱码网

开发平台:Visual Studio 2008 SP1 
使用库:GDI+,STL

联系邮箱:416840981@qq.com
源码下载:http://code.google.com/p/xproerim/downloads/list

邀请网络开发工程师加盟

要求:熟悉XMPP协议,并有相关的开发经验。
职责:对XMPP协议进行封装,并编写基于UNICODE的网络库。

界面截图:
XproerIM V1.0XproerIM V1.0

XproerIM V1.0

  XproerIM V1.0 XproerIM V1.0

XproerIM V1.0 XproerIM V1.0
   
      相信开发人员对即时通迅软件(也称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客户端的开源也是受这些大牛奉献精神的影响。
为了使一些组件或模块尽可能的通用我们花了一些时间来设计一个纯面向对象的类库(XproerIM Framework)。一方面是为了更好的管理整个系统和促进各模块之前的协作能力,另一方面是为XproerIM团队开发带来更多的便利。XproerIM Framework不仅仅只是提供更丰富的功能,更是在代码质量,风格,命名规范上面狠下功夫,这种全方位立体式的Framework会让XproerIM的开发人员感觉到用C++编写代码也是一种享受,毫不夸张的说XproerIM Framework的代码质量最终将会达到商用级别!
由XproerIM开发团队倾心打造的XproerIM Framework 类库是一个由 XproerIM Framework SDK 中包含的类、接口和值类型组成的库。该库提供对文件,网络,数据库,系统功能的访问,是建立 Windows,WebService应用程序、组件和控件的基础。 XproerIM Framework 是XproerIM的核心组件。XproerIM Framework 旨在实现下列目标:
 从底层上简化C++编码,让开发人员更多的关注设计和业务逻辑。同时由设计和开发小组协作来保证代码质量和性能。
 提供一个一致的面向对象的编程环境,这种环境规定了命名规范,编码风格以及代码注释等要求。就算是一个新加盟的成员也能轻松胜任。
 使所有成员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。即便是一个对WebService不熟悉的成员也能通过类库轻松访问WebService并编写业务逻辑方面的代码。同是为第三方WebService系统提供强劲的支持,使第三方WebService能够与XproerIM无缝的集成。
由于XproerIM客户端极其优化的构架所以也是众多新手学习的宝典。同时XproerIM客户端社区也正在极积的建设中,我们不仅仅提供源代码,而且还会提供详细的开发文档,以及各种技术文档来帮助开发人员了解整套系统。 
     最后虽然XproerIM有这么多的优点,但是我仍然需要坦白的说明一点目前XproerIM还并不完善,里面的一些功能,控件设计的并不完善。对于开发人员来讲我觉得即然XproerIM提供了这么优秀的构架那么我们可以将完善XproerIM客户端的过程看作是对自已能力提高的一种练习。同时XproerIM开发团队会尽最大的努力使这一过程变成一种乐趣!
     Xproer团队是以即时通迅软件产品研发为主的一个年轻团队。目前Xproer团队正在集中精力研发一款仿QQ的即时通迅软件(XproerIM)。团队的发展离不开更多优秀人才的加盟,我们期待更多热爱即时通迅产品的开发者加盟XproerIM团队!

相关文章: