120


'

آموزش node js


node_js '



node js چیست؟

همانطور که می دانید زبان جاوا اسکریپت یک زبان برنامه نویسی قدرتمند، ساده و منعطف است که امروزه در بسیاری از جنبه های کدنویسی مانند ساخت سایت، ساخت اپلیکیشن، کدنویسی سرور و ... کاربرد دارد، اما همه این کاربرد ها تا قبل از معرفی عمومی node js در سال 2009 وجود نداشت. در ابتدا زبان جاوا اسکریپت برای پویا کردن صفحات وب و حرکت بخشی به المان های html ساخته شد و تنها برای ساخت سایت استفاده می شد، اما در سال 2009 و در طی همایش JSCond همه چیز فرق کرد.

زبان جاوا اسکریپت تا قبل از ساخته شدن node js تنها برای پویا کردن صفحات وب استفاده می شد و کاربرد بیشتری نداشت، اما node js که یک ران تایم جاوا اسکریپت است، توانست کدهای این زبان قدرتمند را برروی سیستم عامل ها نیز اجرا کند تا بستری شود برای ساخته شدن و رشد فریمورک های محبوب جاوا اسکریپت مانند express js ،react js ،angular js، vue js ،react native و ... که هرکدام قابلیتی جدید را به این زبان اضافه کردند.

در حالت عادی زبان جاوا اسکریپت قابلیت اجرا برروی سیستم عامل هایی مانند ویندوز و لینوکس را ندارد و تنها این سیستم عامل ها هستند که می توانند کدهای این زبان را تفسیر کنند، اما node js با کمک انعطاف پذیری زبان جاوا اسکریپت محیطی را برای ران شدن این زبان برروی سیستم عامل ها فراهم کرده که باعث می شود جاوا اسکریپت کاربرد های زیادی پیدا کند.

کدنویسی سرور با node js

همانطور که احتمالا شنیده اید، از node js بیشتر برای کدنویسی سرور با استفاده از جاوا اسکریپت استفاده می شود و این یکی از کاربرد های این ران تایم است. در واقع اینکه جاوا اسکریپت بتواند برروی سیستم عامل اجرا شود در وحله اول باعث می شود تا بتوان آن را برروی سرور ها اجرا کرد و این اولین کاربرد node js است.

درواقع هاست های مخصوص node js می توانند کدهای نوشته شده با این ران تایم را اجرا کنند. استفاده از node js در سرور مزایای بسیار زیادی دارد که به آنها خواهیم پرداخت. اولین مزیت node js سرعت بالای آن است. همانطور که می دانید یکی از نقاط ضعف php سرعت کم است که در node js حل شده است. دومین خوبی این ران تایم این است که کدهای به صورت ترتیبی اجرا نمی شوند، بلکه هرکدی که کمتر و سریعتر است زودتر اجرا می شود، این امر کمک می کند تا کارهای کوچک تر ما زودتر از کارهای بزرگ و سنگین تر اجرا شوند تا برنامه به صورت بهتری اجرا شود.

کدنویسی ویندوز با node js

همانطور که گفتیم node js می تواند برروی سیستم عامل هایی همچون ویندوز و لینوکس ران شود، پس فریمورکی با نام electron js با کمک گرفتن از این ران تایم و استفاده از موتور کرومیوم، به ابزاری برای ساخت اپ ویندوز با استفاده از CSS ،HTML و javascript تبدیل شده و می تواند قابلیت های این زبان را بهبود ببخشد.

کدنویسی اندروید با node js

react native که یک فریمورک گرفته شده از react js است، ابزاری برای تولید اپ های اندروید با جاوا اسکریپت است که آن هم بر پایه node js ساخته شده. این فریمورک کمک می کند تا بتوان با کدهای جاوا اسکریپت و کامپوننت های react js یک اپ اندروید قابل توجه ساخت که قابلیت های زیادی داشته باشد. (با استفاده از این فریمورک اپ iOS نیز می توان ساخت)

پکیج های node js

node js به دلیل دارا بودن یک پکیج منیجر قدرتمند به نام npm بستری شده برای پکیج های قدرتمند و پرکاربردی که هرکدام قابلیتی جدید به این ران تایم اضافه می کنند، مانند ماژول websocket که وب سوکت ها را به جاوا اسکریپت اضافه می کند و یا پکیج fs که اجازه می دهد node js با فایل ها کار کند، علاوه بر این npm محیطی است برای استفاده از فریمورک های قدرتمند جاوا اسکریپت مانند react js که به این زبان برنامه نویسی رنگ و رویی تازه می بخشند.

تاریخچه node js

node js برای اولین بار در سال 2009 توسط رایان دال و در طی همایش JSCond معرفی شد. مشاهده نوار پیشرفت بارگذاری فایل در سایت فلیکر یکی از مهمترین انگیزه های توسعه این فریمورک بود. رایان دال مشاهده کرد که هنگام بارگذاری فایل، برای مشاهده میزان پیشرفت، کلاینت باید هرلحظه به سرور رکوئستی ارسال کند و این باعث کندی این عمل می شد. علاوه بر این، رایان دال در سال 2009 از محبوبترین سرور جهان یعنی apache انتقاد کرد، به این دلیل که این سرور تنها می توانست تا 10000 کانکشن را پشتیبانی کند و همچنین در قسمت رکوئست های همزمان بسیار ضعیف عمل می کرد.

این کدنویس که به شدت با متداول ترین روش کدنویسی یعنی روش ترتیبی مخالف بود، دست به توسعه ران تایمی برای حل تمامی این مشکلات زد که امروزه آن را با نام node js می شناسیم. این ران تایم در ابتدا تنها از سیستم عامل های linux و macOS پشتیبانی می کرد و قابلیت پشتیبانی از ویندوز بعد ها به آن اضافه شد.

node js به نحوی نشانی از قدرت و سازگاری جاوا اسکریپت است که می تواند در بسیاری از زمینه های برنامه نویسی تاثیر گذار باشد، درواقع این node js بود که باعث شد javascript محبوبترین زبان جهان شناخته شده و استفاده از آن متداول تر شود، اما رایان دال سازنده node js به دلیل مشکلات این فریمورک، فریمورک جدیدی را معرفی کرده است که با نام deno js استفاده می شود. این فریمورک که هدف اصلی اش حل مشکلات و اضافه کردن قدرت node js است می تواند به زودی جای این ران تایم را گرفته و به ابزاری پرکاربرد برای کدنویسی تبدیل شود.