- 嵌入式GUI開發設計
- 韓超編著
- 2737字
- 2018-12-27 15:14:27
前言
時至今日,MiniGUI已經走過了十年的路程。目前的MiniGUI已經成為一套具有完整清晰定義的移植層、優秀的窗口管理機制、豐富而易用的控件并可以進行外觀定制的嵌入式GUI系統;在上層的組件中,MiniGUI還包含了3D接口、輸入法、打印甚至瀏覽器等組件。從一款默默無聞的小型GUI程序,到現在成為全球嵌入式軟件領域的鼎鼎大名的軟件。對于中國人來說,MiniGUI所承載的不僅僅是一款軟件的成功,更體現了中國人的東方式智慧完全有能力在世界的嵌入式軟件行業中占據一席之地。可以肯定地說,MiniGUI的誕生和發展鼓舞了中國人在軟件研發領域的熱情,也堅定了中國人進入世界嵌入式軟件開發前沿的信念。
MiniGUI的發展歷程同時也從一個側面體現了中國嵌入式技術的發展歷程。MiniGUI的創始人魏永明先生等一批中國嵌入式技術的先驅引領了嵌入式技術在中國發展的潮流。自從1998年魏永明先生發布MiniGUI的第一個版本開始,這個項目就一直吸引并帶領著來自不同專業、不同領域的國人進入了嵌入式技術的世界。作為一個交叉學科,嵌入式系統的技術需要綜合性的人才,MiniGUI的發展吸引了更多人進入這個領域。作為一個嵌入式的GUI系統,MiniGUI的開發讓人們更多熟悉了嵌入式系統的開發流程。在這個過程中,嵌入式技術的門檻對于大眾降低了很多,以前某些只有研發企業和高校才有能力開發的項目,現在普通的愛好者也可以參與開發。更多人的參與同時也促進嵌入式技術在中國有了更好的發展。
從MiniGUI的開源版本中,我們深刻地感受到了這個中國人自己創作的一套完整嵌入式GUI系統的魅力。隨著對MiniGUI的學習,很多人在數年之前進入了嵌入式系統領域,他們當中很多人成為了現今中國大陸地區嵌入式技術的中堅。在對MiniGUI的關注中,每一個從事嵌入式研發相關的人員都可以從API的制定、為移植構建的抽象層、代碼組織、軟件組織架構乃至整個嵌入式系統中間件的架構得到豐富的收獲。
飛漫公司的成立已經有6個年頭了,MiniGUI在飛漫公司的運作中得到了更大的發展。在這個過程中,我們欣喜地看到MiniGUI并沒有像很多純粹的技術產品一樣虎頭蛇尾,而是在開源版本和商業版本雙線上成功地發展。MiniGUI同時具有了開源軟件開放性的特點和商業軟件高品質的特點。
作為一款軟件產品,MiniGUI的商業版本使得MiniGUI得到了長足的進展,讓MiniGUI穩定地運行到了更多的設備上。目前,MiniGUI在小型嵌入式系統上面的移植具有無可比擬的優勢。對比同類的嵌入式GUI系統,MiniGUI不僅性能開銷較低,而且明顯具有更強的可移植性和可配置性。MiniGUI可以靈活提供各種功能定制:小到簡單的圖形繪制庫,大到整個系統的解決方案。由于MiniGUI系統生根發芽的土壤在中國,它相比其他的GUI系統更適合由中國人來開發。目前MiniGUI在中高端手機、PDA類產品、機頂盒、智能家居以及工控、儀表領域都有了廣泛的應用。
尤其值得指出的是,雖然飛漫是一家研發軟件產品的公司,但是魏永明先生帶領飛漫團隊對中國技術界本著非常負責任的態度,依然在進行著一定程度的技術傳播和交流,這也很大程度上促進了嵌入式軟件技術的提高。飛漫的成功對中國軟件業發展也是一個很好的啟迪。
MiniGUI在穩定發展了若干年后,目前最新的版本為MiniGUI3.0。此時的MiniGUI在接口上已經基本穩定,但也具有了很強的擴展性。MiniGUI正向著可以提供整套的解決方案、友好的開發環境、并且可以接受第三方的應用的方向發展。飛漫的定制模式也讓基于MiniGUI的軟件開發的分工更加明確,這樣可以使基于MiniGUI的產品具有更快更好的開發效率。MiniGUI的發展歷程不僅是技術上的發展,也是對行業產業鏈和發展模式的思考。
本書主要內容
本書通過介紹MiniGUI系統的開發,給讀者展示一個學習GUI系統程序的平臺。本書的內容可以體現兩個層次的內容:其一是對MiniGUI的應用程序開發的學習,讀者可以通過對照光盤中的程序學習本書的內容,在學習之后可以單獨進行MiniGUI應用程序的開發;其二是對GUI系統程序設計思想的學習,雖然MiniGUI系統和其他GUI系統存在差異,但是GUI系統整體設計的思想是通用的,讀者根據本書的內容學習并進行思考后,在開發其他的GUI系統的時候也可以快速地上手。
對于一個GUI系統的學習,可以分成三個層次:第一個層次是了解GUI系統層次結構和程序框架;第二個層次是熟悉這個GUI系統所提供的功能;第三個層次是如何使用GUI系統構建完整的應用程序。
本書的第3章、第4章主要介紹了MiniGUI系統在第一個層次的內容。通過這兩章的學習,讀者可以熟悉MiniGUI系統的軟件各個層次的關系,也可以學會如何使用MiniGUI構建一個簡單的應用程序。
本書的第5章到第12章主要介紹了MiniGUI系統在第二個層次的內容。主要內容為MiniGUI主窗口、對話框、控件的使用、GDI編程以及其他一些方面的內容。其中,主窗口、對話框和控件的使用三者構成了完成MiniGUI應用程序的主體;GDI名為圖形設備接口,這是一組較低層次的API,GDI編程可以讓讀者深入控制系統,進行更靈活的程序設計;其他方面的內容包括菜單、鍵盤和鼠標處理、圖標、光標、定時器等內容。第12 章單獨介紹了MiniGUI擴展庫的內容,包括擴展的對話框、控件和皮膚等功能。
本書的第13章到第16章主要介紹了MiniGUI系統在第三個層次的內容。這些章節通過展示MiniGUI演示庫的例子,讓讀者學習使用MiniGUI提供的接口構建完成的應用程序。這些簡單的應用程序可以體現GUI系統設計的一些思路。
本書讀者對象
本書既適合需要進入MiniGUI應用程序開發領域的人員,也適合需要學習通用的GUI技術的人員。MiniGUI系統是一個目前廣泛應用的嵌入式GUI系統,可以通過學習這個系統進入GUI程序開發的領域。本書要求讀者具有C語言編程的一定基礎。本書的開發環境可以使用Ubuntu、Fedora或OpenSuse等Linux發行版,需要安裝了GCC、make等基本的工具,然后可以根據本書提供的光盤建立開發環境。本書光盤中也提供了部分Windows中的開發環境,可以在Windows的Visual C++6.0環境中使用。
在本書的學習過程中,為了取得事半功倍的效果,讀者可以使用邊學邊練的方式,對于書中的示例程序,應對照光盤中的程序或自己練習編寫程序進行驗證和擴展。由于各個控件的使用相似性較多,本書只選取了具有代表性的進行介紹,并在附錄中列出了控件的特性。讀者可以通過參考MiniGUI的API手冊和頭文件中的描述,自己編寫程序進行更多的練習。對于完整GUI程序的組織,讀者應根據自身需要完成軟件的需求,結合一般軟件工程的思想和MiniGUI接口的特點進行設計和實現。此外,MiniGUI的API大都是通過深思熟慮發布的,具有簡潔、含義明確和便于擴展的特點,讀者在這方面進行思考,可以提高自身軟件工程的思想。
本書由韓超規劃和編著,北京飛漫軟件技術有限公司為本書提供了豐富的資料。本書的配套光盤由韓超組織完成,其中部分內容依據北京飛漫軟件技術有限公司授權加入。在本書及其配套光盤的編著過程中,亞嵌嵌入式教育研究中心為本書提供了支持,郎鐵山、王旭光參與了審校工作。本書的出版也是飛漫多年技術積累的成果。本書作者和參與編著人員長期立志于推廣嵌入式技術,努力促進公眾的技術共同進步。由于時間倉促,本書可能依然存在一些錯誤和問題,請讀者見諒。MiniGUI的發展需要廣大的技術人員共同參與,歡迎讀者討論和指點。
- 大數據項目管理:從規劃到實現
- ETL with Azure Cookbook
- Hands-On Cloud Solutions with Azure
- PIC單片機C語言非常入門與視頻演練
- Photoshop CS3特效處理融會貫通
- 21天學通Visual Basic
- Supervised Machine Learning with Python
- 可編程序控制器應用實訓(三菱機型)
- 變頻器、軟啟動器及PLC實用技術260問
- Photoshop行業應用基礎
- 從零開始學Java Web開發
- Linux系統下C程序開發詳解
- Hands-On Dashboard Development with QlikView
- 空間機器人
- AVR單片機工程師是怎樣煉成的