Deno ಯೋಜನೆಯು Node.js ನಂತೆಯೇ ಸುರಕ್ಷಿತ JavaScript ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದೆ

ಲಭ್ಯವಿದೆ ಯೋಜನೆಯ ಬಿಡುಗಡೆ ಡೆನೊ 0.33, ಇದು JavaScript ಮತ್ತು ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಸ್ವತಂತ್ರ ಅಪ್ಲಿಕೇಶನ್ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗಾಗಿ Node.js-ರೀತಿಯ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ನೀಡುತ್ತದೆ, ಇದನ್ನು ಬ್ರೌಸರ್‌ಗೆ ಜೋಡಿಸದೆಯೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ ಸರ್ವರ್‌ನಲ್ಲಿ ರನ್ ಆಗುವ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ರಚಿಸುವುದು. ಡೆನೋ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎಂಜಿನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ V8, ಇದನ್ನು Node.js ಮತ್ತು Chromium ಯೋಜನೆಯ ಆಧಾರದ ಮೇಲೆ ಬ್ರೌಸರ್‌ಗಳಲ್ಲಿಯೂ ಸಹ ಬಳಸಲಾಗುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ವಿತರಿಸುವವರು MIT ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ. ಯೋಜನೆಯನ್ನು ರಿಯಾನ್ ಡಾಲ್ ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದ್ದಾರೆ (ರಯಾನ್ ಡಾಲ್), Node.js JavaScript ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಸೃಷ್ಟಿಕರ್ತ.

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ಗಾಗಿ ಹೊಸ ರನ್‌ಟೈಮ್ ರಚಿಸುವ ಮುಖ್ಯ ಗುರಿಗಳಲ್ಲಿ ಒಂದು ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಪರಿಸರವನ್ನು ಒದಗಿಸುವುದು. ಸುರಕ್ಷತೆಯನ್ನು ಸುಧಾರಿಸಲು, V8 ಎಂಜಿನ್ ಅನ್ನು ರಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ, ಇದು ಕಡಿಮೆ-ಹಂತದ ಮೆಮೊರಿ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್‌ನಿಂದ ಉಂಟಾಗುವ ಅನೇಕ ದುರ್ಬಲತೆಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ನಂತರ-ಮುಕ್ತ ಪ್ರವೇಶ, ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಡಿರೆಫರೆನ್ಸ್ ಮತ್ತು ಬಫರ್ ಓವರ್‌ರನ್‌ಗಳು. ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸದ ಮೋಡ್‌ನಲ್ಲಿ ವಿನಂತಿಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ ಟೊಕಿಯೊ, ರಸ್ಟ್‌ನಲ್ಲಿಯೂ ಬರೆಯಲಾಗಿದೆ. ಈವೆಂಟ್-ಚಾಲಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಆಧರಿಸಿ ಹೆಚ್ಚಿನ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಲು ಟೋಕಿಯೊ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಅಸಮಕಾಲಿಕ ಮೋಡ್‌ನಲ್ಲಿ ಮಲ್ಟಿ-ಥ್ರೆಡಿಂಗ್ ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ನೆಟ್‌ವರ್ಕ್ ವಿನಂತಿಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.

ಮುಖ್ಯ ವೈಶಿಷ್ಟ್ಯಗಳು ಡೆನೋ:

  • ಭದ್ರತೆ-ಆಧಾರಿತ ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್. ಫೈಲ್ ಪ್ರವೇಶ, ನೆಟ್‌ವರ್ಕಿಂಗ್ ಮತ್ತು ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು;
  • ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಜೊತೆಗೆ ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ ಭಾಷೆಗೆ ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲ;
  • ರನ್ಟೈಮ್ ಒಂದೇ ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ("ಡೆನೋ") ರೂಪದಲ್ಲಿ ಬರುತ್ತದೆ. ಡೆನೋ ಬಳಸಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಇದು ಸಾಕು ಅಪ್ಲೋಡ್ ಮಾಡಿ ಅದರ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಾಗಿ ಒಂದು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್, ಸುಮಾರು 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 ECMAScript ಮಾಡ್ಯೂಲ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಅವಶ್ಯಕತೆ() ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ