面向對象的C語言開發框架:Nesty
Nesty是什么?
Nesty是跨平臺的,面向對象的C語言開發框架。Nesty旨在為從事系統開發的編程人員提供一套統一的、高效的、易于使用的編程接口。
Nesty能做什么?
Nesty不是一個可以單獨運行的程序,而是一套程序開發框架(或者工具庫),Nesty已有的代碼為從事C/C++開發的編程人員提供跨平臺,面向對象C,容器及算法,多線程,單元測試等支持。編程人員利用Nesty所提供的工具開發出進一步接近其項目需求的軟件。
Nesty包含了哪些組件?
Nesty目前的版本包含了NOOC,NCollection,NThread,NUtil,NTest等重要組件:
NOOC (Nesty Object-Oriented C)為純C語言環境提供面向對象編程的支持。NOOC提供的類型框架能夠模擬C++語言類繼承,多態,運行時類識別,安全類型轉換等面向對象行為。NOOC突破C的語言限制,為C環境下從事類C++開發提供強力支持。
NCollection 是在NOOC基礎上開發的面向對象的容器框架,NCollection提供了近20種常用容器,類型覆蓋所用通用數據結構,如數組(NArray)、向量(NVector)、列表(NList),集合(NSet)、關聯表(NMap)。用戶只需要為類型定義極少數的模板函數,即可以方便地使用。
NThread 基于Posix標準提供并發編程的支持。除了實現了Posix協議下的大多數同步對象外,還專為線程創建與調度提供了NExecutor和NScheduler等基于線程池的技術。NThread足以解決所有您在并發編程中遇到的難題。
NUtil 包含了框架中的其他功能,其中NString是功能強大的字符串對象,涵蓋了對拘留池的支持,NChars為創建字符串容器提供便利。
NTest 是Nesty的單元測試框架,旨在幫助用戶構建快速,有效的測試,既可以整體地運行也能對個別用例提供單獨調試的便利。通過NTest提供的工具,您將能夠方便,系統地管理以及復用您的測試用例。
Nesty基于什么協議發布?
Nesty基于GNU聯盟的GPL(GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007)協議發布,意味著使用了Nesty的項目,也必須是開源的。但對于商業團體而言,依然可以向Nesty的作者申請非GPL授權。
Nesty支持哪些平臺?
目前只支持32位的Windows操作系統和32位的Ubuntu12.04LTS Linux系統。Nesty采取了全平臺戰略,用純C語言開發,不依賴任何第三方庫/代碼,因此您可以毫不費力地將Nesty移植到任何支持ANSI C99以及Posix .1標準的平臺上。
Nesty容器支持C++
為了方便用戶在C++中使用容器,Nesty專門針對模板類對NCollection的所有對象提供了封裝,因此您可以像使用標準模板庫一樣方便地使用Nesty。
Nesty可以使用哪些跨平臺的工具與技術?
Nesty使用CMake來構建和編譯項目,因此要求使用Nesty的平臺能夠運行CMake。Windows下可以使用Visual Studio,以及Linux下可以使用KDevelop進行開發。
Nesty目前什么規模?
Nesty共包含約357個代碼文件,代碼總行數約78000行,有效代碼行數約56000行,其中測試代碼約20000行。
為什么要支持Nesty?
Nesty易于集成和移植,為了考慮到跨平臺及移植的問題,Nesty核心組件采用純C語言編程,支持ANSI C99標準。
Nesty支持面向對象,Nesty能很好地模擬C++等面向對象語言的諸多特性,如繼承,多態等,使您的程序在保持了C簡潔、高效的特性的同時,又能彌補語言限制而引發的設計上的不便。Nesty已經為您提供了最簡潔的模式來實現面向對象C。
Nesty的代碼是健壯的,Nesty的核心代碼經過作者反復測試和調試,并進行了多次的修改與更正,以確保其正確性,雖然僅憑作者一人之力很難做到完美,但作者對其代碼擁有充足的信心。
Nesty的算法是高效的,Nesty采用了大量計算機行業中優秀且成熟的算法,其中部分是經作者長期研究和測試所總結出來的寶貴經驗。
Nesty的框架是優秀的,Nesty自開發之初,便參考了眾多成熟且優秀的編程語言和SDK,如Java,C#,python,STL,QT,GTK等,并逐一參考其優點。
Nesty是免費且開源的,Nesty的源代碼完全公開,任何人都可以獲得一份該軟件的拷貝并免費使用,前提是您必須在GPL的授權許可下從事活動。
Nesty會得到長期支持,作者承諾會持續開發并維護該軟件,即使將來作者由于個人原因無法繼續開發Nesty,任何組織和個人都可以在GPL的框架下繼續擴展和維護Nesty。
Nesty直接從開發者獲得支持,Nesty的作者并非來源于某個外國的個人或組織,而是中國公民,并且活動于國內知名技術論壇,您隨時可以聯系作者提問并給予反饋。作者會盡快受理您的請求。
Nesty的作者是誰?
Nesty的作者是在計算機行業擁有多年工作經驗的程序員,曾任職于國內知名IT/游戲公司。目前,作者本人作為Nesty項目的發起人和主要開發者,致力于為眾多專業/非專業的編程開發人員提供服務。
作者能向您提供什么服務?
代碼授權,Nesty基于GPL發布,為了保證公開且公平,GPL具有傳染性,意味著使用了Nesty代碼的軟件項目也必須是基于GPL發布的,即同樣是開源且免費的。如果您對Nesty感興趣但又不希望自己的項目暴露在GPL框架下,作者同樣可以向您提供非GPL授權。
技術支持,如果您在對Nesty進行移植和集成過程中遇到問題,或者需要對軟件實施定制,作者可以向您提供必要的支持,并將根據實際情況為您提供免費/非免費的服務。