Deno ప్రాజెక్ట్ Node.js మాదిరిగానే సురక్షితమైన జావాస్క్రిప్ట్ ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేస్తోంది

అందుబాటులో ప్రాజెక్ట్ విడుదల డెనో 0.33, ఇది JavaScript మరియు టైప్‌స్క్రిప్ట్‌లో స్టాండ్-ఒంటరిగా అప్లికేషన్ అమలు కోసం Node.js-వంటి ప్లాట్‌ఫారమ్‌ను అందిస్తుంది, ఇది సర్వర్‌లో పనిచేసే హ్యాండ్లర్‌లను సృష్టించడం వంటి బ్రౌజర్‌తో ముడిపడి ఉండకుండా అప్లికేషన్‌లను అమలు చేయడానికి ఉపయోగించవచ్చు. Deno జావాస్క్రిప్ట్ ఇంజిన్‌ను ఉపయోగిస్తుంది V8, ఇది Chromium ప్రాజెక్ట్ ఆధారంగా Node.js మరియు బ్రౌజర్‌లలో కూడా ఉపయోగించబడుతుంది. ప్రాజెక్ట్ కోడ్ ద్వారా పంపిణీ చేయబడింది MIT లైసెన్స్ కింద. ప్రాజెక్ట్‌ను ర్యాన్ డాల్ అభివృద్ధి చేస్తున్నారు (ర్యాన్ డాల్), Node.js జావాస్క్రిప్ట్ ప్లాట్‌ఫారమ్ సృష్టికర్త.

JavaScript కోసం కొత్త రన్‌టైమ్‌ను సృష్టించే ప్రధాన లక్ష్యాలలో ఒకటి మరింత సురక్షితమైన వాతావరణాన్ని అందించడం. భద్రతను మెరుగుపరచడానికి, V8 ఇంజిన్ రస్ట్‌లో వ్రాయబడింది, ఇది తక్కువ-స్థాయి మెమరీ మానిప్యులేషన్ నుండి ఉత్పన్నమయ్యే అనేక దుర్బలత్వాలను నివారిస్తుంది. ప్లాట్‌ఫారమ్ నాన్-బ్లాకింగ్ మోడ్‌లో అభ్యర్థనలను ప్రాసెస్ చేయడానికి ఉపయోగించబడుతుంది టోక్యో, రస్ట్‌లో కూడా వ్రాయబడింది. టోకియో ఈవెంట్-ఆధారిత ఆర్కిటెక్చర్ ఆధారంగా అధిక-పనితీరు గల అప్లికేషన్‌లను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది, మల్టీ-థ్రెడింగ్ మరియు ప్రాసెసింగ్ నెట్‌వర్క్ అభ్యర్థనలను అసమకాలిక రీతిలో సపోర్ట్ చేస్తుంది.

ప్రధాన особенности డెనో:

  • భద్రత-ఆధారిత డిఫాల్ట్ కాన్ఫిగరేషన్. ఫైల్ యాక్సెస్, నెట్‌వర్కింగ్ మరియు ఎన్విరాన్‌మెంట్ వేరియబుల్స్‌కి యాక్సెస్ డిఫాల్ట్‌గా డిసేబుల్ చేయబడతాయి మరియు తప్పనిసరిగా ఎనేబుల్ చేయబడాలి;
  • జావాస్క్రిప్ట్‌తో పాటు టైప్‌స్క్రిప్ట్ భాషకు అంతర్నిర్మిత మద్దతు;
  • రన్‌టైమ్ ఒకే స్వీయ-నియంత్రణ ఎక్జిక్యూటబుల్ ఫైల్ ("డెనో") రూపంలో వస్తుంది. Deno ఉపయోగించి అప్లికేషన్లను అమలు చేయడానికి ఇది సరిపోతుంది డౌన్లోడ్ దాని ప్లాట్‌ఫారమ్ కోసం ఒక ఎక్జిక్యూటబుల్ ఫైల్, దాదాపు 10 MB పరిమాణంలో ఉంటుంది, దీనికి బాహ్య డిపెండెన్సీలు లేవు మరియు సిస్టమ్‌లో ప్రత్యేక ఇన్‌స్టాలేషన్ అవసరం లేదు;
  • ప్రోగ్రామ్‌ను ప్రారంభించేటప్పుడు, అలాగే మాడ్యూల్‌లను లోడ్ చేయడానికి, మీరు URL చిరునామాను ఉపయోగించవచ్చు. ఉదాహరణకు, welcome.js ప్రోగ్రామ్‌ను అమలు చేయడానికి, మీరు “deno https://deno.land/std/examples/welcome.js” ఆదేశాన్ని ఉపయోగించవచ్చు. బాహ్య వనరుల నుండి కోడ్ డౌన్‌లోడ్ చేయబడుతుంది మరియు స్థానిక సిస్టమ్‌లో కాష్ చేయబడుతుంది, కానీ స్వయంచాలకంగా ఎప్పటికీ నవీకరించబడదు (నవీకరణ చేయడానికి “--రీలోడ్” ఫ్లాగ్‌తో అప్లికేషన్‌ను స్పష్టంగా అమలు చేయడం అవసరం);
  • అప్లికేషన్‌లలో HTTP ద్వారా నెట్‌వర్క్ అభ్యర్థనల సమర్థవంతమైన ప్రాసెసింగ్; ప్లాట్‌ఫారమ్ అధిక-పనితీరు గల నెట్‌వర్క్ అప్లికేషన్‌లను రూపొందించడానికి రూపొందించబడింది;
  • డెనోలో మరియు సాధారణ వెబ్ బ్రౌజర్‌లో అమలు చేయగల సార్వత్రిక వెబ్ అప్లికేషన్‌లను సృష్టించగల సామర్థ్యం;
  • రన్‌టైమ్‌తో పాటు, డెనో ప్లాట్‌ఫారమ్ ప్యాకేజీ మేనేజర్‌గా కూడా పనిచేస్తుంది మరియు కోడ్ లోపల URL ద్వారా మాడ్యూల్‌లను యాక్సెస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, మాడ్యూల్‌ను లోడ్ చేయడానికి, మీరు “https://deno.land/std/log/mod.ts” నుండి లాగ్‌గా “దిగుమతి *ని కోడ్‌లో పేర్కొనవచ్చు. URL ద్వారా బాహ్య సర్వర్‌ల నుండి డౌన్‌లోడ్ చేయబడిన ఫైల్‌లు కాష్ చేయబడ్డాయి. మాడ్యూల్ వెర్షన్‌లకు బైండింగ్ అనేది URL లోపల వెర్షన్ నంబర్‌లను పేర్కొనడం ద్వారా నిర్ణయించబడుతుంది, ఉదాహరణకు, “https://unpkg.com/[ఇమెయిల్ రక్షించబడింది]/dist/liltest.js";
  • నిర్మాణంలో ఇంటిగ్రేటెడ్ డిపెండెన్సీ ఇన్‌స్పెక్షన్ సిస్టమ్ (“డెనో ఇన్ఫో” కమాండ్) మరియు కోడ్ ఫార్మాటింగ్ కోసం యుటిలిటీ (డెనో ఎఫ్‌ఎమ్‌టి) ఉన్నాయి.
  • అప్లికేషన్ డెవలపర్‌ల కోసం ప్రతిపాదించారు అదనపు ఆడిట్ మరియు అనుకూలత పరీక్షకు గురైన ప్రామాణిక మాడ్యూళ్ల సమితి;
  • అన్ని అప్లికేషన్ స్క్రిప్ట్‌లను ఒక జావాస్క్రిప్ట్ ఫైల్‌గా కలపవచ్చు.

Node.js నుండి తేడాలు:

  • Deno npm ప్యాకేజీ మేనేజర్‌ని ఉపయోగించదు
    మరియు రిపోజిటరీలతో ముడిపడి ఉండదు, మాడ్యూల్‌లు URL ద్వారా లేదా ఫైల్ మార్గం ద్వారా పరిష్కరించబడతాయి మరియు మాడ్యూల్‌లను ఏదైనా వెబ్‌సైట్‌లో ఉంచవచ్చు;

  • మాడ్యూల్‌లను నిర్వచించడానికి Deno "package.json"ని ఉపయోగించదు;
  • API వ్యత్యాసం, డెనోలోని అన్ని అసమకాలిక చర్యలు వాగ్దానాన్ని అందిస్తాయి;
  • Denoకి ఫైల్‌లు, నెట్‌వర్క్ మరియు ఎన్విరాన్‌మెంట్ వేరియబుల్స్ కోసం అవసరమైన అన్ని అనుమతుల యొక్క స్పష్టమైన నిర్వచనం అవసరం;
  • హ్యాండ్లర్లతో అందించబడని అన్ని లోపాలు అప్లికేషన్ యొక్క ముగింపుకు దారితీస్తాయి;
  • Deno ECMAScript మాడ్యూల్ సిస్టమ్‌ని ఉపయోగిస్తుంది మరియు అవసరం()కి మద్దతు ఇవ్వదు.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి