Posted on 2009-10-09 12:34
S.l.e!ep.¢% 閱讀(796)
評論(0) 編輯 收藏 引用 所屬分類:
IM
開發平臺: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客戶端的開源也是受這些大牛奉獻精神的影響。
為了使一些組件或模塊盡可能的通用我們花了一些時間來設計一個純面向對象的類庫(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開發團隊會盡最大的努力使這一過程變成一種樂趣!
源代碼項目下載地址:http://code.google.com/p/xproerim/downloads/list
Xproer交流論壇:http://groups.google.com/group/xproer?hl=zh-CN
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.???????
熟悉DirectUI技術思想,編寫過不基于MFC的控件(例如CButton、CStatic、CTabCtrl、CListBox、CTreeCtrl)。
4.???????
具備一定的圖片處理能力。
5.???????
熟悉DirectX優先。
?
網絡組:
1.???????
非常了解各種網絡通迅原理。熟悉各種網絡通迅協議,例如HTTP,TCP,UDP,FTP,TELNET。
2.???????
編寫過基于網絡協議(FTP、UDP、HTTP)的類庫或作品。
3.???????
超強的高性能系統構架設計能力。
4.???????
熟悉ACE優先。
?
數據庫組:
1.???????
非常熟悉至少一種流行數據庫MS SQL,或MY SQL。
2.???????
擅長編寫存儲過程。
3.???????
較強的數據庫性能優化能力。
4.???????
熟悉分布式數據存儲系統的設計與架構優先。
?
WEB
組:
1.???????
非常熟悉至少一種流行的CMS,BBS,BLOG程序。例如 DeDeCMS,PHPCMS,PHPWind,Disucz!,Discuz!NT,Ucenter,SiteFactory CMS(2.5/3.0)。
2.???????
使用ASP.NET(C#)或PHP開發過至少一個WEB產品。
3.???????
較好的JavaScript基礎,使用JS或JS框架(JQuery、Prototype)編寫過用戶體驗比較好的前端應用。
4.???????
使用WebService開發過實際應用。
?
Xproer
團隊成員權利:
1.???????
無限制性的分享Xproer的技術儲備資料。
2.???????
每項目的分紅及獎金。開發時間 + 代碼量。
3.???????
年底股份分紅。
4.???????
自由的時間分配權利。
5.???????
優秀成員將能得到1%技術股,但是無戰略決策權。
簡歷信箱:hyhyo@163.com