今天我们来系统的、全面的 了解一下前端的一些技术,将有助于我们写出 更优秀的 产品 出来。

什么是HTML?

HTML 是用来描写叙述网页的一种语言。

HTML 包括一些根节点。子节点,文本节点。属性节点。组成,

它通过一系列提前定义标签来描写叙述网页结构。如: <title>This is title</title> 。这个表明该网页的标题是 This is title。

什么是CSS?

CSS 指层叠样式表 (Cascading Style Sheets),它描写叙述浏览器显示怎样显示html元素。

看以下代码,浏览器 将会 以 20px绿色字体   显示 p标签中的文本节点

p {
font-size: 20px;
color: green;
}

这些html元素 、css样式 是由W3C组织制定规范。

然后由不同浏览器实现,全部你会看到 同一个网页 页面,通过不同的 浏览器查看。显示会有一些区别。

以下图片是说明 浏览器 怎样解析 html 和 css的:

html 就是一个文本文件,

1、浏览器通过http 请求 server,把html文档 下载下来

2、把html解析成dom树。同一时候提供dom接口,方便其它编程语言操作dom树,如:javascript

3、下载并,解析css样式规则

4、把样式规则依附在html元素上(以css选择器作为依赖)

5、渲染dom树

6、显示

为什么说html,css。javascript 是 跨平台的?

html,css,javascript 事实上 就是 一个文本文件,然后通过浏览器 不同的引擎 去 解析对应的 代码 来 运行,

所以 仅仅有 实现某个 平台 下 的 浏览器即可了 ,就能够在 这个平台上 使用 这个 Web Project,听起来 是不是 认为 顿悟了。

而java 跨平台 的原理 则是 ,把 java源文件 翻译成 与 平台无关的class文件,然后通过 JVM 去 载入 运行。

值得一提的是 JVM 也是 一个 规范, 使用广泛的JVM 是 Java HotSpot ,假设你能力够强的话,能够基于openjdk

来 开发 自己的jdk ,来实现jdk级别的 优化。

如此分析,是不是认为HTML、CSS、Javascript 非常可爱。它事实上就是一个规范,

如今HTML5 、CSS3 ,EcmaScript6 提出非常多 新的 特性。概论,假设一旦 浏览器得到了更好的 支持,那就移动Web开发 将成为 主流, 而 android,ios ,这类原生的程序 将会慢慢 的降低。

想象一下,通过浏览器。就能够实现全部的请求。比方 聊天 ,看视频。上网方式 将会变得很 优美,不是么。

好吧,接下来 说一下 node-webkit,我的理解是 它是一个nodejs引擎+ webkit 引擎。

通过nodejs引擎 解析 js 。而通过 webkit
引擎 解析 html 、 css ,所以在网页中能够嵌入 nodejs 的代码 。

有些html 、 css、js的经验的话。 会非常平滑的过渡,来开发一些东西。

那我们来 掀起node-webkit的盖头来 吧。

打开nw.exe 来看看

乍一看 ,就是 谷歌浏览器啊,好吧,来点干货吧。

index.html

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>what's node-webkit?</title>
<style>
h1 {
color: red;
} p {
font-size: 20px;
color: green;
}
</style>
<script>
console.log('当你看到这段文字,说明这段代码被nodejs引擎。解释,运行了');
console.log(this);
</script>
</head>
<body>
<h1>This is a nw app.</h1> <p>它是一个nodejs引擎+ webkit 引擎 </p> </body>
</html>

package.json

{
"name": "nw-frist",
"version": "0.0.1",
"main": "index.html"
}

打包成zip格式的文件,然后执行 nw.exe nw-first.zip 来执行它

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvem91dG9uZ3l1YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

第一图 是用 nw 去运行 ,第二图是在Google Chrome 中查看。

能够看出 。效果 是一样的。

好吧,来加入点不一样的。

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>what's node-webkit? </title>
<style>
h1 {
color: red;
} p {
font-size: 20px;
color: green;
}
</style>
<script>
console.log('当你看到这段文字。说明这段代码被nodejs引擎,解释。运行了');
console.log('this : ', this);
console.log('global : ', global);
</script>
</head>
<body>
<h1>This is a nw app.</h1> <p>它是一个nodejs引擎+ webkit 引擎 </p> </body>
</html>

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvem91dG9uZ3l1YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

能够看到我们输出 global 对象的信息,

这意味着node-webkit  javascript 执行环境 是 nodejs,

那 我们就能够在 html script标签中 使用 nodejs 进行 编程,包含,读取本地文件,进行网络请求。訪问本地硬件设备。。。等等 ,这是不是 意味着能够用来 开发 本地程序 ?答案 当然是 true ,并且能够 跨平台 ,就如 上面分析的一样。我们能够使用html5 、css3 开发 很优美,交互更棒的 本地 web app ,有大量的 nodejs 包 和 js lib 使用。
试想一下 用 c++ , vb 。Python 开发一个 美丽的本地程序。要自己定义 一些 组件, 那是多么 麻烦。

有时间我们将通过  node-webkit。写一个 文件浏览器,来实践一下 ,这些技术是 怎么 结合 的?

以上 纯属个人 见解。

又一次认识HTML,CSS,Javascript 之node-webkit 初探的更多相关文章

  1. html css javascript 加载的顺序

    html /css /javascript 这三者的加载顺序影响整个页面的加载速度.而加载速度的快慢直接影响pv(访问量),而且会影响经济收入.在大网站中,可能打开速度快一秒,一年能多带来上亿的收入. ...

  2. Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化[转]

    今天在github上乱逛,无意间找到victorporof分享的htmlpretty插件,特做推荐: 先看看他是怎么描述htmlpretty的: This is a Sublime Text 2 an ...

  3. html+css+javascript实现列表循环滚动示例代码

    使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内 ...

  4. HTML+CSS+JAVASCRIPT 总结

    1. HTML 1: <!doctype html> 2: <!-- This is a test html for html, css, javascript --> 3: ...

  5. Umbraco(3) - CSS & Javascript(翻译文档)

    原文地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/umbraco3css-javascript/ CSS & Jav ...

  6. 原创的基于HTML/CSS/JavaScript的层级目录树

    之前参加过一些基于HTML/CSS/JavaScript的项目,当在页面中需要生成一颗目录树时,总是首先想着网上有没有现成的生成树的源代码,比如dtree.zthee,或者使用一些javascript ...

  7. MiniCodeEditor:只有168字节的在线Html/CSS/JavaScript编辑器

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:MiniCodeEditor:只有168字节的在线Html/CSS/JavaScript编辑器.

  8. CSS+Javascript的那些框架

    CSS CSS 制作框架 SASS http://www.oschina.net/p/sass Blueprint  http://www.oschina.net/p/blueprintcss Ela ...

  9. 3 Ways to Preload Images with CSS, JavaScript, or Ajax---reference

    Preloading images is a great way to improve the user experience. When images are preloaded in the br ...

  10. Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)

    Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...

随机推荐

  1. Windows Server时间服务器配置方法

    1 时间服务器经常会碰到客户端机器需要和服务器在时间上保持同步,否则会出现各种问题,特别是有时间相关的触发功能的时候. 为解决各设备间时间统一的问题,我们可在网络中设置一台服务器使其作为基准时间,其它 ...

  2. Cordova CLI源码分析(三)——初始化

    本部分主要涉及以下三个文件 1 cli.js 2 cordova.js 3 events.js 通过前一篇package.json的分析,可以知道,当命令行执行cordova相关命令时,首先调用mai ...

  3. 阅读zepto.js的core中的Core methods

    学习zepto.js,參考资料:http://www.zeptojs.cn/ 跟jQuery一样.其选择符号也是$; 首先接触的是 $.()  选择 $(selector, [context]) ⇒ ...

  4. MySQL 触发器例子(两张表同步增加和删除)

    以下两个例子来自:http://www.cnblogs.com/nicholas_f/archive/2009/09/22/1572050.html实测有效,但是原帖的分隔符不正确,因此稍作修改.其中 ...

  5. 计算机本科/硕士找offer的总结 节选

    在这样的目标定位下,我的求职历程从2006年10月8日开始,到2007年1月10日正式结束,一共持续了3个月的时间.整个过程可以分为三个阶段:第一阶段:2006年10月份 找工作刚刚开始的阶段,什么都 ...

  6. 关于java mail 发邮件的问题总结(转)

    今天项目中有需要用到java mail发送邮件的功能,在网上找到相关代码,代码如下: import java.io.IOException; import java.util.Properties; ...

  7. Amazon AWS创建RHEL 7实例

    在AWS上登录 如果没有账号的话先注册,参考 http://blog.banban.me/blog/2014/06/09/li-yong-awsmian-fei-zhang-hu-da-jian-vp ...

  8. KMP求字符串最小循环节

    证明1: 对于一个字符串S,长度为L,如果由长度为len的字符串s(字符串s的最小循环节是其本身)循环k次构成,那么字符串s就是字符串S的最小循环节 那么字符串有个很重要的性质和KMP挂钩,即  i ...

  9. linux 流量监控 ---iptraf的安装及使用

    一.安装iptraf 我用的是centos,切换到root用户,执行 yum install -y iptraf 二.使用 1.直接输入iptraf,进入软件,按任意键继续 2.我主要是第二项和第三项 ...

  10. Android该系统提供的服务--Vibrator(振子)

    Android该系统提供的服务--Vibrator(振子) --转载请注明出处:coder-pig Vibrator简单介绍与相关方法: watermark/2/text/aHR0cDovL2Jsb2 ...