• <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. 序言) 構(gòu)建自己的C++ Windows UI Class Library

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

            寫這個(gè)文章的目的,是希望得到更多人的幫助、指導(dǎo)、提供建議,甚至合作。我想自己開發(fā)一個(gè)Windows上的C++GUI,我取名叫做WarmGUI,因?yàn)镃oolGUI.com已經(jīng)被人注冊(cè)了,我想那我就叫Warm吧 ^_^

            我會(huì)用MFC開發(fā)簡(jiǎn)單的Windows應(yīng)用,我的興趣在服務(wù)器端并且喜歡稍微系統(tǒng)底層一些的工作,做了較長(zhǎng)時(shí)間之后。現(xiàn)在的工作需要我開發(fā)一個(gè)客戶端應(yīng)用,但是現(xiàn)在,我發(fā)現(xiàn)桌面世界變了,我總結(jié)了一些主要原因,不一定正確,而且,這也不是我的重點(diǎn),只是闡述我的目的和動(dòng)因,請(qǐng)批評(píng)指正。

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

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

            3. 微軟為了跟上時(shí)代潮流,從Win7開始,系統(tǒng)內(nèi)置DirectX11客戶運(yùn)行庫,用戶無需單獨(dú)安裝。而WPF開始取代MFC做為主流的桌面產(chǎn)品,WPF的子集Silverlight也作為網(wǎng)頁前端開發(fā)工具,在IE9中提供特殊視覺效果。

            至此,我認(rèn)為開發(fā)UI應(yīng)用的人必須:
            1. 學(xué)習(xí)和掌握DirectX/OpenGL至少兩者之一
            2. 學(xué)習(xí)和掌握WPF以及Net4以上

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

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

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

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

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

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

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

            珍愛生命,努力編程!!

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

            評(píng)論

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

            根據(jù)我這么多年的經(jīng)驗(yàn),該庫能夠完成的概率為0%~  回復(fù)  更多評(píng)論   

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

            @right
            謝謝鼓勵(lì),哈哈,說說看,為什么呢?  回復(fù)  更多評(píng)論   

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

            你可以參考tcl/tk
            還有FLTK  回復(fù)  更多評(píng)論   

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

            @LongSing
            好的,這就去看,謝謝!  回復(fù)  更多評(píng)論   

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

            支持一下,不過即使有D3D和WPF的經(jīng)驗(yàn),做這個(gè)東西也不是容易的事  回復(fù)  更多評(píng)論   

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

            一是有沒有那么長(zhǎng)久的時(shí)間精力,二是能不能當(dāng)成習(xí)慣來做,連半神vczh的Gac都還沒完成呢  回復(fù)  更多評(píng)論   

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

            @Pear
            您說的很有道理,不著急,慢慢弄吧,先做個(gè)小級(jí)別的。  回復(fù)  更多評(píng)論   

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

            @Richard Wei
            謝謝支持!確實(shí)很難,慢慢弄吧  回復(fù)  更多評(píng)論   

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

            @Pear
            謝謝提供Gac的信息,我剛知道有這個(gè)lib,我好好學(xué)學(xué)!  回復(fù)  更多評(píng)論   

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

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

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

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

            感覺你要折騰好幾次的。
            最好和一個(gè)商業(yè)項(xiàng)目綁定在一起做。
            一開始用手寫的數(shù)據(jù)來驅(qū)動(dòng),
            編輯器可以后面寫。

            不要依賴特定的渲染  回復(fù)  更多評(píng)論   

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

            和商業(yè)項(xiàng)目綁定,快速的迭代開發(fā),才是最好的方式。
            研究形式的開發(fā),根本出不來的。
              回復(fù)  更多評(píng)論   

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

            @fzy
            不要小看業(yè)余生活豐富的蛋疼程序員的力量  回復(fù)  更多評(píng)論   

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

            @fzy
            多謝指教!確實(shí)與商業(yè)項(xiàng)目綁定,目前做開發(fā)的只有我一個(gè)人,折騰了一個(gè)多月了,哈哈。  回復(fù)  更多評(píng)論   

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

            @萬連文
            多謝指點(diǎn)!就去看~  回復(fù)  更多評(píng)論   

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

            思路很好,困難不少,但不是別人說的那樣不可能完成,說實(shí)話,我現(xiàn)在正搞一個(gè)類似的東西,只能利用業(yè)余時(shí)間搞  回復(fù)  更多評(píng)論   

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

            @過還漂
            哈哈,好啊,一起加油吧!還請(qǐng)多多指點(diǎn)!  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(3)

            隨筆檔案

            相冊(cè)

            contact

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久精品一区二区影院| 国产午夜免费高清久久影院| 国产综合成人久久大片91| 国产亚洲精午夜久久久久久| 亚洲欧美久久久久9999| 国产成人无码久久久精品一| 91精品国产高清久久久久久91| 久久久久久国产精品无码下载| 国产韩国精品一区二区三区久久| 久久精品国产清自在天天线| 久久久久亚洲av无码专区喷水 | 亚洲精品视频久久久| 久久99精品久久久久久久不卡| 手机看片久久高清国产日韩| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久最新免费视频| 国产91久久精品一区二区| 亚洲伊人久久大香线蕉综合图片| 国产成人久久777777| 久久久久久国产精品无码超碰| 一级做a爰片久久毛片看看| AA级片免费看视频久久| 99精品久久精品一区二区| 久久精品国产99久久久古代| 久久久久成人精品无码| 曰曰摸天天摸人人看久久久| 99久久久精品| 久久久久久亚洲AV无码专区| 日本人妻丰满熟妇久久久久久| 久久综合色之久久综合| 久久精品国产亚洲AV不卡| 欧美777精品久久久久网| 久久久久一区二区三区| 国内精品久久久久久野外| 日本人妻丰满熟妇久久久久久| 亚洲午夜久久久影院| 亚洲国产精品无码久久98| 国内精品人妻无码久久久影院导航 | 一97日本道伊人久久综合影院| 久久久精品人妻无码专区不卡| 久久久精品无码专区不卡|