• <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>

            C小加

            厚德 博學(xué) 求真 至善 The bright moon and breeze
            posts - 145, comments - 195, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            重新認(rèn)識JavaScript

            Posted on 2013-07-30 12:19 C小加 閱讀(2615) 評論(0)  編輯 收藏 引用 所屬分類: JavaScript
               JavaScrpit在我眼中一直是web前端腳本語言,而這段時間的一些工作,讓我對JavaScript有了一個全新的認(rèn)識。

               公司準(zhǔn)備啟動的一個手游項目,服務(wù)器端準(zhǔn)備使用網(wǎng)易的開源框架pomelo。pomelo是基于Node.js的高性能,分布式游戲服務(wù)器框架。它包括基礎(chǔ)的開發(fā)框架和相關(guān)的擴展組件(庫和工具包),可以幫助你省去游戲開發(fā)枯燥中的重復(fù)勞動和底層邏輯的開發(fā)。 pomelo不但適用于游戲服務(wù)器開發(fā), 也可用于開發(fā)高實時web應(yīng)用,它的分布式架構(gòu)可以使pomelo比普通的實時web框架擴展性更好。

               網(wǎng)易的架構(gòu)師們選擇了node.js作為服務(wù)器端架構(gòu)的核心,說明了Node.js作為后端的Javascript運行環(huán)境一定有它自己的優(yōu)越性。

               提到Javascript,大家首先想到的是日常使用的瀏覽器,現(xiàn)代瀏覽器包含了各種組件,包括渲染引擎、Javascript引擎等,其中Javascript引擎負(fù)責(zé)解釋執(zhí)行網(wǎng)頁中的Javascript代碼。作為Web前端最重要的語言之一,Javascript一直是前端工程師的專利。不過,Node.js是一個后端的Javascript運行環(huán)境(支持的系統(tǒng)包括Lnux、Windows、Mac),這意味著你可以編寫系統(tǒng)級或者服務(wù)器端的Javascript代碼,交給Node.js來解釋執(zhí)行。

               Node.js支持的語言是JavaScrpit,之所以選擇JavaScrpit作為服務(wù)器端運行語言理由如下:

               1.Javascript作為前端工程師的主力語言,在技術(shù)社區(qū)中有相當(dāng)?shù)奶栒倭Α6遥S著Web技術(shù)的不斷發(fā)展,特別是前端的重要性增加,不少前端工程師開始試水”后臺應(yīng)用“,在許多采用Node.js的企業(yè)中,工程師都表示因為習(xí)慣了Javascript,所以選擇Node.js。

               2.Javascript的匿名函數(shù)和閉包特性非常適合事件驅(qū)動、異步編程,從helloworld例子中我們可以看到回調(diào)函數(shù)采用了匿名函數(shù)的形式來實現(xiàn),很方便。閉包的作用則更大,看下面的代碼示例:

            var hostRequest = http.request(requestOptions,function(response) {
                var responseHTML ='';
                response.on('data', function (chunk) {
                    responseHTML = responseHTML + chunk;
                });
                response.on('end',function(){
                    console.log(responseHTML);
                    // do something useful
               });
            });
               在上面的代碼中,我們需要在end事件中處理responseHTML變量,由于Javascript的閉包特性,我們可以在兩個回調(diào)函數(shù)之外定義responseHTML變量,然后在data事件對應(yīng)的回調(diào)函數(shù)中不斷修改其值,并最終在end事件中訪問處理。

               3.Javascript在動態(tài)語言中性能較好,有開發(fā)人員對Javacript、Python、Ruby等動態(tài)語言做了性能分析,發(fā)現(xiàn)Javascript的性能要好于其他語言,再加上V8引擎也是同類的佼佼者,所以Node.js的性能也受益其中。

               JavaScript不僅在服務(wù)器端開始流行,在游戲客戶端編程方面也成為了一個很重要的選擇。就在不久前,目前非常流行的一個手游引擎cocos2d-x也推出了JavaScript版本。引用創(chuàng)始人王哲的一句話,如果說C++最靠譜的話,那么Lua應(yīng)該算是最流行,而Javascript是最有前景。

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


            久久丫精品国产亚洲av不卡| 婷婷久久香蕉五月综合加勒比 | 99久久国产热无码精品免费久久久久| 久久w5ww成w人免费| 亚洲国产精品久久久久网站| 久久经典免费视频| 精品永久久福利一区二区| 成人a毛片久久免费播放| 久久综合鬼色88久久精品综合自在自线噜噜 | 亚洲国产另类久久久精品小说| 国产精品久久久久天天影视| 久久精品亚洲福利| 97久久精品无码一区二区天美| 久久精品一区二区三区中文字幕| 亚洲国产精品无码久久久秋霞2 | 亚洲精品乱码久久久久久自慰| 99久久成人18免费网站| 久久精品无码专区免费东京热| 三级片免费观看久久| 99国产精品久久| 天天爽天天狠久久久综合麻豆| 久久精品国产国产精品四凭| 国产精品无码久久综合| 久久噜噜久久久精品66| 中文字幕成人精品久久不卡| 无遮挡粉嫩小泬久久久久久久| 亚洲国产婷婷香蕉久久久久久| 精品久久久久久无码国产| 国产精品久久久久影院嫩草| 国产精品久久永久免费| 久久婷婷成人综合色综合| 亚洲精品无码久久一线| 天天躁日日躁狠狠久久 | 国产成人精品白浆久久69| 一本一本久久aa综合精品| 久久人人爽人人爽人人片av麻烦 | 国産精品久久久久久久| 亚洲国产成人久久精品影视| 91久久香蕉国产熟女线看| 久久国产高清一区二区三区| 狠狠综合久久综合中文88|