`

浅谈common js

阅读更多

       在说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前端开发以及服务器端开发都会迎来崭新的局面。

分享到:
评论

相关推荐

    浅谈 Node和php的进程管理

    在早期的Web服务中,CGI(Common Gateway Interface)协议被广泛采用。由于其每次请求都需重启进程、导致资源开销大,性能逐渐成为瓶颈。为解决这一问题,FastCGI应运而生,它通过常驻内存的进程处理多次请求,显著...

    浅谈Node.js 沙箱环境

    \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作为目前最火的打包工具,在前端开发中被广泛应用。在项目开发中,我们不可避免地遇到了打包优化的问题,本文将总结Webpack打包优化的一些细节和方法。 定位体积大的模块 要想对...

    浅谈Vue父子组件和非父子组件传值问题

    Vue 组件传值问题浅谈 Vue 组件传值问题是 Vue 开发中非常重要的一个话题,涉及到父子组件和非父子组件之间的传值问题。今天,我们将一步步地介绍如何在 Vue 中实现组件传值。 组件的创建 创建组件是 Vue 开发的...

    浅谈webpack SplitChunksPlugin实用指南

    这段配置会创建两个缓存组:`vendors` 用于提取所有 `node_modules` 中的模块到单独的 `vendors.js` 文件,而 `default` 则会把至少被引用两次的模块打包到 `common.js`。 总的来说,Webpack 的 `SplitChunksPlugin...

    浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法

    为了提高代码的复用性,我们可以将这些共用的方法封装在一个公共的JavaScript文件中,然后在项目入口文件main.js中引入这个公共方法文件,并将其挂载到Vue的原型链上。这样,所有的Vue实例都可以直接访问这个方法。 ...

    浅谈webpack 四个核心概念之Entry

    first: './src/first.js', // 引用了common.js和vue.js second: './src/second.js', }, // 其他配置... plugins: [ new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', // 创建一个名为vendors的...

    浅谈vue项目优化之页面的按需加载(vue+webpack)

    随着项目的发展,JavaScript 包会变得非常大,影响加载速度。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应的组件,这样就可以大大提高首屏显示的速度。 使用 Vue 的异步...

    浅谈如何使用webpack构建多页面应用

    Webpack是一个强大的模块打包工具,通常用于处理JavaScript,但它也可以处理CSS、图片和其他静态资源。在某些情况下,单页面应用(SPA)可能无法满足所有需求,这时就需要构建多页面应用(MPA)。下面,我们将按照...

    浅谈django rest jwt vue 跨域问题

    2. 在`MIDDLEWARE_CLASSES`中添加`'corsheaders.middleware.CorsMiddleware'`,并且要确保它位于`'django.middleware.common.CommonMiddleware'`之前,因为中间件的执行顺序很重要。 接下来,我们可以设置跨域相关...

    浅谈selenium如何应对网页内容需要鼠标滚动加载的问题

    另一种方法是通过执行JavaScript脚本来模拟页面滚动。例如,可以多次执行`window.scrollBy()`函数,每次滚动一定的像素值,以触发页面的新内容加载。下面的代码片段展示了如何模拟三次向下滚动: ```python import ...

    编程牛人采访,Coders at Work

    **Peter Seibel**是一位程序员同时也是作家,他在本书中担任访谈者角色,通过一系列深入浅出的问题引导受访程序员分享他们的思考过程、工作方法以及对编程的理解。 #### 三、访谈对象简介 本书收录了多位在计算机...

Global site tag (gtag.js) - Google Analytics