Since the emergence of the CommonJS and NodeJS projects, JavaScript, as a special application form of local programming language, has begun to enter the public eye. In addition, with the popularity of parallel computing, functional languages like JavaScript will have broader application prospects due to their inherent ease of parallel computing.
#JavaScript is a powerful object-oriented language with many fast and efficient interpreters. The official JavaScript standard defines APIs for building browser-based applications. However, there is no standard library intended for a wider range of applications.
CommonJS API fills this gap by defining many APIs used by common applications (mainly non-browser applications). Its ultimate goal is to provide a standard library similar to Python, Ruby and Java. In this case, developers can use the CommonJS API to write applications, and then these applications can run in different JavaScript interpreters and different host environments. In systems compatible with CommonJS, you can develop JavaScript programs:
Server-side JavaScript applications
Command line tools
Graphical interface applications
Hybrid applications (e.g., Titanium or Adobe AIR)
Relationship between NodeJS and CommonJS
CommonJS is a specification and NodeJS is the specification realization. CommonJS is an evolving specification and plans to include the following parts:
Modules
Binary strings and buffers
Charset encodings
Binary, buffered, and textual input and output (io) streams
System process arguments, environment, and streams
File system interface
Socket streams
Unit test assertions, running, and reporting
Web server gateway interface, JSGI
Local and remote packages and package management
Please check the official website for the specific customization progress of each sub-specification. : http://commonjs.org/specs/
CommonJS has many implementations, including many famous projects, such as Apache's CouchDB and node.js. But most of these projects only implement part of the CommonJS specifications. For specific projects and implementation parts, please refer to the instructions on the official website: http://commonjs.org/impl/
#tips: Don’t underestimate JavaScript as a background application, Palm’s WebOS CommonJS and its extended JS API have been mentioned in the development plan. In addition, almost all platforms (including smartphone platforms and computer platforms have begun the process) have begun to introduce Web technologies: such as WRT in S60 and WebWidget in IPhone. , WebWidget on the Android platform, and Firefox directly use XML and CSS as the interface and Javascript to control the logic, and even Google's ChromeOS is directly a browser operating system. I make a technical bet: Mixed programming of dynamic languages and static languages will be very popular (for example, Android and Palm WebOS introduce two SDKs at the same time, QT until QTScript).
The above is the detailed content of what is commonjs. For more information, please follow other related articles on the PHP Chinese website!