• <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>
            今天看到CSDN上這么一篇《 徹底放棄沒(méi)落的MFC,對(duì)新人的忠告!》, 作為一個(gè)一直在Windows上搞客戶(hù)端開(kāi)發(fā)的C++程序員,幾年前也有過(guò)類(lèi)似的隱憂(yōu)(參見(jiàn) 落伍的感覺(jué)), 現(xiàn)在卻有一些不同的想法。

            首先,個(gè)人職業(yè)發(fā)展是否成功, 技術(shù)只是其中一小塊,尤其是在大公司, 更多的是依靠所謂的軟實(shí)力。作為一個(gè)對(duì)技術(shù)有追求的工匠,我們下面重點(diǎn)說(shuō)技術(shù)相關(guān)的。

            現(xiàn)在回頭看計(jì)算機(jī)行業(yè)的發(fā)展,我們看到不同的發(fā)展階段:

            1. PC時(shí)代,這個(gè)時(shí)代離我們并不遙遠(yuǎn), 也有是2000年前后, 該時(shí)代最鮮明的特征是Windows操作系統(tǒng),Office軟件,Exchange郵件服務(wù)器等,還有Windows平臺(tái)上的各種通訊娛樂(lè)工具以及行業(yè)軟件等。這個(gè)時(shí)代大部分都是和Windows操作系統(tǒng)相關(guān), 這個(gè)時(shí)代的開(kāi)發(fā)工具也是百花齊放:VC, VB, Delphi, PB, 以及后來(lái)的C#, 本質(zhì)上都是Windows API。

            2。PC互聯(lián)網(wǎng)時(shí)代, 這個(gè)時(shí)代和PC時(shí)代很大程度是重合的,因?yàn)榛ヂ?lián)網(wǎng)客戶(hù)端瀏覽器的載體還是PC, 這個(gè)時(shí)代最顯著的特征是Google, Baidu, Facebook,淘寶等的興起, 網(wǎng)絡(luò)搜索,網(wǎng)絡(luò)社交, 網(wǎng)上購(gòu)物成為時(shí)髦。這個(gè)時(shí)代說(shuō)白一點(diǎn)就是怎么做好一個(gè)網(wǎng)站,開(kāi)發(fā)工具包括后端和前端:ASP,JSP, Java, PHP,html, JS等, 本質(zhì)上是http協(xié)議及html.

            3. 移動(dòng)互聯(lián)網(wǎng)時(shí)代, 手機(jī)本來(lái)只是打電話(huà)和發(fā)短信用的, 蘋(píng)果iPhone改變了這一切,開(kāi)啟了智能手機(jī)的新時(shí)代。現(xiàn)在我們通常說(shuō)的移動(dòng)開(kāi)發(fā)主要是指iPhone和Android開(kāi)發(fā),以及少量的WinPhone和BlackBerry開(kāi)發(fā)。移動(dòng)互聯(lián)相對(duì)于PC互聯(lián),有幾點(diǎn)不同:首先移動(dòng)時(shí)代能夠讓人充分利用空閑時(shí)間片,社交(微薄、微信)和游戲娛樂(lè)都很方便;另外移動(dòng)手機(jī)有位置定位功能, 導(dǎo)致了O2O創(chuàng)業(yè)潮的興起和成功(比如uber)。移動(dòng)App的開(kāi)發(fā)語(yǔ)言各異(Objective-C, Java, C++, C#)等都有, 本質(zhì)上是一個(gè)客戶(hù)端軟件。

            4。未來(lái), 有人說(shuō)是互聯(lián)網(wǎng)+,有人說(shuō)是萬(wàn)物互聯(lián)(智能手環(huán),智能路由,智能家電)...

            從上面我們可以看到, 每個(gè)時(shí)代都有自己的特色,一個(gè)時(shí)代的興起并不會(huì)完全取代另一個(gè)時(shí)代:PC還是我們的主要辦公工具, 手機(jī)是我們隨身的通訊和娛樂(lè)工具,誰(shuí)都沒(méi)法完全取代誰(shuí)。

            互聯(lián)網(wǎng)時(shí)代的技術(shù)體系無(wú)非是分為服務(wù)端和客戶(hù)端:

            (1)服務(wù)端來(lái)說(shuō), 如網(wǎng)站后臺(tái),主要是如何高效從海量數(shù)據(jù)中的返回用戶(hù)需要的數(shù)據(jù), 也就是所謂的大數(shù)據(jù)技術(shù)(如Hadoop,spark);如果是IM后臺(tái),  常用開(kāi)源的XMPP服務(wù)器(Openfire, Ejabberd); 另外游戲服務(wù)器,視頻服務(wù)器很多技術(shù)其實(shí)都差不多, 主要都是提供Session連接和邏輯處理。

            (2)客戶(hù)端,客戶(hù)端主要分為Web客戶(hù)端和Native客戶(hù)端。
            Web客戶(hù)端就是所謂的前端開(kāi)發(fā), html5前幾年被吵得很熱,這幾年有些降溫,因?yàn)閃eb UI的用戶(hù)體驗(yàn)和Native還是有挺大差異, 尤其是在移動(dòng)手機(jī)上。做產(chǎn)品一定要提供最好的用戶(hù)體驗(yàn)才能在市場(chǎng)中獲勝, 所以除非Web的其他優(yōu)勢(shì)大大超越了用戶(hù)體驗(yàn)的需求, 它才會(huì)被考慮使用。這也是淘寶前端用Web實(shí)現(xiàn), 而QQ前端用Native C++搞的原因,想想淘寶如果用C++搞個(gè)客戶(hù)端會(huì)怎么樣,頁(yè)面三天兩頭變?cè)趺闯缘南?/span>

            下面我們重點(diǎn)說(shuō)Native客戶(hù)端開(kāi)發(fā), 以前寫(xiě)過(guò)一篇《客戶(hù)端架構(gòu)設(shè)計(jì)的簡(jiǎn)單總結(jié)》,那時(shí)主要是搞Windows, 現(xiàn)在搞跨平臺(tái)之后,發(fā)現(xiàn)各個(gè)平臺(tái)的客戶(hù)端基本上都是大同小異。我們會(huì)發(fā)現(xiàn)客戶(hù)端的大部分技術(shù)都是跨平臺(tái)的, 而且很多技術(shù)都是開(kāi)源的。比如數(shù)據(jù)存儲(chǔ)用SQLite, XMPP通訊用Gloox, Web交互用LibCurl, 數(shù)據(jù)打包用Protocol Buffer, socket通訊用boost asio,另外大部分都是邏輯代碼和專(zhuān)業(yè)技術(shù)(如H.264)。 我們會(huì)發(fā)現(xiàn)除了UI代碼,客戶(hù)端80%的代碼都是可以用跨平臺(tái)C++代碼搞定(Windows, Mac, ios, android, Linux, BlackBerry)。 我們這里要做的就是把框架搭好,協(xié)議定好,層次分好,模塊切割好,把UI和邏輯分離好。據(jù)我所知微軟的Office除了UI部分,PC和移動(dòng)版也是用這總方式實(shí)現(xiàn)的跨平臺(tái)。

            回到本文剛開(kāi)始的問(wèn)題, 初學(xué)者要不要學(xué)MFC? 個(gè)人覺(jué)得先要看自己定位的開(kāi)發(fā)平臺(tái), 如果是搞Windows, 那也應(yīng)該先從Windows API學(xué)起,根據(jù)工作需要決定要不要學(xué)MFC 。總之,無(wú)論學(xué)什么,先深入一個(gè)平臺(tái), 從C++編譯器到CRT運(yùn)行庫(kù), 再到操作系統(tǒng), 從用戶(hù)態(tài)API到內(nèi)核和驅(qū)動(dòng),越深越好,然后再跳出這個(gè)平臺(tái),接觸其平臺(tái),會(huì)發(fā)現(xiàn)各個(gè)平臺(tái)基本都是大同小異。
            posted on 2015-09-18 00:49 Richard Wei 閱讀(4022) 評(píng)論(10)  編輯 收藏 引用 所屬分類(lèi): 行業(yè)動(dòng)態(tài)

            FeedBack:
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考[未登錄](méi)
            2015-09-18 07:15 | 春秋十二月
            我經(jīng)歷了win桌面-->linux服務(wù)端-->linux驅(qū)動(dòng)內(nèi)核的階段,在做win桌面應(yīng)用的時(shí)候,又經(jīng)歷了win32 API-->mfc-->com/atl/wtl。現(xiàn)在覺(jué)得編程,真是一種藝術(shù),只要你愿意,完全可以干到40、50歲。技術(shù)深入的好處是對(duì)計(jì)算機(jī)系統(tǒng)會(huì)有深刻的理解(如進(jìn)程管理、文件系統(tǒng)、網(wǎng)絡(luò)通信等),而知其所以然,那么做應(yīng)用時(shí),對(duì)設(shè)計(jì)與優(yōu)化有莫大的幫助。  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-09-18 21:24 | Richard Wei
            @春秋十二月
            是的,計(jì)算機(jī)技術(shù)的變化可以說(shuō)很快,也可以說(shuō)很慢。快的方面來(lái)說(shuō),各種新語(yǔ)言新技術(shù)新平臺(tái)層出不窮,好像三天兩頭在變;慢的方面來(lái)說(shuō),數(shù)據(jù)結(jié)構(gòu)和算法,語(yǔ)言范型,網(wǎng)絡(luò)協(xié)議,馮諾依曼體系結(jié)構(gòu)等幾十年來(lái)都很穩(wěn)定,練好內(nèi)功才能以靜制動(dòng)。  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-09-21 10:15 | 蘇州街居士
            如果只是做工具,用用MFC也無(wú)妨  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-09-24 10:58 | lbfamous
            做工具用WinForm ,QT 吧,MFC這東西現(xiàn)在最大的用處要么是兼容舊的項(xiàng)目,要么就是提供一些編程的營(yíng)養(yǎng)了。  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-10-13 10:36 | mmocake
            MFC還不錯(cuò),用的湊合  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-10-16 11:29 | liquanhai
            樓主寫(xiě)的真好,受教了!  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-12-10 19:07 | 謝應(yīng)彪
            你好,想和你討論一下duilib自動(dòng)化的事情,方便留個(gè)聯(lián)系方式嗎?  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-12-11 14:17 | Richard Wei
            @謝應(yīng)彪
            要點(diǎn)我在這篇文章里都說(shuō)了 http://m.shnenglu.com/weiym/archive/2014/11/15/208885.html

            我們的Windows Client就是基于開(kāi)源的DUILib的, 有興趣可以試用下 zoom.us  回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-12-11 15:28 | 游戲狗…
            我是菜鳥(niǎo),主要是弄自動(dòng)化相關(guān)的測(cè)試工作,能麻煩你給一個(gè)demo嗎?到處都找了資料,就您這里最全了,謝謝最@Richard Wei
              回復(fù)  更多評(píng)論
              
            # re: 客戶(hù)端技術(shù)的一點(diǎn)思考
            2015-12-11 15:35 | Richard Wei
            @游戲狗…
            這個(gè)需要DUILib庫(kù)的開(kāi)發(fā)為每個(gè)控件實(shí)現(xiàn)IAccessible接口,自動(dòng)測(cè)試再通過(guò)這個(gè)接口查詢(xún)和操作控件, 思路就那樣,手頭現(xiàn)成的Demo也我沒(méi)有.  回復(fù)  更多評(píng)論
              
            久久午夜无码鲁丝片午夜精品| 色偷偷91久久综合噜噜噜噜| 日本久久久久亚洲中字幕 | 欧美久久一区二区三区| 国产精品成人久久久| 日韩精品久久久久久久电影蜜臀 | 中文字幕精品无码久久久久久3D日动漫 | 国产福利电影一区二区三区久久久久成人精品综合 | 久久亚洲2019中文字幕| 欧美精品乱码99久久蜜桃| 精品久久久噜噜噜久久久| 久久性生大片免费观看性| 精品久久无码中文字幕| 国产香蕉久久精品综合网| 亚洲国产精品久久66| 久久中文字幕人妻熟av女| 亚洲国产天堂久久综合网站| 精品综合久久久久久97| 久久久久国色AV免费看图片| 久久精品无码专区免费青青| 亚洲精品tv久久久久久久久久| 国产精品久久久久9999| 亚洲香蕉网久久综合影视| 开心久久婷婷综合中文字幕| 色偷偷888欧美精品久久久| 五月丁香综合激情六月久久| 亚洲精品国产第一综合99久久| 狠狠色丁香婷婷综合久久来来去 | 久久香蕉国产线看观看99| 亚洲中文字幕久久精品无码APP| 亚洲国产精品一区二区三区久久 | 久久国产精品国语对白| 久久精品国产69国产精品亚洲| 久久亚洲精品中文字幕| 精品人妻伦九区久久AAA片69| 亚洲国产成人精品91久久久| 三级片免费观看久久| 久久高清一级毛片| 色综合久久88色综合天天 | 久久精品国产72国产精福利| 狠狠人妻久久久久久综合|