- 3
- 0
- 约3.54千字
- 约 8页
- 2018-08-28 发布于福建
- 举报
基于Nodejs 本机应用与Web应用统一编程模型研究
基于Nodejs 本机应用与Web应用统一编程模型研究
摘 要
本文介绍了Web应用程序和本机应用程序统一编程模型的思想,介绍了目前流行的Node.js框架,并详细探讨了如何使用Node.js来开发本机命令行应用程序、本机GUI应用程序、Web应用程序等三种应用程序,以及各类的Hello World程序实例。展现了利用该技术实现统一编程模型这一思想的可行性。文章也讨论了Node.js语言的不足并得出Web应用和本机应用统一编程模型是可行的这一结论。
【关键词】Web应用 编程模型 程序设计
1 概述
按照执行前的应用程序镜像文件所在的位置来分,计算机中的各种应用程序可以大致上分为桌面应用程序和Web应用程序两大类。即本机应用程序和远程Web应用程序。随着计算机技术的发展,这两类应用程序交替发展着,在不同的时期有着不同的受到不同的重视。总的来说,两种应用程序到目前为止仍然是同时存在,并根据自身的特点发挥着各自的不同的作用。桌面应用程序根据是否有人机交互界面分为无UI和有UI两种,有UI的应用还可以分为命令行应用和图形界面应用(GUI)。如此众多类型的应用程序,相应的,其开发方式也有所不同。由于本机应用程序可以更自由地使用本机资源,其图形图像处理能力相应较Web应用程序更强。因此,以Windows应用为例,本机应用的UI一般采用与操作系统关系密切的消息/窗口为机制的处理方法,而Web应用由于其自身特性所带来的限制,其UI开发只能采用HTML标记语言和Javascript脚本语言相结合的方式。 然而,人们逐渐发现,由于HTML语言由于其独特的有点--更好的灵活性与简洁的编程方法,再加上样式表的配合,其开发的便捷性与高效性往往要好于传统的GUI的开发方式。 UI元素采用标记语言来编写,其布局由级联样式表来描述,事件处理程序采用Javascript等脚本来编写。以至于本地GUI的开发者常常希望能够有一套类似与HTML的开发方式来进行本机GUI的开发。这样的尝试也被世界上一些知名的IT企业进行着,如Microsoft在2002年发明了一套全新的GUI开发框架-WPF。Adobe的flex, Google 的Android 的开发,QT等都采用了这样一种模式。但是这些产品都没有实现用同一种编程方式来完成对Web应用和本机应用的开发。近两年出现的Node.js框架,使用Javascript做编程语言,用HTML作为UI展现的描述语言,可以达成这一目的。
本文对Node.js做了简单介绍,然后重点讨论了使用Node.js 来进行本地应用的开发和Web应用程序的开发。两个应用程序都以Hello World这种典型的入门应用来展示其细节,着重强调了使用Node.js框架可以开发两种类型的应用程序。
2 Node.js简介
Node.js 是一个开源的基于Chrome 的Javascript运行平台,它可以用来快速构建伸缩性强的网络应用程序。Node.js 使用事件驱动和非阻塞的I/O 模型以确保轻量和高效,特别适用于数据敏感的实时的可用于分布式设备的应用程序。
Node.js 平台中一个重要的概念是模块(Module),模块就是类库,包含一组特定功能的类和它们的属性及方法。从Node.js问世开始,它的模块得到了迅速的扩充。目前,可以使用命令在互联网上轻易获得模块并加入到项目中。NPM 是Node procedure modules 的缩写,是管理和使用模块的命令行工具。在项目中使用模块也很容易,只需要将模块安装上,然后在程序中用下述命令引用即可:
var module = require(‘http’);
然后,module变量即编程了http对象,可以调用其相应的方法。
需要明确的是,要开发GUI应用,仅仅使用Node.js是不够的。Node-Webkit 是另一个开源项目,其目的是在Node.js基础上,使用HTML 和Javascript开发本地应用程序。这就实现了本机应用和Web应用的统一开发平台。
3 使用Node.js开发本机应用程序和Web应用程序
3.1 开发命令行应用程序
安装Node.js之后,开发一个本地的命令行应用程序非常简单: 只需要用文本编辑器输入程序并保存成 .js 文件,然后使用 Node 命令运行即可。这里以HelloWorld为例来展示:
(1)将下面仅一行代码的程序保存至hello.js
console.log(“Hello World!”);
(2)进入命令行环境
(3)运行 node hello.js
得到如图1运行结果。
3.2 开发GUI本机应用程序
开发GUI本机应
您可能关注的文档
最近下载
- 抗肿瘤药物静脉给药技术规范与实践.pptx
- coc模组翻译降临-adventus regis.pdf VIP
- 2025年02月定向淄博届公费医学毕业生选岗考试笔试历年专业考点(难、易错点)附带答案详解 .doc
- 初中七年级语文暑假阅读理解专项训练-记叙文篇(含答案).docx
- 八人制足球竞赛规则介绍-足球竞赛规则.pdf VIP
- 4000重要英文词汇4000EEW3_Word List_ENG.pdf VIP
- 档案管理保密笔试题及答案.docx VIP
- 2025(更新)中国围透析期慢性肾脏病管理临床实践指南(2025年版)解读课件.pptx VIP
- 建筑初步课程.ppt VIP
- 特定技能号农业练习题附有答案.docx VIP
原创力文档

文档评论(0)