`
- 浏览:
214081 次
- 性别:
- 来自:
大连
-
在说common js之前必须得先说一下javascript,众所周知,javascript是浏览器环境下运行的一种web前端的脚本语言,如果没有浏览器,javascript是无法运行的。但是,随着互联网应用的飞速发展,对web前端的要求也越来越高,rich-client的应用也越来越多,这样就出现了很多前端的javascript库,比如prototype, jquery等。但是,无论出现多少javascript的库,javascript也没有跳出浏览器这个sand box,而且没有其它脚本语言那么丰富的库,很多功能都必须依托像flash,silverlight这种浏览器插件来实现。随着,html5的出现,flash这些插件会被逐渐抛弃,但是javascript还是无法跳出浏览器的这个圈。
为了把javascript从浏览器这个圈中解救出来,让它茁壮成长,所以就出现了common js这位英雄。common js的口号就是:javascript不仅仅在浏览器中运行。言外之意就是让javascript在浏览器以外也能运行,而且功能要像python等其它脚本语言那样强大。基于这个目的,common js制订出了很多标准和规范,也就是javascript对外的各种API规范,注意,只是个规范和标准,并没有去具体实现。不过别急,common js的标准和规范一出,自会有很多人基于这个标准去具体实现这些API。目前已经有几十种common js的实现库。比较有名的比如:node js,require js,sea js等。注意,这些实现库并没有百分之百地实现common js所规定的标准和规范,都只是实现了其中的一部分。实现的最好的应该是node js。
node js是基于chrome的v8引擎,用C++开发出来的javascript运行环境,并且提供了丰富的javascript API。比如File System,HTTP,Net,Modules等等。而且可以很简单地构筑http server,TCP server等。有了node js,在开发web应用的时候,就可以选择用node js来实现服务器端,而不用以前常用的tomcat,IIS等,也同样可以实现。这样client端和server端都可以使用javascript同一种语言来进行开发,这对于javascript程序员来说是再好不过的了,而且可以大大地提高开发效率,同时也降低了web开发的技术门槛。
虽然现在有了common js规范,也有了这么多实现库,但目前还是处于百花齐放的一种状态,node js貌似独领风骚,但是感觉还是没有一统江湖。所以在未来,javascript的发展空间还是很大的,还会有很长的发展路线,同时还会出现很多优秀的实现库让大家来品鉴。随着javascript的不断发展,相信富客户端等web前端开发以及服务器端开发都会迎来崭新的局面。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在早期的Web服务中,CGI(Common Gateway Interface)协议被广泛采用。由于其每次请求都需重启进程、导致资源开销大,性能逐渐成为瓶颈。为解决这一问题,FastCGI应运而生,它通过常驻内存的进程处理多次请求,显著...
\A common use case is to run the code in a sandboxed environment. The sandboxed code uses a different V8 Context, meaning that it has a different global object than the rest of the code. 先看一个...
浅谈Webpack打包优化技巧 Webpack作为目前最火的打包工具,在前端开发中被广泛应用。在项目开发中,我们不可避免地遇到了打包优化的问题,本文将总结Webpack打包优化的一些细节和方法。 定位体积大的模块 要想对...
Vue 组件传值问题浅谈 Vue 组件传值问题是 Vue 开发中非常重要的一个话题,涉及到父子组件和非父子组件之间的传值问题。今天,我们将一步步地介绍如何在 Vue 中实现组件传值。 组件的创建 创建组件是 Vue 开发的...
这段配置会创建两个缓存组:`vendors` 用于提取所有 `node_modules` 中的模块到单独的 `vendors.js` 文件,而 `default` 则会把至少被引用两次的模块打包到 `common.js`。 总的来说,Webpack 的 `SplitChunksPlugin...
为了提高代码的复用性,我们可以将这些共用的方法封装在一个公共的JavaScript文件中,然后在项目入口文件main.js中引入这个公共方法文件,并将其挂载到Vue的原型链上。这样,所有的Vue实例都可以直接访问这个方法。 ...
first: './src/first.js', // 引用了common.js和vue.js second: './src/second.js', }, // 其他配置... plugins: [ new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', // 创建一个名为vendors的...
随着项目的发展,JavaScript 包会变得非常大,影响加载速度。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应的组件,这样就可以大大提高首屏显示的速度。 使用 Vue 的异步...
Webpack是一个强大的模块打包工具,通常用于处理JavaScript,但它也可以处理CSS、图片和其他静态资源。在某些情况下,单页面应用(SPA)可能无法满足所有需求,这时就需要构建多页面应用(MPA)。下面,我们将按照...
2. 在`MIDDLEWARE_CLASSES`中添加`'corsheaders.middleware.CorsMiddleware'`,并且要确保它位于`'django.middleware.common.CommonMiddleware'`之前,因为中间件的执行顺序很重要。 接下来,我们可以设置跨域相关...
另一种方法是通过执行JavaScript脚本来模拟页面滚动。例如,可以多次执行`window.scrollBy()`函数,每次滚动一定的像素值,以触发页面的新内容加载。下面的代码片段展示了如何模拟三次向下滚动: ```python import ...
**Peter Seibel**是一位程序员同时也是作家,他在本书中担任访谈者角色,通过一系列深入浅出的问题引导受访程序员分享他们的思考过程、工作方法以及对编程的理解。 #### 三、访谈对象简介 本书收录了多位在计算机...