Node.js ចំណុចថ្មីមួយរបស់ចាវ៉ាស្ក្រីបត៍

Chhouk Davy| M-E, Programming, Space, Technology.
ថ្ងៃទី៖ 8 មិថុនា 2020
ប្រវែង៖ 1 នាទី
ហេលឡូវើរ៍ល! ថ្ងៃនេះខ្ញុំចង់និយាយពីចាវ៉ាស្ក្រីបត៍បន្តដោយយើងមកស្វែងយល់ពីណូដ។ អ៊ីចឹងតោះ!
##អីទៅជាណូដ?
ណូដជាចាវ៉ាស្ក្រីបត៍ runtime ដែលវាត្រូវបានសរសរឡើងដោយប្រើ Chromium V8 (ចាវ៉ាស្ក្រីបត៍អ៊ីនជីន) និង LibUV (សម្រាប់ Cross-platform Asynchronous I/O)។ បើនិយាយស្រួលស្ដាប់ទៅណូដផ្ដល់ Environment មួយដែលយើងអាចដំណើរការកូដចាវ៉ាស្រ្កីបត៍បានដោយមិនចាំបាច់ត្រូវការ Browser’s Engine ទៀតនោះទេ។
ណូដប្រើម៉ូឌែល Single Thread, Event Loop, Asynchronous Event-Driven, Non-Blocking IO។ វាមានមាឌតូច និងមានប្រសិទ្ធភាពក្នុងការងារ Concurrent Connection និងធ្វើការងារ IO បានយ៉ាងល្អប្រសើរ។
ចាវ៉ាស្ក្រីបត៍អនុញ្ញាតឱ្យគេអាចបង្កើត Asynchronous Non-Blocking បានដោយសារវាជាភាសា Single Thread ប្រើ Callback Functions និងជា Event-Driven។ នៅពេលដែលមានកូដត្រូវដំណើរការយូរ គេមិនចាំបាច់ត្រូវចាំទេដោយវាត្រូវបានដំណើរការបែប Asynchronous ហើយពេលដែលដំណើរការចប់ Callback Function ត្រូវបានហៅហើយដំណើរការក៏បន្ត។ វាបានន័យថាកំឡុងពេលដែលវាកំពុងរត់ វាអាចទទួល Request និងការងារផ្សេងៗទៀតបាន។
##ហេតុអីបានណូដជាចំនុចរបត់សំខាន់ថ្មីមួយទៀតសម្រាប់ចាវ៉ាស្ក្រីបត៍? ចម្លើយនោះគឺ ណូដអនុញ្ញាតឲ្យយើងអាចសរសេរកូដចាវ៉ាស្ក្រីបត៍ដែលអាចដំណើរការបានដោយមិនត្រូវការ Browser’s Script Engine បាន។ វាបានធ្វើឲ្យយើងអាចប្រើភាសាតែមួយ (ភាសាចាវ៉ាស្ក្រីបត៍) សម្រាប់សរសេរវែបសាយជា Fullstack បាន។ វាបានធ្វើឲ្យការសរសេរកម្មវិធីទូរស័ព្ទបានងាយស្រួលជាងមុនដូចជា Ionic, React Native និង NativeScript។ បើមិនមានណូដទេ Tools, Frameworks និង Libraries ជាច្រើនដែលអ្នកប្រើក៏ប្រហែលមិនអាចកើតមានមកដែរ។
##ស្ថិតិណូដ
បើតាមស្ទង់មតិរបស់ Stackoverflow សម្រាប់ឆ្នាំ 2020 ណូដជាបច្ចេកវិទ្យាដ៏ពេញនិយម។ ក្នុងចំណោមចម្លើយតបចំនួន 33,913 មានចំនួន 51.9% ប្រើប្រាស់ណូដ។
##សរុបសេចក្ដី ណូដជាចំណុចសំខាន់មួយសម្រាប់ចាវ៉ាស្ក្រីបត៍ ក៏ដូចជាប្រូក្រាមីងជាទូទៅ។ ជាទូទៅបើនិយាយពីណូដ គេប្រហែលជាគិតតែពីការសរសេរ Web Server ដោយប្រើណូដជាមួយ Express ប៉ុណ្ណោះ។ តែតាមពិតទៅវាច្រើនជាងនឹងឆ្ងាយ។ អ្វីដែលចាវ៉ាស្ក្រីបត៍អាចធ្វើបានសព្វថ្ងៃនេះតាំងពី Front-End, Back-End, Mobile Development និងច្រើនទៀតអាចកើតមានបានក៏ដោយសារតែណូដដែរ។