معرفی فریمورک NodeJS

معرفی فریمورک NodeJS

معرفی فریمورک NodeJSWhats the nodeJs Framework

معرفی فریمورک NodeJS

توسط : admin
نود.جی‌اس یک محیط اجرایی جاوا اسکریپت متن باز و چندسکویی است. این تقریبا برای هر پروژه ای یک ابزار محبوب به حساب می‌آید.نود.جی‌اس موتور جاوا اسکریپت وی8 ، هسته گوگل کروم را در خارج از مرورگر اجرا می‌کند. این به نود.جی‌اس این امکان را می‌دهد که بسیار کارآمد باشد. نود.جی‌اس در یک فرایند اجرا می‌شود بدون اینکه نیاز باشد نخ جدید برای هر درخواست ایجاد نماید .

سلام به همه دوستان گلم . با یک مقاله دیگه درباره فریمورک NodeJs با شما هستم . حتما تا بحال اسم این فریمورک به گوشتون خورده . مطمئن هستم براتون جذابه که بدونید نود جی اس چی هست و چکار میکنه . اگر شما هم مثل من علاقه مند به شناختن این فریمورک هستین با من باشید تا به بررسی فریمورک نود جی اس بپردازیم .

نود جی اس چیست ؟

 

نود جی‌ اس مجموعه ای از ورودی خروجی‌های ناهمگام اولیه را  در کتابخانه استانداردش که از مسدود شدن کد جاوا اسکریپت خودداری می‌کنند را فراهم می‌کند و به طور کلی کتابخانه‌ها در نود.جی‌اس با استفاده از نمونه ‌های مسدود نشدنی نوشته می‌شوند که رفتار مسدود‌شدنی را یک استثنا نسبت به رفتارها یا رویدادهای نرمال و عادی می‌دانند. 

 

هنگامی که نود.جی‌اس نیاز دارد که یک عملیات ورودی خروجی را اجرا کند، مانند خواندن از یک شبکه، دسترسی به یک پایگاه داده یا سیستم فایل به جای هدر دادن سیکل‌ها یا چرخه‌های واحد پردازش مرکزی یا cpu با انتظار، نود.جی‌اس عملیات‌ها را هنگامی که پاسخ برمی‌گردد ادامه خواهد داد. و این قطعا جذاب هست !

 

نحوه فعالیت در نود جی اس در تصویر زیر نشان داده شده است .

 

node js diagram of loop and thread

 

این به نود.جی‌اس امکان مدیریت و کنترل هزاران اتصال همزمان با یک سرور تنها را می‌دهد. بدون در نظر گرفتن بار مسئولیت مدیریت همزمان نخ، که می‌توانست منبع قابل توجهی از باگ‌ ها یا اشکالات باشد. واقعا عالیه !

 

نود.جی‌اس یک مزیت منحصر به فرد دارد، زیرا میلیون‌ها برنامه نویس یا طراح وب فرانت اند یا سمت کاربر که برای مرورگر جاوا اسکریپت می‌نویسند، اکنون قادر به این هستند که بدون نیاز به یادگیری یک زبان کاملاً متفاوت، علاوه بر کد‌های سمت کلاینت کد‌های سمت سرور را نیز بنویسند.  در نود.جی‌اس استانداردهای اکما اسکریپت جدید می‌توانند بدون مشکل استفاده شوند به طوری که شما مجبور نیستید برای تمام کاربرانتان صبر کنید تا مرورگر شان را به روز رسانی کنند -  شما مسئول تصمیم‌گیری این هستید که کدام ورژن اکما اسکریپت با تغییر ورژن نود.جی‌اس استفاده شود و همچنین شما می‌توانید ویژگی‌های تجربی خاصی را با اجرا کردن نود.جی‌اس با پرچم‌ها یا فلگ‌ها فعال سازید.

 

خلاصه ای از تاریخچه نود جی اس

باور کنید یا نه نود.جی‌اس تنها ۱۰ سال سن دارد.

در مقایسه با جاوا اسکریپت که ۲۴ سال و وب که ۳۰ سال سن دارند.

۱۰ سال زمان خیلی زیادی در در دنیای تکنولوژی نیست اما به نظر می‌رسد که نود.جی‌اس همیشه این اطراف بوده است.

من افتخار این را داشتم که از همان روزهای اول با نود جی‌ اس (تنها وقتی که دو سال داشت) کار کنم. و با وجود اطلاعات محدودی که در موردش وجود داشت، شما می‌توانستید حس کنید که قرار است تبدیل به چیز  بسیار بزرگی شود.

 در این مقاله ما تصویر بزرگی از نود جی‌ اس را در مورد تاریخش رسم می‌کنیم تا همه چیز را در دید قرار دهیم. جاوا اسکریپت یک زبان برنامه‌نویسی است که در NetScape به عنوان یک ابزار برنامه‌نویسی برای اداره کردن صفحات وب داخل مرورگر‌شان (NetScape Navigator)، ایجاد شده است. بخشی از مدل کسب و کار NetScape  فروش سرورهای وب بود  که شامل یک محیطی به نام NetScape LiveWire می‌شد که می‌توانست صفحه های پویایی را با استفاده از جاوا اسکریپت سمت سرور ایجاد کند. متاسفانه NetScape LiveWire خیلی موفق نبود و جاوا اسکریپت سمت سرور تا همین اواخر که توسط نود جی اس معرفی شد معروف و محبوب نبود.

 

یک عامل اصلی و کلیدی که منجر به ترقی  نود.جی‌اس شد، زمانبندی بود. همین چند سال قبل جاوا اسکریپت با این عنوان شروع به کار کرده بود که به لطف برنامه های کاربردی "Web 2.0" (مانند Flickr، Gmail و…) به عنوان زبان جدی‌تری در نظر گرفته شود که به جهان نشان دهد که تجربه‌ی مدرن و جدید روی وب چطور می‌توانست باشد.

 همچنین موتور های جاوا اسکریپت به طور قابل توجهی بهتر شده اند زیرا بسیاری از مرورگرها برای ارائه بهترین عملکرد به کاربران با هم رقابت می‌کردند. تیم‌های توسعه‌ی پشت مرورگرهای بزرگ سخت کار کردند تا پشتیبانی بهتری را برای جاوا اسکریپت ارائه دهند و روش‌هایی را پیدا کنند تا اجرای جاوا اسکریپت را سریع‌تر سازند. موتوری که نود.جی‌اس از آن استفاده می‌کند، یا همان وی ۸ ( همچنین به عنوان کروم ۸ برای موتور جاوا اسکریپت متن باز پروژه کرومیوم شناخته می‌شود)، به دلیل وجود این رقابت‌ها به طور قابل توجهی بهبود یافته است.

 

نود.جی‌اس درمکان مناسب و در زمان مناسب ساخته شد اما شانس تنها دلیل محبوبیت امروزه‌ی آن نیست. این، تفکرات و رویکردهای تازه و جدید بسیاری را برای توسعه ی سمت سرور جاوا اسکریپت که در حال حاضر هم به بسیاری از توسعه‌دهندگان کمک کرده است معرفی می کند.

 

2009

  • نود.جی‌اس متولد شد.
  • اولین فرم npm ایجاد شد.

 

 ۲۰۱۰

  • Express متولد شد.
  • Socket.io متولد شد.

۲۰۱۱

  • ورژن ۰/۱ npm آمد.
  • شرکت‌های بزرگتری شروع به اتخاذ و به کارگیری نود جی اس کردند: LinkedIn، Uber و…
  • hapi متولد شد.

 

۲۰۱۲

  • اتخاذ و به کارگیری به طور خیلی سریعی ادامه داشت.

 

۲۰۱۳

  • اولین پلتفرم وبلاگ نویسی بزرگ از نود.جی‌اس استفاده کرد: Ghost
  • Koa متولد شد.

 

۲۰۱۴

  • محل انشعاب های بزرگ: io.js یک محل انشعاب بزرگ برای نود.جی‌اس با هدف معرفی پشتیبانی ES6 و حرکت سریع تر.

 

 ۲۰۱۵

  • بنیاد یا موسسه نود جی اس متولد شد.
  • IO.js دوباره با نود.جی‌اس ادغام شد.
  • npm ماژول‌های خصوصی را معرفی کرد.
  • نود جی اس ۴ (ورژن ۱، ۲ و ۳ هرگز قبلاً منتشر نشدند)

 

 ۲۰۱۶

  • رویداد leftpad
  • Yarn متولد شد.
  • نود.جی‌اس۶

 

۲۰۱۷

  • nmp بیشتر روی امنیت تمرکز کرد.
  • نود جی اس ۸
  • HTTP/2
  • V8نود.جی‌اس را در مجموعه‌ی آزمایشی خود معرفی کرد  و به طور رسمی نود.جی‌اس را یک هدف برای موتور JS و کروم تبدیل کرد.
  • ۳ میلیارد npm در هفته دانلود می‌شدند.

 

۲۰۱۸

  • نود جی اس ۱۰
  • پشتیبانی تجربی ES modules .mjs

یک  مثال Hello World ساده از توسط نود جی اس

npm با ساختار ساده اش، به بسط و توسعه یافتن اکوسیستم نود جی‌اس کمک کرد. و در حال حاضر ریجستری npm میزبان بیش از یک میلیون بسته است که شما به صورت رایگان می‌توانید از آنها استفاده کنید.

 

const http = require('http');

const hostname = '127.0.0.1';

const port = 3000;

const server = http.createServer((req, res) => {

  res.statusCode = 200;

  res.setHeader('Content-Type', 'text/plain');

  res.end('Hello World');

});

server.listen(port, hostname, () => {

  console.log(`Server running at http://${hostname}:${port}/`);

});

 

 

این کد در ابتدا شامل ماژول httpنود.جی‌اس می‌شود.

نود.جی‌اس یک کتابخانه‌ی استاندارد خارق‌العاده دارد که شامل پشتیبانی درجه یک برای نتورکینگ می‌شود.

متد CreateServer () از http یک سرور HTTP جدید ایجاد می‌کند و آن را برمی‌گرداند (ارجاع می‌دهد).

سرور برای شنیدن پورت یا نام میزبان (hostname) خاصی تنظیم شده است. هنگامی که سرور آماده است، تابع تماس برگشتی (callback) فراخوانی می‌شود، در این مورد به ما اطلاع می‌دهد که سرور در حال اجرا است.

هر وقت که یک درخواست جدید دریافت شد، رویداد درخواست (request event) فراخوانی می شود،  و دو چیز را ارائه می‌دهد:  یک درخواست (یک شی http.IncomingMessage) و یک پاسخ ( یک شی http.ServerResponse).

این دو شی برای رسیدگی و مدیریت فراخوانی http  ضروری هستند.

 اولی جزئیات درخواست را فراهم می‌کند.  در این مثال ساده استفاده نشده است، اما شما می‌توانید به هِدرهای درخواست دسترسی داشته و داده را درخواست کنید.

دومی برای برگرداندن داده به فراخواننده استفاده شده است.

 در این مورد با:

res.statusCode = 200

ما برای نشان دادن یک پاسخ موفق ویژگی statusCode  را ۲۰۰ در نظر می‌گیریم. 

ما هِدِر Content-Type (نوع-محتوا) را تنظیم می کنیم:

res.setHeader('Content-Type', 'text/plain')

و ما پاسخ را پایان می‌دهیم و محتوا را به عنوان یک آرگومان یا استدلالی برای پایان اضافه می‌کنیم:

res.end('Hello World\n')

 

 برخی از ابزارها و فریم ورک های نود جی اس

 

نود جی اس یک پلتفرم سطح پایین است. برای اینکه کارهای مختلف را برای توسعه‌دهندگان آسان و هیجان انگیز شوند، هزاران کتابخانه توسط انجمن بر روی نودجی‌اس ساخته شده است.خیلی از آنها به مرور زمان به عنوان انتخاب‌های محبوب منتشر شدند.

 در اینجا لیست نه چندان جامعی از آنهایی که  ارزش یادگیری دارند آورده شده است:

  • AdonisJs: یک چارچوب یا فریم‌ورک فول‌استک (Full-Stack) که به شدت روی آرگونومی‌ها، ثبات و اعتماد توسعه‌دهندگان تمرکز دارد. Adonis یکی از سریع‌ترین چارچوب‌ها یا فریم‌ورک‌های وب نود.جی‌اس است.
  • Express: یکی از ساده‌ترین و در عین حال قوی‌ترین روش‌ها برای ایجاد یک وب سرور را ارائه می‌دهد. رویکرد مینیمالیستی، ساده‌گرا و آزاد اندیش آن با تمرکز بر روی ویژگی‌های اصلی یک سرور، کلید موفقیت آن می باشد.
  • Fastify: یک چارچوب وب با تمرکز بالا بر روی ارائه بهترین تجربه برای توسعه‌دهنده با حداقل سربار  و یک معماری افزونه قدرتمند. Fastify یکی از سریع ترین فریم‌ورک‌های نود.جی‌اس می‌باشد.
  • hapi: یک چارچوب غنی برای ساختن خدمات برنامه‌های کاربردی است که توسعه‌دهندگان را قادر می‌سازد تا به جای وقت صرف کردن روی ساختن زیرساخت، روی نوشتن منطق برنامه قابل استفاده مجدد تمرکز کنند.
  • Koa: این توسط همان تیم پشت Express ساخته شده است.  با این هدف که حتی ساده تر و کوچکتر و بر اساس چندین سال دانش باشد. این پروژه جدید به دلیل نیاز به ایجاد تغییرات ناسازگار بدون مختل کردن جامعه یا انجمنِ موجود متولد شده است.
  • Loopback.io:  ساختن برنامه‌های کاربردی مدرنی که نیاز به یکپارچگی های پیچیده دارند را آسان می‌سازد.
  • Meteor:  یک فریم‌ورک فول‌استک قدرتمند شگفت انگیز،  که به شما این قدرت را می‌دهد که با یک رویکرد هم‌ریخت با جاوا اسکریپت برنامه بسازید و کد را روی کلاینت و سرور به اشتراک بگذارید. زمانی یک ابزارِ آماده به مصرف همه چیز را فراهم می‌کرد،  اکنون با فریم‌ورک‌های فرانت‌اند مثل React، Vue، و Angular کامل و یکپارچه می‌شوند. همچنین می‌تواند برای ایجاد برنامه‌های کاربردی موبایل نیز استفاده شود.
  • Micro:  یک سرور بسیار سبک وزن را برای ایجاد میکرو‌سرور‌های http ناهمگام ارائه می‌دهد.
  • NestJS: یک فریم‌ورک پیشرونده مبتنی بر تایپ اسکریپت برای ساختن برنامه‌های کاربردی سمت سرور کارآمد در رده و درجه‌ی سازمانی، قابل اطمینان و مقیاس پذیر.
  • Next.js: یک فریم‌ورک برای ارائه برنامه‌های کاربردی React ارائه شده در سمت سرور.
  • Nx: رابط خط فرمان آنگولار (Angular CLI) را قادر می سازد تا برنامه‌های کاربردی فول‌استک را با استفاده از NestJS، Express، و Angular بسازد و کد را به راحتی بین بک‌اند‌ها و فرانت‌اند‌ها به اشتراک بگذارد.
  • Socket.io: یک موتور ارتباطی بلادرنگ برای ساختن برنامه های تحت شبکه.

 

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

ما در زیر به نمونه های مشهور شرکت هایی که از Node.js برای ساختن کاربرد اصلی خود استفاده می کنند اشاره میکنیم :

 

Netflix

نتفلیکس احتمالاً بزرگترین رسانه پخش کننده و ارائه دهنده ویدئو در جهان است. این برنامه از مقادیر فراوان آزمایش A / B برای اجرای سکوی پرقدرت داده محور خود و ارائه تجربه ای غنی به بیش از 104 میلیون مشترک در سراسر جهان استفاده می کند. با مجموعه ای از بسته های در نظر گرفته شده ، هر سیکل ارسال غالباً منجر به وابستگی شرطی  می شود. بنابراین برای این کمپانی مهم بود که از یک سکوی سبک و سریع مانند Node.js بهره ببرد ، که زمان شروع را 70 درصد کاهش دهد.

 

Linkedin

بزرگترین بستر شبکه های اجتماعی اختصاص داده شده به تجارت و اشتغال ، Linkedin ، نیز به Node.js   به عنوان چارچوب قابل اعتماد متکی است . آنها با اعتماد به نفس خود ، سال گذشته برنامه پشتیبان برنامه موبایل از Ruby on Rails را به Node.js منتقل کردند. با این حال ، محیط توسعه Node.js هنوز زودرس بود ، اما این سازمان از این حرکت نهایت بهره را برد. برنامه جدید بسیار سبک وزن است و حداقل دو برابر سریعتر از نسخه قبلی خود است.

 

Walmart

بزرگترین زنجیره خرده فروشی جهان ، والمارت ، با جاه طلبی در فضای تجارت آنلاین فرو رفته ، نیز Node.js  را به عنوان فریمورک خود انتخاب کرده است . این سازمان با طراحی مجدد نرم افزار موبایل خود ، به مشتریان خود ویژگیهای جدیدتر و پیشرفته تری ارائه می دهد. مکانیسم I / O ناهمزمان Node.js به همراه مدل های حلقه رویداد های آن می تواند به والمارت کمک کند تا درخواست های همزمان را برطرف کند.

 

Trello

تریلو به عنوان یک برنامه مدیریت پروژه انقلابی ،  که مورد حمایت که بسیاری از متقاضیان را در سراسر جهان قرار گرفته است ،  نیز به دنبال  این بودند که از یک سرور غیر مسدود شونده مبتنی بر رویداداستفاده نمایند که این توانایی را داشته باشد که بتواند بسیاری از اتصالات باز را برای انتشار فوری به روزرسانی ها انجام دهد . Node.js برای ساخت برنامه تک صفحه ای مفید بود. این کل روند را تسهیل و به تریلو کمک کرد تا در جهت صحیح حرکت کند.

 

Uber

Uber یک پلتفرم مشهور است که از طریق اپلیکیشن خود خدمات حمل و نقل و مسافربری را به مشتریان خود ارائه میدهد . برنامه آنها با استفاده از چندین ابزار Node.js و زبان های برنامه نویسی مهندسی شده است. آنها دائماً فن آوری خود را تکامل می بخشند و از بدو تأسیس ، بسیاری از فناوریهای جدید را برای بهبود کارآیی تجارت معرفی کرده اند. با این حال ، Node.js هنوز هم جنبه اصلی عملکرد شرکت آنها محسوب می شود زیرا باعث می شود که تقسیم منابع به یک امر ساده تبدیل شود تا بتواند تقاضای روز افزون خدمات خود را برآورده سازد.

 

PayPal

پلتفرم پرداخت آنلاین مشهور جهان با موفقیت توسعه سمت سرور خود را  Node.js پیاده سازی کرده است . تیم های توسعه  پی پال  به دو گروه کد نویسان سمت کلاینت و سمت سرور  تقسیم  میشوند که در روند توسعه این پلتفرم بدلیل استفاده از دو زبان مختلف موجب اشکال و عدم تطابق دو گروه میشد . بنابراین ، Node.js یک راه حل ایده آل بود زیرا به ایجاد انسجام با همان زبان برنامه نویسی غالب در برنامه های مرورگر و سطح سرور- JavaScript کمک کرد. این امر به توسعه دهندگان كمك می کرد تا به عنوان یك نهاد واحد با هم جمع شوند و برای حل مسائل در هر دو هدف  بکوشند و واکنش مناسبی را برای پاسخگویی به نیازهای مشتریان فراهم بیاورند .

 

Medium

یک بستر مشهور انتشار وبلاگ آنلاین ، Medium برای وب سرورهای خود از وب سرویس ها استفاده می کند.  Medium از یک رویکرد داده محور پیروی می کند و از آزمون های A / B برای بدست آوردن یک دیدگاه جامع در مورد تغییرات محصول استفاده می کند و آزمایش با ایده های جدید را تسهیل می کند.

 

eBay

Ebay شرکتی مبتنی بر تجارت الکترونیک  چند ملیتی است که همواره پذیرش فن آوری های جدیدتری را پذیرفته است. آنها به دنبال یک برنامه زمان واقعی با شدت بالا بودند تا بتوانند تعداد زیادی از اتصالات آنتایم را روی سرور پیاده کنند. آنها همچنین به یک راه حل نیاز داشتند که به آنها کمک می کند تا تعداد زیادی از سرویس های خاص E-bay را گردآوری کنند که می توانند اطلاعات زیادی را در صفحه نمایش دهند. Node.js به عنوان مناسب ترین راه حل که می توانست نیاز این شرکت را به خوبی پاسخ بدهد .

 

NASA

ناسا نیز از این فناوری استفاده می کند که از اهمیت قابل توجهی برخوردار است. کاربرد آنها بر حفظ امنیت فضانوردان خود در طول سفرهای خطرناک فضایی متمرکز شده است. این تغییر فناوری زمانی به وجود آمد که یکی از فضانوردان آنها به دلیل داشتن اطلاعات غیرقابل اعتماد در چندین مکان ، تقریباً جان خود را از دست داد. ناسا با ایجاد چالش در انتقال همه داده های مربوط به فضاهای EVA به یک پایگاه داده ابر واحد ، به منظور کاهش چشمگیر جدول زمانی دسترسی ، مواجه شد. سازگاری با Node.js گزینه ایده آل بود زیرا باعث کاهش تعداد مراحل انتقال داده از 28 مرحله به 7  مرحله شد.

 

Groupon

Groupon فروشگاه محبوب مجازی برای معاملات و کوپن های آنلاین است . Groupon در سراسر جهان عملیات موفقی دارد. آنها تصمیم گرفتند که لایه وب سایت خود را در Node.js بازسازی کنند زیرا  فناوری قبلی که از آن استفاده کرده بودند منسوخ  و نگهداری آن  نیز بسیار سخت شده بود . به خصوص به این دلیل که کسب موفقیتهای زیاد  در سراسر جهان ، مدیریت  پلتفرم های مختلف برای هر مجموعه  از آن شرکت را برای آنها دشوار کرده بود . این پروژه در پی متحد ساختن توسعه خود در تمام سیستم عامل های خود ، به یکی از بزرگترین استقرارهای تولید Node.js تا به حال  تبدیل شده است .

آینده پیش رو برای Node Js

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

 

 

 

نظرات :

در عرض چند دقیقه برای ایجاد حساب

کاربری خود اقدام کنید


اکنون حساب کاربری خود را ایجاد کنید!


ایجاد حساب کاربری

با ثبت نام در نیلوتک از آخرین بروز رسانی های آموزش ها و مقالات سایت مطلع شوید