[譯]當Node.js遇上WebMatrix 2


前言

現在Node.js正是如火如荼,無疑它的出現為客戶端和服務端捅破了厚厚的一層紙,使得前后端可以只通過javascript這一種語言就能完成一個完整的web應用程序,但是苦於一直沒有一整套針對Node.js開發的工具,使得Node.js推廣得比較慢,在實際項目中使用率比較低,大多都是停留在實驗和小工具階段。WebMatrix 是微軟最新的 Web 開發工具,它包含了構建網站所需要的一切元素。您可以從開源 Web 項目或者內置的 Web 模板開始,也可以直接從無到有編寫代碼。簡單並且完全是免費的,使得開發網站從來沒有如此簡單(關於WebMatrix更詳細的信息可以移步這里)。隨着WebMatrix版本的更新加之Node.js的火熱,也加強了對Node.js以及相關的技術支持。

轉載請注明來源地址:http://www.cnblogs.com/aNd1coder/archive/2012/06/17/2552037.html

正文

經過WebMatrix團隊數月的努力,現在激動的介紹WebMatrix 2候選版本。WebMatrix 2 包含大量的新特性,但今天我想概述在WebMatrix 2下用Node.js創建應用我們所做的工作。
如果你想跳過此文而僅僅只是想要得到下載連接(免費),請點這里

我們走了多遠

不到一年前,我在卡耐基梅隆大學工作,嘗試用Node.js和ASP.NET實現我們在線學習環境的實時組件。我們在運行Linux的客戶的數據中心是行不通的,在cygwin里運行一個生產系統顯得不夠理想。在Windows上開發node更加不易 - 如果你想讓node運行,讓NPM工作是幾乎不可能的。在Windows環境下使用node比登山還難。

在我加入微軟之后過去的12個月里,我們已經看到Joyent和微軟之間的各種合作關系,是的新版的node和npm在Windows上得到支持,以及在Windos Azure上支持Node的承諾。我們共同為開發者,IT管理員以及使用我們系統的最終用戶建立更好的用戶體驗。

這些工作得到的其中一個成果是在Windows Azure上用Node.js構建應用體驗得到了極大的改善。在SDK團隊的Glenn Block極力稱贊微軟做了令人難以置信的舉措使得Azure成為開發者開發Node.js應用一個很棒的環境。作為我們最喜歡的副總裁Scott Guthrie在他的博客上表示,(這些)滿足新Windows Azure。

進入WebMatrix 2

如今開始使用node.js是一個相對簡單的任務。安裝node,npm(現在已經打包在了node安裝程序里),用你最喜歡的文本編輯器就可以開始。但是在管理項目,編譯CoffeeScript和LESS,配置產品設置,發布應用程序過程中充滿各種各樣可能性和配置(繁瑣)。WebMatrix 2 提供我們另外一種構建node.js應用的方式:你只需要在一個環境下構建優秀的應用程序。

WebMatrix 2 首要是為構建Web應用程序而設計的。在起始屏,可以使用預制的模板,或者從Web Gallery中安裝常見的開源應用程序來創建你租戶的應用程序。目前模板支持用Node.js, PHP, 當然還包括ASP.NET Web Pages創建應用程序。除此之外,WebMatrix 2 還包含三種創建Node.js應用程序的模板:

  • 空Node.js站點
  • Express站點
  • Node Starter站點

空Node.js網站提供使用http server一些非常基礎的示例,跟nodejs.org官網提供的一致。

Express網站是用Node.js的Express框架腳手架工具生成的基礎應用程序。

Node Starter網站是以Express MVC基礎項目模版開始一個項目。樣板文件被托管在GitHub上,演示如何實現包含jade父/子布局,LESS預編譯css,用Twitter和Facebook登錄,移動布局以及驗證碼的站點。當你用任意這些模板創建新的應用程序時,WebMatrix 2將會確保node,npm以及IISNode已經安裝在你的系統里。如果他們沒有被安裝,WebMatrix 2將會自動安裝任何缺少的依賴關系。如果你正在Windows下創建PHP/MYSQL應用程序,這一特性也特別有用。

Node Starter站點模板將會生成一個包含Express,Jade,LESS,使用socket.io實現聊天,使用EveryAuth實現登錄,以及用jQuery Mobile支持移動設備的全功能的應用程序:

Node.js智能感知

WebMatrix 2其中一個目標就是降低開發人員在開始使用Node.js時的門檻。方法之一就是提供所有應用程序構建的核心模塊智能感知。我們使用的文檔實際上構建自node.js官網的文檔。

在提供Node.js核心模塊智能感知之外,WebMatrix 2還為你自己的Javascript代碼以及通過NPM安裝的第三方模塊提供代碼自動完成功能。有無數種方式來構建自己的應用程序,NPM的畫廊最近超過了10000條。當開發者開始構建更加復雜的應用程序,將變得很難(甚至嚇人)開始。WebMatrix 2 通過開源程序包將這一切變得更容易:

支持Jade和EJS

為創建Node.js應用程序提供更實用的工具,我們決定為Jade和EJS提供一流的編輯體驗。WebMatrix 2 為Jade和EJS提供語法高亮,HTML驗證,代碼大綱,自動完成。

如果你鍵入包含尖括號的代碼(EJS代碼塊),EJS體驗表現得會更好,因為它基於我們的高級HTML編輯器之上:

星球上最好的LESS編輯器

因此我承認 —— 我有一點CSS預處理器極客。我不寫CSS因為我愛它,但是因為我需要把事情做好,我得盡可能的編寫更少的CSS代碼。像LESS以及Sass之類的工具提供CSS程序員缺失的特性,像變量,混入,嵌套以及常用的內置方法。

WebMatrix的LESS編輯器不僅提供語法高亮,而且還提供LESS規范驗證,變量和混入智能感知,以及LESS規范的格式化。許多node開發人員在服務器端使用npm模塊來處理他們LESS,但是如果你想在本地編譯LESS,你可以在設計時使用Orange Bits compiler來編譯你的CSS。

CoffeeScript編輯器

跟LESS和Sass讓書寫CSS變得更容易一樣,CoffeeScript簡化了書寫Javascript的方式。WebMatrix 2 提供語法高亮,代碼大綱,自動完成來簡化編輯體驗。如果你想使用CoffeeScript但不用服務器上編譯它,你可以在設計時使用Orange Bits compiler來編譯你的CoffeeScript

移動模擬器

設計移動應用程序不能滯后,WebMatrix 2試圖讓這兩種方法更容易。首先 - 視覺模板在主樣式表中(以Node Starter Template為例)充分利用響應式布局的優勢:

styles.less

這看起來非常牛逼如果你不需要改變你的網站內容,但缺乏令人更加復雜的場景。為了繞開它,node開始模塊使用了一塊連接中間件來檢測用戶是否來自移動設備,然后發送給他們基於jQuery Mobile的移動布局(另外一篇文章會詳細介紹).基於單個視圖約定允許您創建{viewName}_mobile.jade視圖僅在移動設備上加載。

更強大的是,如果你需要在各種瀏覽器以及移動設備上查看你的網站表現?WebMatrix 2 提供一種擴展模型允許你在運行菜單添加移動以及桌面瀏覽器。

目前,我們提供Windows Phone模擬器, 以及 iPhone/iPad仿真器。我們都在尋找人員支持其他模擬器*咳嗽*android*咳嗽*,甚至構建網橋方便在線測試應用程序。

 

擴展以及開源


一款代碼編輯工具僅對致力於該平台的開發者至關重要。我們想要與大家一起取得成功和成長。作為目標的一部分,我們開放了一個可擴展模型,允許開發者構建自定義擴展以及和其他開發者分享。擴展庫可以通過http://extensions.webmatrix.com訪問。我們計划轉移大部分擴展到GitHub上,NodePowerTools擴展是第一個計划開源:

  • Node Power Tools
  • OrangeBits Compiler

接下來幾個月你將可以從Microsoft官網看到更多的擴展以及開源。

參與

我想確保感謝所有幫助這個版本誕生的人,包括WebMatrix團隊,Glenn Block, Claudio Caldato, our Node Advisory board, Isaac Schlueter,以及在Joyent的所有人。
更多的信息,請訪問:

原文

http://jbeckwith.com/2012/06/07/node-js-meet-webmatrix-2/

附件(中英對照)

[譯]當Node.js遇上WebMatrix2.rar

 

注:由於水平有限,有些地方翻譯得不太妥當同時也難免存在錯誤之處,請評論指出,覺得有收獲麻煩點下右下角的推薦-, -

參考

http://www.microsoft.com/web/webmatrix/

https://www.windowsazure.com/zh-cn/develop/nodejs/

http://weblogs.asp.net/scottgu/archive/2012/06/07/meet-the-new-windows-azure.aspx

http://extensions.webmatrix.com/packages/OrangeBits/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM