Node.js vs Browser

Node.js மற்றும் உலாவி சூழல்களுக்கு இடையே உள்ள முக்கிய வேறுபாடுகளைக் கற்றுக்கொள்ளுங்கள்

முக்கிய வேறுபாடுகள்

Node.js மற்றும் உலாவிகள் இரண்டும் JavaScript ஐ இயக்கும், ஆனால் அவை வெவ்வேறு சூழல்கள் மற்றும் திறன்களைக் கொண்டுள்ளன.

Node.js சேவையக-பக்க உருவாக்கத்திற்காக வடிவமைக்கப்பட்டுள்ளது, அதே நேரத்தில் உலாவிகள் கிளையண்ட்-பக்க பயன்பாடுகளுக்காக உள்ளன.

APIகள்

Node.js கோப்பு முறைமை, நெட்வொர்கிங் மற்றும் OS க்கான APIகளை வழங்குகிறது, இது உலாவிகள் வழங்காது.

உலாவிகள் DOM, fetch மற்றும் UI APIகளை வழங்குகின்றன, இவை Node.js இல் கிடைக்காது.

உலகளாவிய பொருள்கள்

Node.js global ஐப் பயன்படுத்துகிறது; உலாவிகள் window அல்லது self ஐப் பயன்படுத்துகின்றன.

தொகுதிகள்

Node.js CommonJS (require) மற்றும் ES தொகுதிகள் (import) பயன்படுத்துகிறது; உலாவிகள் ES தொகுதிகள் அல்லது plain <script> குறிச்சொற்களைப் பயன்படுத்துகின்றன.

பாதுகாப்பு

உலாவிகள் வரையறுக்கப்பட்ட அணுகல் கொண்ட sandbox இல் இயங்கும்; Node.js கோப்பு முறைமை மற்றும் நெட்வொர்க்கிற்கு முழு அணுகலைக் கொண்டுள்ளது.

நிகழ்வு வளையம்

இரண்டு சூழல்களும் நிகழ்வு வளையத்தைப் பயன்படுத்துகின்றன, ஆனால் Node.js க்கு டைமர்கள், செயல்முறை போன்றவற்றுக்கான கூடுதல் APIகள் உள்ளன.

சூழல் மாறிகள்

Node.js சூழல் மாறிகளை அணுக முடியும் (process.env); உலாவிகள் முடியாது.

தொகுப்பு மேலாண்மை

Node.js npm/yarn ஐப் பயன்படுத்துகிறது; உலாவிகள் CDNகள் அல்லது bundlers ஐப் பயன்படுத்துகின்றன.

எடுத்துக்காட்டுகள்

உலகளாவிய பொருள்கள்

Node.js

// Node.js
global.mylet = 42;
console.log(global.mylet); // 42

Browser

// Browser
window.mylet = 42;
console.log(window.mylet); // 42

கோப்பு அணுகல்

Node.js

// Node.js
const fs = require('fs');
fs.readFile('myfile.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

Browser

// Browser
// பாதுகாப்பு காரணங்களுக்காக அனுமதிக்கப்படவில்லை

HTTP கோரிக்கைகள்

Node.js

// Node.js
const https = require('https');
https.get('https://example.com', res => {
  let data = '';
  res.on('data', chunk => data += chunk);
  res.on('end', () => console.log(data));
});

Browser

// Browser
fetch('https://example.com')
  .then(response => response.text())
  .then(console.log);

தொகுதிகள்

Node.js

// Node.js (CommonJS)
const fs = require('fs');

// Node.js & Browser (ES Modules)
// import fs from 'fs'; // Node.js மட்டும், browser அல்ல

Browser

// Browser
// import _ from 'https://cdn.jsdelivr.net/npm/lodash-es/lodash.js'; // Browser

ஒப்பீட்டு அட்டவணை

அம்சம் Node.js Browser
கோப்பு முறைமை அணுகல் ஆம் இல்லை
நெட்வொர்கிங் (TCP/UDP) ஆம் இல்லை
DOM அணுகல் இல்லை ஆம்
உலகளாவிய பொருள் global window/self
தொகுதிகள் CommonJS/ESM ESM/Scripts
சூழல் மாறிகள் ஆம் (process.env) இல்லை
பாதுகாப்பு முழு OS அணுகல் Sandboxed
தொகுப்பு மேலாண்மை npm/yarn CDN/Bundler

பயிற்சி

Node.js உலகளாவிய பொருளை நிரப்ப சிறந்த விருப்பத்தைத் தேர்ந்தெடுக்கவும்:

______.mylet = 42;
global
✓ சரி! Node.js இல் global உலகளாவிய பொருளாகும்
window
✗ தவறு! window உலாவி சூழலில் உள்ளது, Node.js இல் அல்ல
document
✗ தவறு! document உலாவி DOM இல் உள்ளது, Node.js இல் கிடைக்காது
process
✗ தவறு! process Node.js இல் உள்ளது, ஆனால் இது உலகளாவிய பொருள் அல்ல