Node.app让Nodejs平台在iOS和OS X系统上奔跑

首先呢,欢迎大家去查看相同内容的链接:http://www.livyfeel.com/nodeapp/。

由于那个平台我用的markdown语法,我也懒得改动了,就这样黏贴过来了。

这是一个惊人的恐怖消息!

首先个人来介绍一下本文出现的几个知识点:  

####Node.js

Node.js是一个平台,以下简称Node。它用来是前端广为使用的javascript语言,能够在server的后端进行奔跑。我们知道,假设一个前端没有CSS和javascript,只依靠HTML来供用户查看页面,是多么撕心裂肺的一件事!

既然javascript这种在前台广受欢迎,那么可不能够让它也能够在server的后台中为我们所用呢?所以。有那么一群丧心病狂的程序猴们開始基于Google公司的V8(当前世界上最快的javascript解析引擎)开发出了一个能够在后台奔跑javascript的平台,那就是Node。如今非常多非常多的公司已经開始使用Node,如我们广为所知的淘宝百度和eBay等。当中淘宝的双十一双十二就有Node的功劳哦。

如须要具体信息欢迎Google。

####iOS和OS X

我们最常使用的就是Window系统电脑了。

有那么一群人,他们为了炫耀自己的牛逼技术,又为了证明自己的确比别人牛逼,他们使用Linux系统。当中Linux仅仅是一个泛称,它但是一个非常大的家族哦,如Ubuntu。CentOS,Deepin等都是著名的Linux系统成员。这群人喜欢使用他们的黑色命令行来装逼!

(哈哈,事实上仅仅是Linux太好用了。主要做server使用。Window做server用没几天就挂机了,曾经以2003系统做server比較常见,而Linux号称“永不死机”。你去有些公司也许看到他们的server跑了好多年了都没有关机过,不要认为太新奇哦)。

停停停,这和OS
X有什么关系?哈哈,是这种。

Linux不是石头里蹦出来的,它也是有爸爸的,那就是UNIX。

当然了。爸爸不能说他仅仅有一个儿子。OS X也是他儿子。而OS X是电脑端。我们的手机等手持设备就是移动端了。它的系统就是iOS。事实上iOS和OS X和Linux家族有千丝万缕的联系。仅仅是由于iOS及OS X生的美丽,所以比較贵。

####喜闻乐见的爆炸新闻

好了,两个巨人我们介绍完了,以下開始我们的主题。那就是Node.app!  

轻量、高效的Node.js,可以帮助程序猿构建高度可伸缩的应用程序。

这样一款server端的JavaScript解释器,一直以来都颇受Web开发人员青睐。在移动开发人员心目中的地位也是相当崇高,却又因种种原因对它望而却步。

为此,来自德国的开发人员Marcus Kida和project师Sam Rijs共同开发了一款名为Node.app的,专门用于iOS开发的Node.js解释器,并在GitHub上创建了“[Node.js for iOS](https://github.com/node-app/Interpreter)”开源组织,将开发成果全然开放。与来自全球的开发人员共同分享。

{<1>}![](http://cms.csdnimg.cn/article/201402/21/5306f6d5227f0_middle.jpg)

Node.app可以为应用程序提供兼容Node.js的JavaScript API。不仅占用资源很少。并且还同意最大限度的代码重用和高速创新。

主要特性:





* 最大限度的代码重用:在iOS应用开发过程中。开发人员能够直接使用在server和前端能可靠执行的代码。

* 数以万计的模块:拥有着很丰富的模块资源,通过npm,开发人员能够使用随意模块。

* 高速创新:Node.app提供了开发人员熟悉的Node.js API,使用起来很方便。

* 占用资源少:通过同样的高速系统功能,使用Node.app就如同标准的iOS代码一样,而用户在使用时,甚至不会注意到它并非原生应用。

___

好了。上面也是他们[官网](http://nodeapp.org/)的部分介绍,大家可能云里雾中看完之后,以下我和大家依照我理解的进行解析(因为Google上面查看的资料实在太少,而Baidu嘛,呵呵送给它):  





######Node.app是什么?

Node.app嘛。它是一个平台。是基于Nodejs平台完毕,也就是说,用的也是V8的解析引擎。用来解析javascript。能够让Javascript代码在这个平台上面奔跑起来。想知道为什么想要Javascript在Node.app上面跑吗?这个吗。你看看前面关于Nodejs的介绍就知道了。

就是说,Javascript太强大,在前端用实在可惜,所以呢。程序猴子们做了Nodejs平台在server后端跑它。用它处理数据。而如今呢?要是能让他在手机上面或者个人电脑上面,在那些client应用里面直接跑起来(如QQ拉,FaceBook拉)是不是会更酷?还不明确为什么在client中须要他们?我们后面说!

######好了,我们说为什么须要Node.app这个平台。

首先嘛,我们知道。不论什么一个有价值有态度的client如网易新闻拉天天动听拉,他们都须要一个强大的后台来支撑(不然你的新闻哪里来啊?你的音乐哪里来啊?)!  

可是呢?一个公司有那么多的用户,一个简单的server可不可以处理完用户的数据哦!所以呢,公司会花大把大把的薪水。让猎头抓来许很多多优秀的程序员们进行server端开发。这个时候,很多的Java,C。C++,C#,PHP,Go的开发者们就有饭吃了,当然也包含Nodejs的开发者。公司可不止为了这些人花钱哦,对。还有硬件!那么多台server啊!想想就是大价钱!我滴个心啊  

哎,那server少一些行不行?呵呵,数据但是须要最基础的集群处理的,server相互之间要紧密连接在一块,这样一来数据能够在不同的server不同的硬盘之间同步备份,不至于一个server爆了。一个硬盘换了,用户不能使用产品了。就这么一个基础的数据处理,server就不能少吧?什么?你用户就几个人?先让我喝杯水先!  

好了,这样一来。我们能够发现,用户的数据处理,都是我们的server来完毕的。对于那么多的用户,这可不是一个小的server负担啊!哎呀,累死了。那么。假设,能够让用户自己的设备进行数据的处理,而不是由server来完毕,那样不就能够大大的减轻server的开支了吗?这是当然。所以如今,越来越多的应用开发商们,把数据的处理。让client去做,而不是server来做。如:server把一长串的JSON数据传给client让client自己处理。总不能JSON数据也是让server解析好,然后一条条的给client传过去吧?  

既然减轻server的处理添加client的处理已经行驶在路上了,那这条路也一定会越来越明朗。所以Node.app出来了。是的!Node.app是什么?是平台!平台用来干嘛?解析javascript!

javascript用来干嘛?呵呵,那你说server执行Nodejs是干嘛的呢?所以说,我们能够把server上面的非常多非常多非常多操作,释放到client去。Node.app但是一个后台啊!

用Node.app来处理数据为client所用,不是太方便了嘛!

后台的数据处理。那就一个减轻啊  

######那Node.app相当于一个后台的数据处理库了。在client上面进行数据处理会不会拖慢设备的执行速度啊?  

当然。答案也是肯定的!

不会哦!

还是回到老话题,Node.app是用来跑javascript的平台。javascript的小巧众所皆知!在server端的Nodejs处理大数据都游刃有余何况还有Google的号称世界最快的V8引擎做支撑呢(什么?有V8护驾?:(:(:(....不早说)

######Node.app平台处理数据,难道真的javascript这种强大吗?  

是的!不仅javascript强大,javascript的眼下但是有112,384个强大的类库做支撑哦(截止时间2014-12-15,查看地址:[npmjs](https://www.npmjs.com))!全部的Nodejs可以用的库在Node.app上面都可以使用,哈哈,强大吧。

######太开心太恐怖了,我如今就要去用它

呵呵,不要太心急哦。

我看了,如今。这个Node.app还是一个概念机处于实行阶段呢!我安装了他们的手持client的Demo,果然能够搭载执行javascript。  

![](https://camo.githubusercontent.com/d807513085a4846d1f7e7f051fbff7cf7e097f8c/68747470733a2f2f7261772e6769746875622e636f6d2f6e6f64652d6170702f496e7465727072657465722f6d61737465722f64656d6f2e706e67)  

但是呢?如今还是不成熟。预计没有几个公司敢大范围的使用它吧。哎。比較扫兴的结尾了,只是,假设你感兴趣,那就快来參加Node.app的代码维护吧[Interpreter](https://github.com/node-app/Interpreter),像这种东西。大家维护才有成就感嘛,也许过不了多久,大家就能够使用他了。

上一篇:bzoj1620 / P2920 [USACO08NOV]时间管理Time Management


下一篇:Lua 语言变量