初识javascript(一):js在windows下运行的几种形式

前言:

  与其说是教程,这个系列不如说是对javascript的一些介绍,

  自己摸爬滚打零散学了点js,不是很系统,更多是一些小tips的东西,希望能给对js还不了解的人做个入门介绍,

  当然,我本身水平不高,欢迎大家帮我指出缺漏,共同探讨,共同进步

 

正文:

  一、对js的现状的一些介绍:

    js这几年几乎真正完成了“一次书写,到处运行”的愿望①,前端html+css+js打天下,数据库有mongodb撑场面,服务器有nodejs,想手机端跨平台运行有phonegap,pc端有node-webkit. 甚至非js语系的可以将c++,ruby等熟悉的语言,通过Emscripten编译为js②.这些扩展这文里不多介绍

  二、原生桌面应用实际上手:

    linux和windows其实对js都有原生支持,

    Ubuntu或其他常见linux下,你如果想用js做一个本地应用,可以参考gnome javascript③,

    由于我们标题就是js在windows下面的开发,所以我们的重心还是在win系统上

    最简单的一个实践,右键新建一个txt文件,直接用记事本敲入以下代码

    

1 <script>
2 alert("你好:)")
3 </script>

    然后保存,重命名为XXX.hta,双击一下看看效果

    xp,win7,win8上均可以运行,这个例子告诉我们,微软也是很进步的嘛

    在<hta>标签中可以设置很多属性,类似窗口边框有无,这里我找了一个官网的例子

<HTML>
<HEAD>
  <TITLE>HTA Demo</TITLE>
    <HTA:APPLICATION ID="oHTA"
     APPLICATIONNAME="myApp"
     BORDER="thin"
     BORDERSTYLE="normal"
     CAPTION="yes"
     ICON=""
     MAXIMIZEBUTTON="yes"
     MINIMIZEBUTTON="yes"
     SHOWINTASKBAR="no"
     SINGLEINSTANCE="no"
     SYSMENU="yes"
     VERSION="1.0"
     WINDOWSTATE="maximize"/>

  <SCRIPT>
  function window.onload()
  {
     sTempStr = "applicationName  = " + oHTA.applicationName + "\n" + 
                "border           = " + oHTA.border          + "\n" +
                "borderStyle      = " + oHTA.borderStyle     + "\n" + 
                "caption          = " + oHTA.caption         + "\n" +
                "commandLine      = " + oHTA.commandLine     + "\n" +
                "icon             = " + oHTA.icon            + "\n" +
                "maximizeButton   = " + oHTA.maximizeButton  + "\n" +
                "minimizeButton   = " + oHTA.minimizeButton  + "\n" + 
                "showInTaskBar    = " + oHTA.showInTaskbar   + "\n" +
                "singleInstance   = " + oHTA.singleInstance  + "\n" +  
                "sysMenu          = " + oHTA.sysMenu         + "\n" + 
                "version          = " + oHTA.version         + "\n" + 
                "windowState      = " + oHTA.windowState     + "\n" ;
          
     oPre.innerText = sTempStr;          
  }
  </SCRIPT>
</HEAD>
<BODY SCROLL="no">
  <PRE ID=oPre>  </PRE>
</BODY>
</HTML>

 

    当然win8的metro应用也有专门的js编写情况,需要架设visual studio了[又偷懒了]

  三、其他的应用形式,首推node-webkit了,可以打包,可以运行,比hta的模式来讲,hta采用的是对应ie的内核,xp的话性能堪忧

    node-webkit用v8解析js,即结合了node.js的资源,又采用了chrome的浏览器解析,且又跨平台,囊括了linux windows mac,近乎全系列

 


①我总喜欢拿这几位大神的言论作例子 诸神:JavaScript是Web的汇编语言 

②这里有一些编译的项目,不仅仅是Emscripten 一切皆为javascript

③linux下面的教程下次我会补齐,这里也有一个完整的tutorial Hello Gnome!

④msdn上的一个简短的介绍 Introduction to HTML Applications

posted @ 2014-03-14 22:09  林增  阅读(3324)  评论(0编辑  收藏  举报