设为首页 收藏本站
查看: 1044|回复: 0

[经验分享] [译]当Node.js遇上WebMatrix 2

[复制链接]

尚未签到

发表于 2017-2-24 08:17:23 | 显示全部楼层 |阅读模式
前言
  现在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
正文
DSC0000.png

  经过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应用一个很棒的环境。作为我们最喜欢的副总裁ScottGuthrie在他的博客上表示,(这些)满足新Windows Azure。
进入WebMatrix 2
  如今开始使用node.js是一个相对简单的任务。安装node,npm(现在已经打包在了node安装程序里),用你最喜欢的文本编辑器就可以开始。但是在管理项目,编译CoffeeScript和LESS,配置产品设置,发布应用程序过程中充满各种各样可能性和配置(繁琐)。WebMatrix2 提供我们另外一种构建node.js应用的方式:你只需要在一个环境下构建优秀的应用程序。
DSC0001.png

  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框架脚手架工具生成的基础应用程序。
  NodeStarter网站是以Express MVC基础项目模版开始一个项目。样板文件被托管在GitHub上,演示如何实现包含jade父/子布局,LESS预编译css,用Twitter和Facebook登录,移动布局以及验证码的站点。当你用任意这些模板创建新的应用程序时,WebMatrix2将会确保node,npm以及IISNode已经安装在你的系统里。如果他们没有被安装,WebMatrix 2将会自动安装任何缺少的依赖关系。如果你正在Windows下创建PHP/MYSQL应用程序,这一特性也特别有用。
DSC0002.png

  Node Starter站点模板将会生成一个包含Express,Jade,LESS,使用socket.io实现聊天,使用EveryAuth实现登录,以及用jQueryMobile支持移动设备的全功能的应用程序:
DSC0003.png

Node.js智能感知
  WebMatrix 2其中一个目标就是降低开发人员在开始使用Node.js时的门槛。方法之一就是提供所有应用程序构建的核心模块智能感知。我们使用的文档实际上构建自node.js官网的文档。
DSC0004.png

  在提供Node.js核心模块智能感知之外,WebMatrix 2还为你自己的Javascript代码以及通过NPM安装的第三方模块提供代码自动完成功能。有无数种方式来构建自己的应用程序,NPM的画廊最近超过了10000条。当开发者开始构建更加复杂的应用程序,将变得很难(甚至吓人)开始。WebMatrix2 通过开源程序包将这一切变得更容易:
DSC0005.png

支持Jade和EJS
  为创建Node.js应用程序提供更实用的工具,我们决定为Jade和EJS提供一流的编辑体验。WebMatrix 2 为Jade和EJS提供语法高亮,HTML验证,代码大纲,自动完成。
DSC0006.png

  如果你键入包含尖括号的代码(EJS代码块),EJS体验表现得会更好,因为它基于我们的高级HTML编辑器之上:
DSC0007.png

星球上最好的LESS编辑器
  因此我承认 —— 我有一点CSS预处理器极客。我不写CSS因为我爱它,但是因为我需要把事情做好,我得尽可能的编写更少的CSS代码。像LESS以及Sass之类的工具提供CSS程序员缺失的特性,像变量,混入,嵌套以及常用的内置方法。
DSC0008.png

  WebMatrix的LESS编辑器不仅提供语法高亮,而且还提供LESS规范验证,变量和混入智能感知,以及LESS规范的格式化。许多node开发人员在服务器端使用npm模块来处理他们LESS,但是如果你想在本地编译LESS,你可以在设计时使用OrangeBits compiler来编译你的CSS。
DSC0009.png

CoffeeScript编辑器
  跟LESS和Sass让书写CSS变得更容易一样,CoffeeScript简化了书写Javascript的方式。WebMatrix 2 提供语法高亮,代码大纲,自动完成来简化编辑体验。如果你想使用CoffeeScript但不用服务器上编译它,你可以在设计时使用OrangeBits compiler来编译你的CoffeeScript
DSC00010.png

移动模拟器
  设计移动应用程序不能滞后,WebMatrix 2试图让这两种方法更容易。首先 - 视觉模板在主样式表中(以Node Starter Template为例)充分利用响应式布局的优势:
  styles.less
  这看起来非常牛逼如果你不需要改变你的网站内容,但缺乏令人更加复杂的场景。为了绕开它,node开始模块使用了一块连接中间件来检测用户是否来自移动设备,然后发送给他们基于jQueryMobile的移动布局(另外一篇文章会详细介绍).基于单个视图约定允许您创建{viewName}_mobile.jade视图仅在移动设备上加载。
  更强大的是,如果你需要在各种浏览器以及移动设备上查看你的网站表现?WebMatrix 2 提供一种扩展模型允许你在运行菜单添加移动以及桌面浏览器。
DSC00011.png

  目前,我们提供Windows Phone模拟器, 以及 iPhone/iPad仿真器。我们都在寻找人员支持其他模拟器*咳嗽*android*咳嗽*,甚至构建网桥方便在线测试应用程序。
DSC00012.png

DSC00013.jpg

扩展以及开源
  
一款代码编辑工具仅对致力于该平台的开发者至关重要。我们想要与大家一起取得成功和成长。作为目标的一部分,我们开放了一个可扩展模型,允许开发者构建自定义扩展以及和其他开发者分享。扩展库可以通过http://extensions.webmatrix.com访问。我们计划转移大部分扩展到GitHub上,NodePowerTools扩展是第一个计划开源:

  • Node Power Tools
  • OrangeBits Compiler
  接下来几个月你将可以从Microsoft官网看到更多的扩展以及开源。
DSC00014.png

参与
  我想确保感谢所有帮助这个版本诞生的人,包括WebMatrix团队,Glenn Block, Claudio Caldato, our Node Advisoryboard, Isaac Schlueter,以及在Joyent的所有人。
更多的信息,请访问:

  • WebMatrix on Microsoft.com
  • WebMatrix on Twitter
  • WebMatrix on GitHub
  • WebMatrix on UserVoice
  • WebMatrix and Node on Microsoft.com
  • Windows Azure just got a lot friendlier to node.js developers
  • Vishal Joshi’s blog post
原文
  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/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346360-1-1.html 上篇帖子: javaScript 的AMD 下篇帖子: WiFi流量劫持—— 浏览任意页面即可中毒!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表