වසර දෙකක සංවර්ධනයෙන් පසුව
සැලකිය යුතු අනුවාද අංකය ඩෙනෝ නාම අවකාශයේ API ස්ථායීකරණය සමඟ සම්බන්ධ වී ඇති අතර ඒවා OS සමඟ යෙදුම්වල අන්තර්ක්රියා සඳහා වගකිව යුතුය. මෙතෙක් පැවති මෘදුකාංග අතුරුමුහුණත්
නව ජාවාස්ක්රිප්ට් වේදිකාවක් නිර්මාණය කිරීමේ ප්රධාන අභිප්රාය වූයේ සංකල්පීය දෝෂ ඉවත් කිරීමට ඇති ආශාවයි.
ප්රධාන
- ආරක්ෂක-නැඹුරු පෙරනිමි වින්යාසය. ගොනු ප්රවේශය, ජාලකරණය සහ පරිසර විචල්යයන් වෙත ප්රවේශය පෙරනිමියෙන් අක්රිය කර ඇති අතර ඒවා පැහැදිලිව සක්රීය කළ යුතුය. යෙදුම් පෙරනිමියෙන් හුදකලා වැලිපිල්ල පරිසරයන් තුළ ධාවනය වන අතර පැහැදිලි අවසර ලබා නොදී පද්ධති හැකියාවන් වෙත ප්රවේශ විය නොහැක;
- ජාවාස්ක්රිප්ට් වලින් ඔබ්බට ටයිප්ස්ක්රිප්ට් සඳහා සහය. සම්මත ටයිප්ස්ක්රිප්ට් සම්පාදකය වර්ග පරීක්ෂා කිරීමට සහ ජාවාස්ක්රිප්ට් ජනනය කිරීමට භාවිතා කරයි, එය V8 හි ජාවාස්ක්රිප්ට් විග්රහ කිරීම හා සසඳන විට කාර්ය සාධන පහරකට තුඩු දෙයි. අනාගතයේ දී, අපි TypeScript ආකාරයේ පිරික්සුම් පද්ධතියක් අපගේම ක්රියාත්මක කිරීමක් සූදානම් කිරීමට සැලසුම් කරමු, එමඟින් TypeScript සැකසුම් කාර්ය සාධනය විශාලත්වයේ අනුපිළිවෙලකින් වැඩිදියුණු කරනු ඇත;
- ධාවන කාලය තනි ස්වයං අන්තර්ගත ක්රියාත්මක කළ හැකි ගොනුවක ("ඩෙනෝ") ආකාරයෙන් පැමිණේ. Deno භාවිතයෙන් යෙදුම් ධාවනය කිරීමට එය ප්රමාණවත් වේ
උඩුගත කරන්න එහි වේදිකාව සඳහා එක් ක්රියාත්මක කළ හැකි ගොනුවක් ඇත, ප්රමාණය 20 MB පමණ වන අතර, එය බාහිර පරායත්තතා නොමැති අතර පද්ධතිය මත විශේෂ ස්ථාපනයක් අවශ්ය නොවේ. එපමනක් නොව, deno යනු මොනොලිතික් යෙදුමක් නොව, රස්ට් හි කූඩ පැකේජ එකතුවකි (deno_core ,මලකඩ_v8 ), වෙන වෙනම භාවිතා කළ හැකි; - වැඩසටහන ආරම්භ කිරීමේදී මෙන්ම මොඩියුල පැටවීමේදී, ඔබට URL ලිපිනය භාවිතා කළ හැකිය. උදාහරණයක් ලෙස, welcome.js වැඩසටහන ක්රියාත්මක කිරීම සඳහා, ඔබට “deno https://deno.land/std/examples/welcome.js” විධානය භාවිතා කළ හැකිය. බාහිර සම්පත් වලින් කේතය බාගත කර දේශීය පද්ධතියට හැඹිලිගත කර ඇත, නමුත් කිසි විටෙකත් ස්වයංක්රීයව යාවත්කාලීන නොවේ (යාවත්කාලීන කිරීම සඳහා “--reload” ධජය සමඟ යෙදුම පැහැදිලිව ක්රියාත්මක කිරීම අවශ්ය වේ);
- යෙදුම්වල HTTP හරහා ජාල ඉල්ලීම් කාර්යක්ෂමව සැකසීම; වේදිකාව නිර්මාණය කර ඇත්තේ ඉහළ කාර්ය සාධන ජාල යෙදුම් නිර්මාණය කිරීම සඳහාය;
- Deno සහ සාමාන්ය වෙබ් බ්රව්සරය තුළ ක්රියාත්මක කළ හැකි විශ්වීය වෙබ් යෙදුම් නිර්මාණය කිරීමේ හැකියාව;
- ලබා ගත හැකි
සම්මත මොඩියුල කට්ටලය , එය භාවිතා කිරීම බාහිර යැපීම් වලට බැඳීමක් අවශ්ය නොවේ. සම්මත එකතුවෙන් ඇති මොඩියුල අතිරේක විගණනය සහ අනුකූලතා පරීක්ෂණයට භාජනය වී ඇත; - ධාවන කාලයට අමතරව, Deno වේදිකාව පැකේජ කළමනාකරු ලෙසද ක්රියා කරන අතර කේතය තුළ ඇති URL මගින් මොඩියුල වෙත ප්රවේශ වීමට ඔබට ඉඩ සලසයි. උදාහරණයක් ලෙස, මොඩියුලයක් පූරණය කිරීම සඳහා, ඔබට "https://deno.land/std/log/mod.ts" වෙතින් ලොග් ලෙස "ආයාත කරන්න * කේතයෙහි සඳහන් කළ හැක. URL හරහා බාහිර සේවාදායකයන්ගෙන් බාගත කළ ගොනු හැඹිලිගත කර ඇත. මොඩියුල අනුවාදවලට බැඳීම තීරණය වන්නේ URL එක තුළ අනුවාද අංක සඳහන් කිරීමෙනි, උදාහරණයක් ලෙස, “https://unpkg.com/[විද්යුත් ආරක්ෂිත]/dist/liltest.js";
- ව්යුහයට ඒකාබද්ධ පරායත්ත පරීක්ෂණ පද්ධතියක් (“deno info” විධානය) සහ කේත හැඩතල ගැන්වීම සඳහා උපයෝගීතාවයක් (deno fmt) ඇතුළත් වේ;
- සියලුම යෙදුම් ස්ක්රිප්ට් එක JavaScript ගොනුවකට ඒකාබද්ධ කළ හැක.
Node.js වෙතින් වෙනස්කම්:
- Deno npm පැකේජ කළමනාකරු භාවිතා නොකරයි
සහ ගබඩාවලට බැඳී නැත, මොඩියුල URL එකක් හරහා හෝ ගොනු මාර්ගයක් මගින් ආමන්ත්රණය කරනු ලබන අතර, මොඩියුලම ඕනෑම වෙබ් අඩවියක තැබිය හැක; - මොඩියුල නිර්වචනය කිරීමට Deno "package.json" භාවිතා නොකරයි;
- API වෙනස, Deno හි සියලුම අසමමුහුර්ත ක්රියා පොරොන්දුවක් ලබා දෙයි;
- Deno හට ගොනු, ජාල සහ පරිසර විචල්යයන් සඳහා අවශ්ය සියලුම අවසරයන් පිළිබඳ පැහැදිලි අර්ථ දැක්වීමක් අවශ්ය වේ;
- හසුරුවන්නන් සමඟ සපයා නොමැති සියලුම දෝෂයන් යෙදුම අවසන් කිරීමට හේතු වේ;
- Deno ECMAScript මොඩියුල පද්ධතිය භාවිතා කරන අතර අවශ්ය();
- Deno හි ඇති HTTP සේවාදායකය TypeScript වලින් ලියා ඇති අතර දේශීය TCP සොකට් මත ධාවනය වන අතර Node.js HTTP සේවාදායකය C වලින් ලියා ඇති අතර JavaScript සඳහා බන්ධන සපයයි. Deno හි සංවර්ධකයින් සමස්ත TCP සොකට් ස්ථරය ප්රශස්ත කිරීම සහ වඩාත් සාමාන්ය අතුරු මුහුණතක් සැපයීම කෙරෙහි අවධානය යොමු කර ඇත. Deno HTTP සේවාදායකය අඩු ප්රතිදානයක් සපයන නමුත් පුරෝකථනය කළ හැකි අඩු ප්රමාදයක් සහතික කරයි. උදාහරණයක් ලෙස, පරීක්ෂණයේදී, Deno HTTP සේවාදායකය මත පදනම් වූ සරල යෙදුමක් මිලි තත්පර 25 ක උපරිම ප්රමාදයකින් තත්පරයකට ඉල්ලීම් 1.3 ක් සැකසීමට සමත් විය. Node.js හි, සමාන යෙදුමක් තත්පරයකට ඉල්ලීම් 34 දහසක් ක්රියාවට නැංවූ නමුත් ප්රමාදයන් මිලි තත්පර 2 සිට 300 දක්වා පරාසයක පවතී.
- Deno Node.js (NPM) සඳහා පැකේජ සමඟ නොගැළපේ, නමුත් වෙන වෙනම සංවර්ධනය වෙමින් පවතී
අන්තර් ස්ථරය සම්මත Node.js පුස්තකාලය සමඟ ගැළපීම සඳහා, එය වර්ධනය වන විට, Node.js සඳහා ලියා ඇති යෙදුම් වැඩි වැඩියෙන් Deno තුළ ධාවනය කිරීමට හැකි වනු ඇත.
මූලාශ්රය: opennet.ru