Posted on 2009-10-09 12:34
S.l.e!ep.¢% 閱讀(800)
評論(0) 編輯 收藏 引用 所屬分類:
IM
開發(fā)平臺:Visual Studio 6.0
使用庫:GDI+,STL
界面截圖:

?? 
?
?
相信開發(fā)人員對即時通迅軟件(也稱IM)已經(jīng)非常熟悉了,有許多朋友更是夢想著開發(fā)一款屬于自已的通迅軟件,但是由于即時通迅軟件涉及的領域比較廣,比如UI,數(shù)據(jù)庫,網(wǎng)絡通迅等,所以工程量比較大,一個人開發(fā)難已顧及這么多,很可能最終因為維護的困難而放棄。
不僅通迅軟件涉及的范圍廣,其它的軟件也一樣,影響項目的最大問題在于系統(tǒng)的構架設計不好,這個問題在項目的開始階段還不會體現(xiàn)出來,往往隨著項目功能的增加,代碼量的暴漲那么系統(tǒng)就變得難已管理了,也許僅僅只是增加一個小的功能也會使整個系統(tǒng)傷筋動骨。
不過現(xiàn)在我非常高興的告訴大家一個好消息,如果你現(xiàn)在仍然沒有放棄打造自已的即時通迅軟件那么你可以試試開源的即時通迅項目XproerIM。XproerIM是一款模仿QQ的即時通迅開源項目,目的在于打造國內最大的且代碼質量最高的開源項目。最新版本的XproerIM是使用VC6.0編寫的,暫時還沒有服務端,只是一個客戶端的程序。雖然沒有服務端但是這并不影響XproerIM的開源進程,因為XproerIM提供了豐富和方便的擴展接口來供開發(fā)人員自定義開發(fā),其源碼完全開放,所以你可以完全根據(jù)自身的網(wǎng)絡環(huán)境情況來定制開發(fā)服務器,服務器可以基于Linux或者Windows。
在客戶端界面方面可以說XproerIM是一款集大成者,他集成了許多網(wǎng)上優(yōu)秀的開源項目,例如菜單的項目使用CMenuXP(http://www.codeproject.com/KB/menus/menuxp2.aspx),XML文件處理使用了TinyXML,WebService方面使用gSOAP,當然也少不了一些大牛的代碼。大牛的代碼是從CSDN和其它網(wǎng)站中收集并整理的,XproerIM客戶端的開源也是受這些大牛奉獻精神的影響。
為了使一些組件或模塊盡可能的通用我們花了一些時間來設計一個純面向對象的類庫(XproerIM Framework)。一方面是為了更好的管理整個系統(tǒng)和促進各模塊之前的協(xié)作能力,另一方面是為XproerIM團隊開發(fā)帶來更多的便利。XproerIM Framework不僅僅只是提供更豐富的功能,更是在代碼質量,風格,命名規(guī)范上面狠下功夫,這種全方位立體式的Framework會讓XproerIM的開發(fā)人員感覺到用C++編寫代碼也是一種享受,毫不夸張的說XproerIM Framework的代碼質量最終將會達到商用級別!
由XproerIM開發(fā)團隊傾心打造的XproerIM Framework 類庫是一個由 XproerIM Framework SDK 中包含的類、接口和值類型組成的庫。該庫提供對文件,網(wǎng)絡,數(shù)據(jù)庫,系統(tǒng)功能的訪問,是建立 Windows,WebService應用程序、組件和控件的基礎。 XproerIM Framework 是XproerIM的核心組件。XproerIM Framework 旨在實現(xiàn)下列目標:
? 從底層上簡化C++編碼,讓開發(fā)人員更多的關注設計和業(yè)務邏輯。同時由設計和開發(fā)小組協(xié)作來保證代碼質量和性能。
? 提供一個一致的面向對象的編程環(huán)境,這種環(huán)境規(guī)定了命名規(guī)范,編碼風格以及代碼注釋等要求。就算是一個新加盟的成員也能輕松勝任。
? 使所有成員的經(jīng)驗在面對類型大不相同的應用程序(如基于 Windows 的應用程序和基于 Web 的應用程序)時保持一致。即便是一個對WebService不熟悉的成員也能通過類庫輕松訪問WebService并編寫業(yè)務邏輯方面的代碼。同是為第三方WebService系統(tǒng)提供強勁的支持,使第三方WebService能夠與XproerIM無縫的集成。
由于XproerIM客戶端極其優(yōu)化的構架所以也是眾多新手學習的寶典。同時XproerIM客戶端社區(qū)也正在極積的建設中,我們不僅僅提供源代碼,而且還會提供詳細的開發(fā)文檔,以及各種技術文檔來幫助開發(fā)人員了解整套系統(tǒng)。
最后雖然XproerIM有這么多的優(yōu)點,但是我仍然需要坦白的說明一點目前XproerIM還并不完善,里面的一些功能,控件設計的并不完善。對于開發(fā)人員來講我覺得即然XproerIM提供了這么優(yōu)秀的構架那么我們可以將完善XproerIM客戶端的過程看作是對自已能力提高的一種練習。同時XproerIM開發(fā)團隊會盡最大的努力使這一過程變成一種樂趣!
源代碼項目下載地址:http://code.google.com/p/xproerim/downloads/list
Xproer交流論壇:http://groups.google.com/group/xproer?hl=zh-CN
Xproer團隊是以即時通迅軟件產(chǎn)品研發(fā)為主的一個年輕團隊。目前Xproer團隊正在集中精力研發(fā)一款仿QQ的即時通迅軟件(XproerIM)。團隊的發(fā)展離不開更多優(yōu)秀人才的加盟,我們期待更多熱愛即時通迅產(chǎn)品的開發(fā)者加盟XproerIM團隊!
XproerIM團隊成員招募要求
開發(fā)平臺:Visual Studio 2008 SP1
相關說明:
由于我們希望開發(fā)小組所有的成員盡可能的寫出高效完美的代碼,所以以下書籍是希望加入的成員應該認真看完的,部分考題將會來自以下書籍。
《Effective C++ Second Edtion 中文版》
《C++ 標準程序庫》
《Effective STL中文版》
《C++Primer中文版(第4版)》
Windows開發(fā)方面的書籍:
《VC++6.0技術內幕(第四版) 》
《Windows核心編程》
《深入淺出 MFC》
《精通GDI+編程》
《Windows網(wǎng)絡編程第二版》
基本要求:
1.???????
高質量的代碼編寫功底。
2.???????
熟練使用STL,C++范型進行編碼。
3.???????
熟練使用UML工具(StarUML)進行類構架設計。
4.???????
擁有比較優(yōu)美的代碼命名風格。
5.???????
較強的學習能力。例如系統(tǒng)中會用到boost,ATL/COM技術,或使用其它開源系統(tǒng),這些需要自學。
6.???????
熟練閱讀MSDN或其它英文文檔。
7.???????
一定的文檔編寫能力。項目會要求編寫各種文檔。
8.???????
最好有相關的作品。
?
界面組:
1.???????
非常了解界面,控件的繪制原理。
2.???????
能夠基于GDI和GDI+編寫出高性能的界面繪制代碼。
3.???????
熟悉DirectUI技術思想,編寫過不基于MFC的控件(例如CButton、CStatic、CTabCtrl、CListBox、CTreeCtrl)。
4.???????
具備一定的圖片處理能力。
5.???????
熟悉DirectX優(yōu)先。
?
網(wǎng)絡組:
1.???????
非常了解各種網(wǎng)絡通迅原理。熟悉各種網(wǎng)絡通迅協(xié)議,例如HTTP,TCP,UDP,FTP,TELNET。
2.???????
編寫過基于網(wǎng)絡協(xié)議(FTP、UDP、HTTP)的類庫或作品。
3.???????
超強的高性能系統(tǒng)構架設計能力。
4.???????
熟悉ACE優(yōu)先。
?
數(shù)據(jù)庫組:
1.???????
非常熟悉至少一種流行數(shù)據(jù)庫MS SQL,或MY SQL。
2.???????
擅長編寫存儲過程。
3.???????
較強的數(shù)據(jù)庫性能優(yōu)化能力。
4.???????
熟悉分布式數(shù)據(jù)存儲系統(tǒng)的設計與架構優(yōu)先。
?
WEB
組:
1.???????
非常熟悉至少一種流行的CMS,BBS,BLOG程序。例如 DeDeCMS,PHPCMS,PHPWind,Disucz!,Discuz!NT,Ucenter,SiteFactory CMS(2.5/3.0)。
2.???????
使用ASP.NET(C#)或PHP開發(fā)過至少一個WEB產(chǎn)品。
3.???????
較好的JavaScript基礎,使用JS或JS框架(JQuery、Prototype)編寫過用戶體驗比較好的前端應用。
4.???????
使用WebService開發(fā)過實際應用。
?
Xproer
團隊成員權利:
1.???????
無限制性的分享Xproer的技術儲備資料。
2.???????
每項目的分紅及獎金。開發(fā)時間 + 代碼量。
3.???????
年底股份分紅。
4.???????
自由的時間分配權利。
5.???????
優(yōu)秀成員將能得到1%技術股,但是無戰(zhàn)略決策權。
簡歷信箱:hyhyo@163.com