Deno כבר תומך במודולי NPM

דנו npm

הפלטפורמה מפותחת על ידי Ryan Dahl, היוצר של Node.js.

לאחרונה החדשות על יציאת הגרסה החדשה של מסגרת Deno 1.28 שוחררו, המאפשר ביצוע של יישומי JavaScript ו-TypeScript עצמאיים שניתן להשתמש בהם ליצירת בקרים הפועלים על השרת.

Deno נוצר כדי לספק למשתמשים סביבה מאובטחת יותר ולבטל תפיסות שגויות בארכיטקטורת Node.js. כדי לשפר את האבטחה, הקישור סביב מנוע ה-V8 כתוב ב-Rust, מה שמונע נקודות תורפה רבות המתעוררות עקב טיפול בזיכרון ברמה נמוכה.

כדי לעבד בקשות במצב לא חוסם, נעשה שימוש במסגרת Tokio, שנכתבה גם ב-Rust. Tokio מאפשרת לך ליצור יישומים בעלי ביצועים גבוהים המבוססים על ארכיטקטורה מונעת אירועים, התומכים בריבוי השחלות ועיבוד בקשות רשת באופן אסינכרוני.

חלק מהתכונות העיקריים של דנו הם הבאים:

  • תמיכה מובנית בשפת TypeScript בנוסף ל-JavaScript. לבדיקת סוגים ויצירת JavaScript, נעשה שימוש במהדר TypeScript הרגיל, מה שמוביל לירידה בביצועים בהשוואה לניתוח JavaScript ב-V8.
  • זמן הריצה מגיע בצורה של קובץ הפעלה עצמאי בודד ("deno"). כדי להפעיל יישומים באמצעות Deno, אתה פשוט מוריד קובץ הפעלה לפלטפורמה שלך, בגודל של כ-30MB, שאין לו תלות חיצונית ואינו דורש התקנה מיוחדת במערכת שלך.
  • עיבוד יישומים יעיל של בקשות רשת באמצעות HTTP, הפלטפורמה נועדה לבנות יישומי רשת בעלי ביצועים גבוהים
  • היכולת ליצור יישומי אינטרנט אוניברסליים שיכולים לפעול גם בדנו וגם בדפדפן אינטרנט רגיל
  • נוכחות של סט סטנדרטי של מודולים, שהשימוש בהם אינו מצריך קישור לתלות חיצונית.
  • מודולים מהאוסף הסטנדרטי עברו ביקורת נוספת ונבדקו לגבי תאימות
  • החבילה כוללת מערכת מובנית לבדיקת תלות ("פקודה deno info") וכלי עזר לעיצוב קוד (deno fmt).
  • ניתן לשלב את כל סקריפטי היישום לקובץ JavaScript אחד.

החדשות העיקריות של Deno 1.28

השינוי המרכזי בגרסה החדשה הוא ייצוב תאימות עם חבילות המתארחות במאגר NPM, מה מאפשר ל-Deno להשתמש ביותר מ-1,3 מיליון מודולים נבנה עבור פלטפורמת Node.js. לדוגמה, יישומים מבוססי Deno יכולים כעת להשתמש במודולי גישה מתמשכת לנתונים כמו Prisma, Mongoose ו-MySQL, כמו גם במסגרות חזיתיות כמו React ו-Vue.

חלק ממודולי NPM עדיין אינם תואמים ל-Deno, למשל, עקב כריכות לסביבות ספציפיות של Node.js, כגון קובץ package.json. זה גם לא אפשרי להשתמש בפקודה "deno compile" עם מודולי NPM. מהדורות עתידיות מתוכננות כדי לטפל באי-תאימות ובמגבלות אלו.

מערכת המודולים מודל מודול ECMAScript ו-Web API מדור קודם של Deno נשאר זהה, וסכימת הטעינה המוכרת של Deno מבוססת URL משמשת לייבוא ​​מודולי NPM.

השימוש בחבילות NPM ב-Deno הוא הרבה יותר קל מאשר ב-Node.js, מכיוון שאין צורך בהתקנה מראש של מודולים (מודולים מותקנים כאשר האפליקציה מופעלת בפעם הראשונה), הקובץ package.json אינו בשימוש וספריית node_modules אינה בשימוש, משמש כברירת מחדל (מודולים מאוחסנים במטמון בספרייה המשותפת, אבל אפשר לחזור על ההתנהגות הקודמת עם האפשרות "--node-modules-dir").

יישומים המבוססים על NPM שומרת על היכולת להשתמש במנגנוני בקרת גישה, בידוד והפעלה Deno לפונקציות מתקדמות המשפיעות על האבטחה. כדי להתמודד עם התקפות באמצעות תלות מפוקפקת, Deno חוסם כברירת מחדל את כל הניסיונות לגשת למערכת מתלות ומציג אזהרה לגבי בעיות שזוהו. לדוגמה, כאשר המודול מנסה לכתוב אל /usr/bin/, תוצג בקשת אישור לפעולה זו:

שיפורים שאינם קשורים ל-NPM בגרסה החדשה כולל שדרוג מנוע V8 עבור גרסה 10.9, זיהוי אוטומטי של קבצים עם מנעולים, ייצוב של Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo( ), וממשקי ה-API של Deno. .uid(), הוספת API לא יציב חדש Deno.Command() לביצוע פקודות (תחליף אוניברסלי עבור Deno.spawn, Deno.spawnSync ו-Deno.spawnChild).

לבסוף ראוי להזכיר זאת כמו Node.js, Deno משתמש במנוע V8 JavaScript., המשמש גם בדפדפנים מבוססי Chromium. יחד עם זאת, Deno הוא לא מזלג של Node.js, אלא פרויקט חדש שנבנה מאפס. הקוד של הפרויקט מופץ תחת רישיון MIT ויש בנייה מוכנה עבור Linux, Windows ו-macOS.

אם כן מעוניין לדעת יותר על זה, אתה יכול להתייעץ הקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.