• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library

            轉載必須注明原文轉自C++博客(cppblog),作者畢達哥拉斯半圓,謝謝合作。

            寫這個文章的目的,是希望得到更多人的幫助、指導、提供建議,甚至合作。我想自己開發一個Windows上的C++GUI,我取名叫做WarmGUI,因為CoolGUI.com已經被人注冊了,我想那我就叫Warm吧 ^_^

            我會用MFC開發簡單的Windows應用,我的興趣在服務器端并且喜歡稍微系統底層一些的工作,做了較長時間之后。現在的工作需要我開發一個客戶端應用,但是現在,我發現桌面世界變了,我總結了一些主要原因,不一定正確,而且,這也不是我的重點,只是闡述我的目的和動因,請批評指正。

            1. Apple公司的個人產品更加注重個性化合視感(look & fell),盡管不是新話題,在GoF的設計模式中,已經論述過MVC以及look & fell,那么在GoF之前這個話題必然已經存在一段時間了。但是喬布斯幫主在這個方向做到了極致,各種i產品不斷沖擊桌面,移動,掌上各種終端,導致所有的廠商不得不跟上Apple公司的腳步。

            2. 為了獲得"漂亮"的視覺效果,iOS, Android, linux等產品以OpenGL為主要渲染工具做界面開發,而微軟公司與之抗衡的工具是DirectX,并且在近些年的發展中DirectX大有超過OpenGL的勢頭,至少在某些宣傳中是這樣。當然這兩技術必然將長期共存很長時間。

            3. 微軟為了跟上時代潮流,從Win7開始,系統內置DirectX11客戶運行庫,用戶無需單獨安裝。而WPF開始取代MFC做為主流的桌面產品,WPF的子集Silverlight也作為網頁前端開發工具,在IE9中提供特殊視覺效果。

            至此,我認為開發UI應用的人必須:
            1. 學習和掌握DirectX/OpenGL至少兩者之一
            2. 學習和掌握WPF以及Net4以上

            但是對我個人而言,我學習WPF但是拒絕使用WPF,原因如下:
            1. WPF是一個新的框架,只要是框架就會被限制在里面,mfc那冰冷呆板的樣子就是一個例子(這也給Apple可乘之機)。wpf不過是用新的冰冷呆板的框架取代了舊的冰冷呆板的框架。

            2. 據說WPF的效率不佳,并且WPF的視覺效果,是對Direct3D, Direct2D等的封裝,如果想玩的好,還是得從DX玩學起。

            3. 我非常厭惡 C# + .Net 組合,拒絕使用任何C#和.Net,我喜歡效率,喜歡赤裸裸的虐待系統,不喜歡隔著衣服玩女人。我強烈的要求使用C++/C做開發,我不知道是否有人跟我一樣,還是這只是我的個人偏好。

            綜合以上原因,我下載了CEGUI, MyGUI, 這兩個C++UI框架的主要應用時游戲,當然了,OpenGL/DirectX神馬的最早就是應用在游戲上的,他們已經做的比較完善,比較強大了。但是我運行了他們的Demo之后,卻對效率界面效果不是很滿意而且有錯誤,看來需要讀他們的源代碼,并且修改。

            既然如此,我想我可以開發一個自己的框架,反正我要學習的東西那么多(Dx,OGL, WPF, CEGUI, MyGUI...),邊學邊干唄。既然要學習,就學的高興一點,玩得嗨一點。

            目前我的設想如下:
            1. 作為通用的界面基礎,在此之上構建商業軟件,游戲等等;
            2. 輕量級的類庫,不像MFC那樣對一切進行封裝,允許大量使用Windowd API,只做必要的封裝;
            3. 保持靈活度和擴展性;
            4. 采用Direct2D, Direct3D做渲染;
            5. 后期做一個可視化的IDE,嵌入VisualStudio中,做窗口布局,自動生成代碼等。

            看來我要做的工作還真不少,下一節,我開始把我做的一些工作總結寫出來,還要請大家不吝賜教啊!學生這里先謝過啦~

            珍愛生命,努力編程!!

            posted on 2012-08-30 16:40 畢達哥拉斯半圓 閱讀(2548) 評論(17)  編輯 收藏 引用

            評論

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 17:26 right

            根據我這么多年的經驗,該庫能夠完成的概率為0%~  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 19:24 畢達哥拉斯半圓

            @right
            謝謝鼓勵,哈哈,說說看,為什么呢?  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 19:33 LongSing

            你可以參考tcl/tk
            還有FLTK  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 19:57 畢達哥拉斯半圓

            @LongSing
            好的,這就去看,謝謝!  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 20:19 Richard Wei

            支持一下,不過即使有D3D和WPF的經驗,做這個東西也不是容易的事  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 20:49 Pear

            一是有沒有那么長久的時間精力,二是能不能當成習慣來做,連半神vczh的Gac都還沒完成呢  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 21:14 畢達哥拉斯半圓

            @Pear
            您說的很有道理,不著急,慢慢弄吧,先做個小級別的。  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 21:15 畢達哥拉斯半圓

            @Richard Wei
            謝謝支持!確實很難,慢慢弄吧  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 21:18 畢達哥拉斯半圓

            @Pear
            謝謝提供Gac的信息,我剛知道有這個lib,我好好學學!  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 23:03 萬連文

            根據我目前掌握的,可以研究一下chromium的views框架以及未來某個時間推出的aura(已經用于chrome os)。實現思想上(概念、對象模型)可以借鑒wpf,缺點就是沒有源碼參考。我自己在盤views/aura + windowless richedit + windowless webview(chromium 內核),工作量巨大,還好可以占用工作時間折騰。

            FLTK 我5-6年前看過,太輕以至于在那個年代做最簡陋的嵌入式UI都覺得不夠好,盡管如此也值得一看。  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 23:16 fzy

            感覺你要折騰好幾次的。
            最好和一個商業項目綁定在一起做。
            一開始用手寫的數據來驅動,
            編輯器可以后面寫。

            不要依賴特定的渲染  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 23:42 fzy

            和商業項目綁定,快速的迭代開發,才是最好的方式。
            研究形式的開發,根本出不來的。
              回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 23:46 陳梓瀚(vczh)

            @fzy
            不要小看業余生活豐富的蛋疼程序員的力量  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 23:47 畢達哥拉斯半圓

            @fzy
            多謝指教!確實與商業項目綁定,目前做開發的只有我一個人,折騰了一個多月了,哈哈。  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-08-30 23:49 畢達哥拉斯半圓

            @萬連文
            多謝指點!就去看~  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-09-03 22:16 過還漂

            思路很好,困難不少,但不是別人說的那樣不可能完成,說實話,我現在正搞一個類似的東西,只能利用業余時間搞  回復  更多評論   

            # re: WarmGUI(0. 序言) 構建自己的C++ Windows UI Class Library 2012-09-03 22:27 畢達哥拉斯半圓

            @過還漂
            哈哈,好啊,一起加油吧!還請多多指點!  回復  更多評論   

            <2012年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            導航

            統計

            常用鏈接

            留言簿(3)

            隨筆檔案

            相冊

            contact

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲国产精品无码久久| 久久最近最新中文字幕大全 | 中文字幕无码av激情不卡久久| 久久久精品久久久久特色影视| 久久这里有精品视频| 欧美va久久久噜噜噜久久| 久久久一本精品99久久精品88| 精品久久香蕉国产线看观看亚洲| 久久99精品国产麻豆蜜芽| av色综合久久天堂av色综合在| 久久精品国产秦先生| av色综合久久天堂av色综合在| 久久99毛片免费观看不卡| 国内精品伊人久久久久777| 国产精品久久久久无码av| 国产精品久久久久免费a∨| 久久99精品国产麻豆宅宅| 久久精品卫校国产小美女| 久久国产精品波多野结衣AV | 久久电影网一区| 中文字幕久久精品无码| 中文字幕精品无码久久久久久3D日动漫 | 久久久久一级精品亚洲国产成人综合AV区| 伊人久久大香线蕉精品不卡| 国产高潮国产高潮久久久91 | 亚洲精品视频久久久| 精品国产乱码久久久久久浪潮| 狠狠干狠狠久久| 欧美熟妇另类久久久久久不卡| 久久人人爽人人爽人人片av麻烦 | 久久久精品国产sm调教网站 | 久久国产香蕉视频| 国产精品成人99久久久久91gav| 久久99精品国产99久久| 国产精品岛国久久久久| 久久99中文字幕久久| AAA级久久久精品无码区| 狠狠综合久久综合中文88| 九九久久精品无码专区| 久久久久亚洲?V成人无码| 欧美久久一级内射wwwwww.|