ከሁለት አመት እድገት በኋላ
ጉልህ የሆነው የስሪት ቁጥሩ ከስርዓተ ክወናው ጋር ለመተግበሪያዎች መስተጋብር ኃላፊነት ከሚወስዱት በዴኖ ስም ቦታ ውስጥ ካሉ ኤፒአይዎች ማረጋጊያ ጋር የተያያዘ ነው። እስካሁን ያለው የሶፍትዌር በይነገጾች
አዲስ የጃቫስክሪፕት መድረክ ለመፍጠር ዋና ዋና ምክንያቶች የፅንሰ-ሀሳባዊ ስህተቶችን የማስወገድ ፍላጎት ነበሩ ፣
ዋና
- ደህንነት-ተኮር ነባሪ ውቅር። የፋይል መዳረሻ፣ አውታረ መረብ እና የአካባቢ ተለዋዋጮች መዳረሻ በነባሪነት ተሰናክለዋል እና በግልፅ መንቃት አለባቸው። አፕሊኬሽኖች በነባሪነት በገለልተኛ ማጠሪያ አካባቢዎች የሚሰሩ እና ግልጽ ፍቃድ ሳይሰጡ የስርዓት ችሎታዎችን መድረስ አይችሉም።
- አብሮ የተሰራ ድጋፍ ለTyScript ከጃቫ ስክሪፕት በላይ። መደበኛው የTyScript compiler አይነቶችን ለመፈተሽ እና JavaScriptን ለማመንጨት ጥቅም ላይ ይውላል፣ ይህም በV8 ውስጥ ከጃቫ ስክሪፕት መተንተን ጋር ሲነፃፀር ወደ አፈጻጸም ይመራል። ለወደፊት፣ የየራሳችንን የTyScript አይነት ፍተሻ ስርዓት ለማዘጋጀት አቅደናል፣ ይህም የTyScriptን ሂደት አፈጻጸምን በቅደም ተከተል ያሻሽላል።
- የሩጫ ጊዜ የሚመጣው በነጠላ በራሱ የሚተገበር ፋይል ("deno") ነው። Deno ን በመጠቀም መተግበሪያዎችን ለማሄድ በቂ ነው።
ስቀል ለመሳሪያው መድረክ አንድ ተፈጻሚ ፋይል አለ ፣ መጠኑ 20 ሜባ ፣ ውጫዊ ጥገኛ የሌለው እና በስርዓቱ ላይ ምንም ልዩ ጭነት አያስፈልገውም። ከዚህም በላይ ዴኖ ነጠላ አፕሊኬሽን አይደለም፣ ነገር ግን በዝገት ውስጥ ያሉ የሳጥን ፓኬጆች ስብስብ ነው።deno_core ,ዝገት_v8 ), በተናጠል ጥቅም ላይ ሊውል የሚችል; - ፕሮግራሙን ሲጀምሩ, እንዲሁም ሞጁሎችን ለመጫን, URL አድራሻን መጠቀም ይችላሉ. ለምሳሌ የእንኳን ደህና መጡ.js ፕሮግራምን ለማስኬድ “deno https://deno.land/std/examples/welcome.js” የሚለውን ትዕዛዝ መጠቀም ይችላሉ። ኮድ ከውጪ ሃብቶች ይወርዳል እና በአከባቢው ስርዓት ተደብቋል ፣ ግን በራስ-ሰር አይዘመንም (ማዘመን መተግበሪያውን በ “--reload” ባንዲራ በግልፅ ማስኬድ ይፈልጋል)
- በመተግበሪያዎች ውስጥ በ HTTP በኩል የአውታረ መረብ ጥያቄዎችን በብቃት ማካሄድ፣ መድረኩ ከፍተኛ አፈጻጸም ያላቸውን የአውታረ መረብ መተግበሪያዎች ለመፍጠር የተነደፈ ነው።
- በዴኖ እና በመደበኛ የድር አሳሽ ውስጥ ሊከናወኑ የሚችሉ ሁለንተናዊ የድር መተግበሪያዎችን የመፍጠር ችሎታ;
- ለማገኘት አለማስቸገር
መደበኛ የሞጁሎች ስብስብ , አጠቃቀሙ ከውጭ ጥገኞች ጋር አስገዳጅነት አያስፈልገውም. ከመደበኛ ስብስብ ውስጥ ያሉ ሞጁሎች ተጨማሪ የኦዲት እና የተኳሃኝነት ሙከራ አድርገዋል; - ከማሄድ ጊዜ በተጨማሪ የዴኖ መድረክ እንደ ጥቅል አስተዳዳሪ ሆኖ ይሰራል እና ሞጁሎችን በዩአርኤል በኮዱ ውስጥ እንዲደርሱበት ይፈቅድልዎታል። ለምሳሌ አንድ ሞጁል ለመጫን በኮዱ ውስጥ "ማስመጣት * ከ "https://deno.land/std/log/mod.ts" እንደ መዝገብ መግለጽ ይችላሉ. በዩአርኤል ከውጫዊ አገልጋዮች የወረዱ ፋይሎች ተደብቀዋል። ከሞዱል ስሪቶች ጋር ማያያዝ የሚወሰነው በዩአርኤል ውስጥ የስሪት ቁጥሮችን በመግለጽ ነው፣ ለምሳሌ፣ “https://unpkg.com/[ኢሜል የተጠበቀ]/dist/liltest.js";
- መዋቅሩ የተቀናጀ የጥገኝነት ፍተሻ ስርዓት (የ "deno መረጃ" ትዕዛዝ) እና ለኮድ ቅርጸት መገልገያ (deno fmt) ያካትታል.
- ሁሉም የመተግበሪያ ስክሪፕቶች ወደ አንድ ጃቫስክሪፕት ፋይል ሊጣመሩ ይችላሉ።
ከ Node.js ያሉ ልዩነቶች፡-
- ዴኖ የ npm ጥቅል አስተዳዳሪን አይጠቀምም።
እና ከማጠራቀሚያዎች ጋር አልተያያዘም, ሞጁሎች በዩአርኤል ወይም በፋይል መንገድ ይመለሳሉ, እና ሞጁሎቹ እራሳቸው በማንኛውም ድህረ ገጽ ላይ ሊቀመጡ ይችላሉ. - Deno ሞጁሎችን ለመወሰን "package.json" አይጠቀምም;
- የኤፒአይ ልዩነት፣ ሁሉም በዴኖ ውስጥ ያሉ ያልተመሳሰሉ ድርጊቶች ቃል ኪዳንን ይመልሳሉ።
- ዴኖ ለፋይሎች፣ የአውታረ መረብ እና የአካባቢ ተለዋዋጮች ሁሉንም አስፈላጊ ፍቃዶች ግልጽ ትርጉም ይፈልጋል።
- ከተቆጣጣሪዎች ጋር ያልተሰጡ ሁሉም ስህተቶች ወደ ማመልከቻው መቋረጥ ይመራሉ;
- ዴኖ የ ECMAScript ሞጁሉን ስርዓት ይጠቀማል እና ፍላጎትን አይደግፍም ();
- የዴኖ አብሮ የተሰራ የኤችቲቲፒ አገልጋይ በTyScript የተፃፈ እና በአገሬው የTCP ሶኬቶች ላይ የሚሰራ ሲሆን የ Node.js HTTP አገልጋይ ደግሞ በ C የተፃፈ እና ለጃቫስክሪፕት ማሰሪያዎችን ያቀርባል። የዴኖ ገንቢዎች ሙሉውን የTCP ሶኬት ንብርብር ማመቻቸት እና የበለጠ አጠቃላይ በይነገጽ በማቅረብ ላይ አተኩረዋል። Deno HTTP አገልጋይ ዝቅተኛ የመተላለፊያ ይዘት ያቀርባል ነገር ግን ሊገመት የሚችል ዝቅተኛ መዘግየት ዋስትና ይሰጣል። ለምሳሌ፣ በፈተናው ውስጥ፣ በዴኖ ኤችቲቲፒ አገልጋይ ላይ የተመሰረተ ቀላል መተግበሪያ 25 ሺህ ጥያቄዎችን በሰከንድ በከፍተኛው 1.3 ሚሊሰከንዶች ማስተናገድ ችሏል። በ Node.js ውስጥ፣ ተመሳሳይ አፕሊኬሽን በሰከንድ 34 ሺህ ጥያቄዎችን አከናውኗል፣ ነገር ግን መዘግየት ከ2 እና 300 ሚሊሰከንዶች ደርሷል።
- Deno ለ Node.js (NPM) ከጥቅሎች ጋር ተኳሃኝ አይደለም፣ ነገር ግን ለብቻው እየተዘጋጀ ነው።
ኢንተርሌይተር ከመደበኛው Node.js ቤተ-መጽሐፍት ጋር ለተኳሃኝነት፣ እየዳበረ ሲሄድ፣ ለ Node.js የተጻፉ ቁጥራቸው ከጊዜ ወደ ጊዜ እየጨመረ የመጣ መተግበሪያዎች በዴኖ ውስጥ መሥራት ይችላሉ።
ምንጭ: opennet.ru