javascript نىڭ تەرەققى قىلىپ ئۆسۈشى بىلەن نورغۇن نەرسىلەرگە ئۆزگەرتىش ئىلىپ كەلدى،بۆگۈنكى تورتېخنكىسنى گۈللەندۈرۈش رىقابىتىمۇ ئوخشاش ئەمەس،بىز بىرقانچە يىللار ئىلگىرى ئويلاشمۇ تەس بولغان ئىشنى بۆگۈن بىز node.js بىلەن قىلالايمىز،javascript نى توركۆرگۈچتە ئىشلەتكەنگە ئوخشاشلار مۇلازىمىتىر تەرەپتىمۇ قوللىنالايمىز،ئەمىليەتتە بىز نورغۇن يىللار ئىلگىرى بۇنى ئويلاشمۇ تەس ئىدى ،چۈنكى بىز flash ياكى java applet قۇتىسىغا سولىنىپ قالغان ئىدۇق،لىكىن ھازىر ئۇنداق ئەمەس

ۋىكىپىدىيا نىڭnode.js ھەققىدىكى ئىنىقلىمىسى مۇنداق: node.js بولسا Googleنىڭ V8 JavaScriptماتورىنىڭ بولاقلانغان توپلىمى بولۇپ،دەسلەپتە javascript تىلىدا يىزىلغان، node.js ئاچقۇچىلارغا non-blockingۋە event-driven I/Oئۇقۇمىدا خىزمەت قىلىدىغان قورال ھازىرلاپ بەردى

s ئىككى خىل ئۇسۇلدا ئۇلىنىدىغان real-time يۇمشاق دېتاللىرىدا websocket ئارقىلىق تېخنكىنى كىڭەيتتى.شۇنداق قىلىپ بىزنىڭ real-time يەنى(ئىككى خىل ئۇسۇلدا ئۇلىنىدىغان)تور يۇمشاق دېتالىمىز بارلىققا كەلدى،لىكىن بىز بۇنى 20 يىل ئاۋال قىلالمايتتۇق.بۇ تېخنكىدا ئابۇنىت تەرەپ ۋە مۇلازىمىتىر تەرەپ ئىككىلىسى سانلىق مەلۇماتنى ئالماشتۇرۇش ئۈچۈن ئالاقىنى باشلىيالايدۇ،بۇنى ئەنئەنىۋى تور ئىنكاسىغا سىلىشتۇرۇپ باقىدىغان بولساق،ئابۇنىت تەرەپ ھەردائىم ئالاقىنى باشلايتتى،قوشۇمچە قىلىپ ئيتقاندا بۇلارنىڭ ھەممىسى HTML, CSS ،javascript ئاساسىدا توپلاشقان بولۇپ ئۆلچەملىك 80 ئىغىزى ئارقىلىق ئىجرا بولاتت . ەلكىم بەزى كىشىلەر بۇرۇنمۇ بۇ ئىقتىدارلار java apple ياكى flash دىمۇ بار ئىدى دەپ دەۋا قىلىشى مومكىن،لىكىن ئەمىليەتتە بۇلار پەقەت قۇتا ئىچدىكى موھىت بولۇپ transport protocol (ئالماشتۇرۇش شەرتنامىسى)نى قوللىنىپ ئابۇنىت تەرەپكە يەتكۈزەلەتتى،بۇلاغا قوشۇپ يەنە ھەمىشە ئايرىم موھىت ۋە ئۆلچەمسىز ئىغىزدا ئىجرا بولاتتى،بەلكىم بۇ تېخىمۇ ئارتۇقچە ئىجازەتلەرنى تەلەپ قىلىشى مومكىن . node.js ئۆزىنىڭ ئەۋەزل شارائىتى ۋە ئارتۇقچىلىقى بىلەن نورغۇنلىغان كۆپ پايدىلىق شىركەتلەردە مۇھىم رولىنى ئويناۋاتىدۇ

node.js قانداق خىزمەت قىلىدۇ؟

node.js نىڭ ئەڭ موىھم ئدىيەسى بولسا:بۇ non-blocking, event-driven I/O ئۇقۇمىنى ئىشلەتكەن بولۇپ ھەرخىل ئۈسكۈنىلەرنى كىسپ ئۆتۈپ ئىجرا بولىدىغان سانلىق مەلۇمات مىقدارى يۇقىرى ئىككى خىل ئۇسۇلدا ئۇلىنىدىغان يۇمشاق دېتاللاردا ناھايتى ياخشى ئىجرا بولۇش ئۈنۈمى ۋە يىنىكلىكنى ساقلاپ قالغان يۇقارقى ئىنىقلىمىنىڭ ھەقىقەتەنمۇ مەنىسى بار.

تېخىمۇ مەنىلىكى node.js تور دۇنياسىغا ھۆكۈمرانلىق قىلىشتا خوجايىنلىق رولىنى ئۆتەۋاتقان سۇپا ئەمەس (سۇپا دىگەن بۇ سۆز ھەرخىل ئۈسكۈنىلەردىكى ھەرخىل سېستىمىغا قارىتىلغان مەسىلەن،ئاندىرويىد سۇپىسى،ios سۇپىسى ياكى بولمىسا windows,ۋە linux لارنىڭ ئۆزىمۇ ئايرىم بىر سۇپا)بەلكى بۇيڭى خاس بىر تەلەپنى قامدايىدىغان سۇپىدۇر

تېخىمۇ مەنىلىكى node.js تور دۇنياسىغا ھۆكۈمرانلىق قىلىشتا خوجايىنلىق رولىنى ئۆتەۋاتقان سۇپا ئەمەس (سۇپا دىگەن بۇ سۆز ھەرخىل ئۈسكۈنىلەردىكى ھەرخىل سېستىمىغا قارىتىلغان مەسىلەن،ئاندىرويىد سۇپىسى،ios سۇپىسى ياكى بولمىسا windows,ۋە linux لارنىڭ ئۆزىمۇ ئايرىم بىر سۇپا)بەلكى بۇيڭى خاس بىر تەلەپنى قامدايىدىغان سۇپىدۇر دىگەن بۇ سۆزنى چۈشىنىش تولىمۇ موھىم،سىز Node.js يۇقىرى دەرىجىدە cpu مىقدارى تەلەپ قىلىدىغان مەشغۇلاتلارغا ئىشلەتمەيسىز ،ئەمىليەتتە Node.js نى مەشغۇلات مىقدارى ئىغىر بولغان تەلەپلەرگە ئىشلىتىش Node.js نىڭ بارلىق ئىقتىدارلىنى بىكار قىلىۋتىدۇ. Node.js نىڭ ئەڭ يورۇق نوقتىسى تىز سۈرئەتلىك scalable تور يۇمشاق دېتالى قۇرۇش بولۇپ، Node.js ناھايتى كۆپ ساندىكى يۇقىرى دەرىجىلىك تەقلىدى ئۇلىنىشنى بىر تەرەپ قىلىش ئىقتىدارىغا ئىگە. ھەر بىر ئۇلىنىش تەلىپى يىڭى لىنىيە بۆلۈپ(يەنى كۆپ لىنىيەلىك) سېستىمىنىڭ ram بوشلۇقىنى ئىگەللەيدىغان،بولۇپمۇ ئىشلەتكىلى بولىدىغان Ram بوشلۇقىنىڭ مىقدارىدىن ھالقىلىپ كىتىدىغا ئەنئەنىۋى تور مۇلازىمىتىر تېخنكىسىغا سىلىشتۇرغاندا,node .js تاق-لىنىيەدە مەشغۇلات ئىلىپ بارالايدۇ(single-thread) , شۇنداقلا non-blocking I/O ئۇقۇمىنى ئىشلىتىپ 10مىڭلىغا ئارقىمۇ-ئارقا ئۇلىنىشنى قوللايدۇ

npm بولاق باشقۇرغۇچى

node.js مۇنازىرىسىنى قىلىغاندا سەپتىن چۈشۈپ قالمايدىغان يەنە بىر نەرسە بولسا node.js بۇلاق باشقۇرغۇچىسى(npm module) بولۇپ بۇ بولاق باشقۇرغۇچ node.js بىلەن بىرگە كىلىدۇ،يەنى سىز node.js نى كومپيۇتىرغا قاچىلغان ھاما بۇ بولاق باشقۇرغۇچ تەڭلا كۈچكە ئىگە ،node.js دىكى npm مودىلى ئىديەسى رۇبي(Ruby بۇ قوليازما تىلى بولۇپ ئىشلەتكۈچىلىرى ناھايتى كۆپ)تىلدىكى rubygem ئۇقۇمىغا ئوخشايدۇ،يەنى بولاق باشقۇرغۇچ مودىلىنى ھەممە كىشى قوللىنالايدىغان بولۇپ ھەمدە بۇبىر قايتا قايتا ئىشلەتكىلى بولىدىغان زاپچاس ھىسابلىنىدۇ،node.js مەخسۇس بۇلاق باشقۇرۇش بىكىتى بولۇپ سىز node.js سۇپىسىنى كومپيۇتىرىڭىزغا ئورنىتىپ بولغاندىن كىيىن توربىكىتگە كىرىپ دۇنيادىكى بارلىق كىشىلەر ھەقسىز تارقاتقان npm مودىلىغا ئىرىشەلەيسىز ياكى كومپيۇتىرىڭىزنىڭ ئىجرا قىلىش كۆزنىكىگە (ئىجرا قىلىش كۆزنىكى بولسا ۋىندوۋىس مەشغۇلات سېستىمىسدىكى بۇيرۇق ئارقىلىق كومپيۇتىرنىڭ نورغۇنلىغان ئىقتىدارلىرىنى ئىشلەتكىلى بولىدىغان قارا كۆزنەكلىك پىروگىرامما)كىرىپ npm install <مودىل ئىسمى=""> شەكلىدە يىزىپ node.js بولاق بىكىتىدە بار بولغان ھەرقانداق بىر مودىلنى ئورنىتالايسىز،بۇ خۇددى ئاندرويىد تېلىفونى بار كىشىنىڭ گوگىل ئەپ بازىرىغا كىرىپ خالىغان بىر ئەپنى چۈشۈرۈپ ئىشلەتكەنگە ئوخشاش،npm بولاق بىتىگە بۇ ئادرسىتىن كىرگىلى بولىدۇ https://npmjs.org/،بۇ ھەرقانداق بىر كىشىگە ئوچۇق . .

بىر قانچە داڭلىق node.js مودىلى

Express.js بۇ تىز سۈرئەتتە توربىكەت ئىچىش رامكىسى بولۇپ بۆگۈنكى كۆپلىگەن node.js سۇپىسىدا ئىجرا بولۇۋاتقان توربىكەتلەرنىڭ ئاساسلىقى بۇنىڭ بىلەن ئىچىلغان
socket.io ۋە sockjs بۇ ئىككىسى بۆگۈنكى نورغۇنلىغان كىشىلەرگە تونۇلغان مۇلازىمىتىر تەرەپ زاپچىسى.
Jade ئۇسلۇپ ماتورى ،haml دىن ئىلھام ئىلىنغان بولۇپ express دا گە قوشۇۋىتىلگەن يەنى سىز express رامكىسدا jade ئۇسلۇب ماتورىنى قوللىنالايسىز.
mongojs بولسا ئويبكىتلىق سانلىق مەلۇمات ئامبىرىغا api تەمىنلەيدۇ،يەنى mongodb ئويبكىتلىق سانلىق مەلۇمات ئامبىرىنى node.js دا قوللىنالايسىز
kolayjs بۇ مەن ئۆزۈم يازغان مودىل بولۇپ بۇ يۇقارقى داڭلىقلارنىڭ ئىچىدە يوق،شۇنداقتىمۇ بۇيەرگە قىتىپ قويدۇم ،كۈنلەرنىڭ بىرىدە داڭلىق بوپ قالسا ئەجەپ ئەمەس،بۇنىڭ بىلەن بىز سانلار گۇرۇپپىسى ۋە ھەرىپلەر تىزمىسىغا قارىتا نورغۇنلىغان ئالگورىتىملىق مەشغۇلاتلارنى ئىلىپ بارالايمىز،يەنە ھۆججەت بىر تەرەپ قىلىش ئىقتىدارىغىمۇ ئىگە،كىيىنچە ئاللاھ خالىسا كۆپلىگەن ئىقتىدارلار قوشۇلىدۇ ماقالە ئاپتورى:
تورماھىرى