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

[经验分享] nodejs之旅,启程篇

[复制链接]

尚未签到

发表于 2017-2-21 10:01:58 | 显示全部楼层 |阅读模式
很久很久没在外面的blog写过东西了,沉了几年水,适逢最近想好好用iOS平台并且在研究nodejs,用javaeye写写笔记比较方便吧。我现在在欢聚时代的web组工作,希望能够为改变中国的互联网技术出一份力量吧,有兴趣的童鞋可以跟我交流哦。
闲话不说,先来说说nodejs这东西。这个东西是chrome所使用的js v8引擎的一个升级版,你可以理解它为和java的jdk差不多的一套工具,除了带有javascript解释引擎以外,还提供了一些javascript没有的编程接口。
[url=http://en.wikipedia.org/wiki/Nodejs]Wiki上的nodejs/url]
首先我们来说说nodejs能干什么?很简单,既然它是个development kit, 就可以编写各种程序了,而我们目前的定位主要是编写服务器端的程序(包括server程序和client程序)。可能会有很多同学好奇,我们现在服务器端有bash, python, ruby, java这些跨平台语言了,为什么javascript又要来凑这个热闹?好吧,作为一个javascript的爱好者,我可以告诉你javascript的学习曲线比起刚刚说的那些东西实在是低很多。你只要看完w3school(en|zh)的简单教程,我们的程序员就已经可以上路了。
当然,目前我们的主角nodejs才到0.8.14版本,还是一个非常年轻的帅小伙(始于2009年,就是3年时间而已),所以我们并不会直接和这些老前辈做比较,因为积累的确还是很少。但是在githut的社区里面,node的项目已经是超过了java的项目,让我们来看看一下一个数据(截至2012-11-17来自github的参考数据)
搜索关键字 项目总数|
java 141686
node142140
ruby391116
python208080
scala 21207

可以看到目前node的项目已经超过了java项目,这也说明了其社区还是挺活跃的。另外V8引擎已经被很多人证实过是一个高效的javascript引擎了,所以这个底子应该还是没问题的(当然我个人还没证实过,如果有坑在我会为大家毫不犹豫地揭穿的:D)
不过当然用javascript编程也会带来各种问题,特别是编码规范方面的问题,不过这些我们可以通过后续介绍的coffeescript这个东西来解决,这里就先不吐槽了。
好吧,让我们先来感受下nodejs吧,先来搞下我们node的Hello world:
以下示例环境是在Mac OS X 10.7.5下进行的
安装node
首先去node的官网http://nodejs.org/dist/v0.8.14/node-v0.8.14.pkg下载这个安装包,然后安装完以后,就可以到控制台输入:
node

成功安装的话,你会看到一个>提示符,你就可以在里面直接输入javascript和使用node的API做试验,这个和python还有ruby等的控制台都一样的。
然后我们在里面输入:
> console.log("Hello World!")

输出结果为:
Hello World!
好了。。。这个就是我们的hello world,不管你服不服,起码我们做到了:p
当然,我们也可以让node执行文件的脚本,假设我们有一个hello.js的脚本:
console.log("Hello World!");

然后我们在这个脚本的所在目录输入:
node hello.js
输出也是Hello World!
非常简单,不是吗?因为javascript根本就没有所谓的主程序入口,是一个顺序解释执行的语言,第一个执行文件的第一行代码其实就是你的程序入口了。这一切对于惯于编写javascript的程序员们都在熟悉不过了,神马main函数都通通滚一边去吧~~
今天先到此为止,要睡觉了,明天继续吧,多些大家收看。

运维网声明 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-345111-1-1.html 上篇帖子: 读NodeJS开发有感 下篇帖子: nodejs 写守护进程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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