ورود / ثبت نام
0
0

معرفی NodeJS و SSJS بخش اول

377 بازدید
NodeJS

NodeJS

از آنجایی که در دو سال گذشته با جاوا سکریپت ( NodeJS )کار میکردم علاقه داشتم که بعضی از افکارم در مورد جاوا سکریپت بر روی سرور را به اشتراک بگذارم . اکثر ما (اگر که شما یک توسعه دهنده ASP.NET هستید) از جاوا سکریپت به عنوان یک زبان متنی سمت مشتری گیرنده تنها برای تایید اعتبار و دستکاری DOM استفاده میکنیم.

اما باید درک کنیم که بازه ی استفاده از جاوا سکریپت چقدر گسترده است و از آن در بسیاری از جاها مانند روی سرور یا داخل سخت افزار نیز میتوان بهره برد.

از جاوا سکریپت میتوان بر روی دستگاه های سخت افزاری نظیر آردوینو و غیره استفاده کرد. میتوانید در رابطه ی کاربرد جاوا سکریپت بر روی سخت افزار در سایت ها مقاله های خوبی پیدا کنید.

بگذارید ما مبحث را به سوی درک چگونگی کار جاوا سکریپت بر روی سرور پیش ببریم. راه حل های جاوا سکریپتی بسیار زیادی هستند که بر روی سرور کار میکنند. چند نمونه از آنها :

  • SkillJS
  • NodeJS
  • Whitebeam
  • TeaJS
  • Narwhal
  • GLUEScript
  • APE
  • WakandaDB
  • MongoDB Nosql DB on Server

CouchDB

ما خواهیم آموخت که چرا NodeJS در میان همه ی راه حل های جاوا سکریپت معروف ترین است. برای درک NodeJS سوال میپرسیم که چی , چرا , کجا و کی بر روی NodeJS .

NodeJS چیست ؟

NodeJS یک ابزار خط – دستور است که اساسا برای ساخت برنامه های شبکه بکار میرود اما میتوانیم حتی از NodeJS برای ساخت برنامه های خط – دستوری عمومی ساده مانند ماشین حساب استفاده کنیم.

نقل قول از Nodejs.com : ” Node.jsR یک پلتفرم ساخته شده بر روی جاوا سکریپت در زمان اجرای کروم برای ساخت آسان برنامه های شبکه به صورت سریع و مقیاس پذیر است. Node.js از یک مدل I/O مسدود نشدنی و رویداد محور استفاده میکند که منجر به سبک و کارآمد شدن و عالی برای برنامه های داده های فشرده زمان واقعی هستند که در زمان اجرا در سراسر دستگاه توزیع میشود.”.

همانطور که در نقل قول گفته شد NodeJS بر روی کروم V8 اجرا میشود که بسیار سریع است. محیط NodeJS از “libuv” که یک کتابخانه در زبان C++ است , برای I/O ناهمگام استفاده میکند .

اجزای اصلی NodeJS

اجزای اصلی NodeJS , API ها , یک موتور V8 و “Libuv”  هستند.

کتابخانه ی Libuv

Libuv یک کتابخانه ی پشتیبانی کننده ی چند- پلتفرمی برای I/O ناهمگام است. NodeJS در زبان های C و C++ توسعه پیدا کرده اما در زبان های Mozilla’s Rust , Luvit , Julia , pyuv و سایر زبان های دیگر نیز استفاده میشود.

این کتابخانه ی Libuv بخش اصلی برای عملیات های مرتبط  I/O مانند خواندن فایل ها و تعامل با سیستم عامل میباشد.

میتوانید برای اطلاعات بیشتر از کتابخانه ی Libuv ,سری به GitHub بزنید.

موتور V8

نقل قول از گوکل : “V8 موتور جاوا سکریپت با عملکرد بالای منبع باز گوگل است موتور جاوا سکریپت به زبان C++ نوشته شده و در گوگل کروم استفاده میشود , منبع باز جستجوگر از گوگل. ECMA سکریپت را به طور خاص در ECMA-262 , نسخه ۳ اجرا میکند و بر روی ویندوز XP و ویستا و Mac OS X 10.5+ و سیستم های لینوکس که از پردازشگرهای IA-32 , ARM و MIPS استفاده میکند , اجرا میشود. V8 هم میتواند به صورت مستقل و هم به صورت جاسازی شده در هر برنامه ی C++ ای اجرا شود.

اگر مشتاق به یادگیری بیشتر درباره ی موتور V8 هستید به اینجا سر بزنید ! J (سرکاری)

API ها (کتابخانه های اصلی NodeJS)

API های NodeJS چیزی جز توابعی برای اجرا درخواست های شما نیستند . به طور پیش فرض API های NodeJS در طبیعت به طور ناهمگام هستند اما شما همچنان میتوانید از آنها به صورت API های NodeJS همگام نیز استفاده کنید.

برای مثال مدل http میتواند هم به صورت همگام و هم به صورت ناهمگام مورد استفاده قرار بگیرد.

var fs = require('fs');  
fs.readFile(‘/files/help.txt’, function(err, buf)  
{  	
// use fs.readFileSync() for sync operation. console.log(buf.toString());  
}  
);

ما درباره ی اینکه کنسول به چه چیز هایی برای استفاده در کد بالا نیاز دارد , در مقاله های بعدی NodeJS بحث خواهیم کرد.

جمع بندی

در این بخش ما درباره ی اجزای اصلی NodeJS بحث کردیم . در قسمت بعد درباره ی مفاهیم و معماری مورد استفاده در NodeJS بحث خواهیم کرد.

  • پسورد: www.mspsoft.com
آیا این مطلب را می پسندید؟
https://www.mspsoft.com/?p=17695
اشتراک گذاری:
واتساپتوییترفیسبوکپینترستلینکدین
مسعود شریفی پور
از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.
مطالب بیشتر
برچسب ها:

نظرات

0 نظر در مورد معرفی NodeJS و SSJS بخش اول

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هیچ دیدگاهی نوشته نشده است.