ویژگی های nodejs
مقدمه
یکی از رویاهای برنامه نویسان جاوا اسکریپت این بود که بتوانند کدهای خود را به جز مرورگر کاربر یا همون فرانت در سمت سرور و بک اند هم اجرا کنند.
یعنی به کمک جاوا اسکریپت بتوانند ظاهر و منطق سرویس تحت وب خود را در کنار هم ایجاد کنند و دیگر برای برنامه نویسی سمت سرور سراغ زبان هایی مثل PHP یا ASP نروند.
یکی از محیطهای هایی که به برنامه نویسان اجازه میدهد کدهای جاوا اسکریپت خود را سمت سرور اجرا کنند، Node.js میباشد.
نود جی اس یک محیط سمت سرور رایگان برای زبان برنامه نویسی جاوا اسکریپت میباشد (در واقع برای اجرا از موتور V8 Engine جاوا اسکریپت گوگل کروم استفاده می کند).
این پلتفرم با زبان های C ، C++ و جاوا اسکریپت نوشته شده است و در تمامی سیستم عامل ها مانند انواع لینوکس ، ویندوز، مکینتاش ، سولاریس و … قابل اجرا و بهره برداری است.
ما در مقاله نود جی اس چیست به طور مفصل به بررسی این پلت فرم پرداختیم.
مقدمه
در این مقاله به بررسی Nodejs چیست مپردازیم.
node.js در واقع یک پلتفرم است که محوریت اصلی آن بر روی زبان جاوااسکریپت است.
Node.js امروزه توانسته با استفاده از تکنولوژی رویداد محوری که درون خود پایه گذاری کرده است، بسیاری از برنامهنویسان را جذب خود کند.
شرکت هایی مانند آیبیام ، مایکروسافت،لینکدین،پیپل،نتفلیکس،یاهو سیسکو از نود جی اس استفاده میکنند.
در حال حاضر JavaScript قدرت انجام کارهایی را دارد که دیگر زبانهای اسکریپتنویسی مانند Python ندارند.
هم JavaScript مرورگر شما و هم Node.js بر روی موتور runtime جاوااسکریپت V۸ اجرا میشوند. این موتور کد JavaScript شما را میگیرد و آن را به یک کد ماشین (Machine Code) سریعتر تبدیل میکند. کد ماشین، یک کد سطح پایین است که کامپیوتر میتواند بدون نیاز به تفسیر آن، اجرایش کند.
اول از همه بهتر است با سال تولد این پلتیفرم آشنا بشوید. node.js در سال ۲۰۰۹ توسط رایان دال متولد شد.نسخه اولیه این زبان تنها توسط دو سیستم عامل لینوکس و مک او اس پشتیبانی میشد.
در ابتدا توسعه و نگهداری node.js توسط خود رایان صورت میگرفت که بعد از مدتی شرکت جوینت از وی حمایت کرد.
ایده این ساخت این زبان از نمودار پیشرفت سایت فیلکر(سایتی برای اشتراک گذاری ویدیو و عکس است.) گرفته شده است.در آن زمان در هنگام بارگذاری فایل در سایت فلیکر گوگل نمیتوانست تشخیص بدهد که چه مقدار از فایل مورد نظر آپلود شده است بنابر این برای نمایش روند پیشرفت باید مرورگر به وب سرور پاسخ دهد.رایان دال به دنبال راه ساده تری برای این کار بود.
وی در سال ۲۰۰۹ با انتقاد از محبوب ترین سرور جهان یعنی آپاچی پرداخت و در همان سال node.js را به جهان معرفی کرد تا ضعف های این سرور را برطرف کند.
node.js یک پلتفرم است نه یک کتابخانه یا فریم ورک که بعضی به اشتباه بر این باورند.ما از این پلتفرم استفاده میکنیم تا کدهایی جاوااسکریپتی را که مینویسیم را روی سرور اجرا کند.
یعنی یک فضایی را روی سرور ایجاد میکند تا کدهای برنامه به بهترین شکل ممکن اجرا بشوند.
درون گوگل یک موتور به نام v8 وجود دارد که js بر اساس این موتور طراحی شده است این موتور که توسط گوگل طراحی شده است وظیفه ی این را دارد تا کدهای جاوااسکریپت را ابتدا در خودش اجرا کند و بعد کامپایل بشوند.به زور ساده تر کدها را میگرد و درون خودش به کد ماشینی تبدیل میکند.یکی از دلایلی که باعث شده از node.js بسیار استفاده شود وجود همین موتور است که کار طراحان وب را راحت کرده است.
به وسیله node.js شما میتوانید کارهای بیشتری با جاوااسکریپت انجام دهید.اکنون شما میتوانید با استفاده از جاوا اسکریپت کارهایی را انجام دهید که دیگر زبان های برنامه نویسی مانند پایتون انجام میدهند، انجام دهید.
تا قبل از ارائه Node Js جاوا اسکریپت یک زبان سمت کلاینت بود.
نودجیاس یک محیط سمت سرور برای اجرای کدهای JavaScript است، در حقیقت، Node.js در نتیجه تلاشهای دولوپرهای زبان جاوا اسکریپت برای توسعه محیطی به وجود آمد که دولوپرها بتوانند کدهای جاوااسکریپت خود را علاوه بر داخل مرورگر، در سمت سرور نیز در قالب یک اپلیکیشن مستقل اجرا کنند.
بر اساس تعریف ارائهشده در وبسایت رسمی nodejs چیست:
node js یک محیط اجرای جاوا اسکریپتی است که روی موتور اجرای کد جاوا اسکریپت مرورگر کروم تحت عنوان V8 ساخته شده است.
هدف این پلتفرم این است که سرعت اجرای برنامه تحت وب یا شبکه را افزایش دهد و فشار زیاد سرور را در زمان های افزایش بازدید کم کند.
Node.js در سال ۲۰۰۹ معرفی شده است. پلتفرم Node.js محدود به هیچ مرورگری نیست و قابلیت اجرا شدن در انواع سیستمعاملهای ویندوز، لینوکس و مک را داراست.
قبل از اینکه بدانیم nodejs چیست بهتر است درباره این صحبت کنیم که نود جی اس چه چیزهایی نیست. نود جی اس یک فریم ورک جاوا اسکریپت نیست. فریم ورک به مجموعه ای از کتابخانهها و استانداردها گفته میشود که کار با یک زبان خاص را آسانتر کرده و مانع انجام کارهای تکراری و یکنواخت توسط برنامه نویس میشوند.
فریم ورکهای زیادی با زبان جاوا اسکریپت طراحی شده اند و در بخشهای مختلف مورد استفاده قرار میگیرند. برخی از فریم ورکهای معروف جاوا اسکریپت عبارتند از: Angular، React، Meteor.js، Vue.js و غیره. استفاده از این فریم ورکها تا حد زیادی کارایی و امنیت محصول ما را بالا برده و درمقابل هزینهها را هم کاهش میدهد.(برای آموزش انگولارجی اس کلیک کنید)
پس دقت داشته باشید که Node.js فریم ورک نبوده و تعریف دقیق آن “محیط اجرایی” یا “run-time environment” میباشد. در واقع نود جی اس کمی فراتر از فریم ورک رفته و دامنه کاربردهای آن کمی بیشتر از فریم ورک میباشد. Node.js محدود به برنامههای تحت وب نبوده و میتوان از آن در ساخت میکروکنترلر ها، Rest APIها، بستههای سیستم عامل، رباتیک و حتی در مراحل پیشرفته در ساخت برنامه برای هواپیمای بدون سرنشین نیز استفاده کرد.
در ادامه مقاله nodejs چیست اهداف آن را بررسی میکنیم .هدف اصلی Node.js در اصل دست یافتن به راهی آسان و امن برای ساخت اپلیکیشن هایی مقیاس پذیر و در حین حال کارآمد می باشد که رسیدن به این مهم به لطف معماری (Architecture) موجود در آن میسر می شود که ویژگی های این معماری به شرح زیر می باشد :
Node.js برای اجرای عملیات به صورت تک رشته ای عمل می کند که این امر برخلاف پلتفرم هایی مانند Apache HTTP (که در آنها برای هر درخواست یک رشته تولید می شود) می باشد. در واقع این امر از جابجایی متن (Context Switching) در CPU جلوگیری به عمل آورده و باعث جلوگیری از انباشت بیش از حد در حافظه می شود.
Node js از یک مدل تک موضوعی به همراه حلقه رویداد استفاده می کند بدین گونه که مکانیزم حلقه رویداد باعث می شود سرور به صورت غیر مسدود شونده (Non-Blocking) پاسخ ها را ارسال کند که در مقایسه با مکانیزم های سنتی که سرور را مجبور به ارسال چند درخواست برای پردازش می کردند، مقیاس پذیری بیشتری داشته دارد.
نود جی اس به لطف مدل I/O نامتقارن تعبیه شده در کتابخانه خود، زمان کمتری را برای دریافت جواب از ورودی و خروجی های (وب سرویس، سیستم فایل ها، پایگاه داده و …) خود می کند. به لطف این ویژگی ها این فریم ورک قادر به مدیریت انبوهی از ترافیک بوده و در کسری از ثانیه به صورت متوالی درخواست رشته (Thread) می نماید. به علاوه تمام خروجی این پلتفرم بدون هیچ عملیات میانگیری (Buffering) و تماما به صورت تکه تکه ای منتشر می شود.
Nodejs به آسانی در تمام پلتفرم ها موجود نیست و بیشتر هاست های اشتراکی از آن پشتیبانی نمی کنند و این موضوع در زمانیکه موضوع بودجه مطرح باشد، مشکل ایجاد می کند، اما به آسانی قابل راه اندازی روی سرور یا vps است .
در مجموع باید بگوییم Node.js در آیندهای نه چندان دور به یکی از زبانهای برنامه نویسی وب برای توسعه کسبوکار تبدیل خواهد شد.
در زیر برخی از موقعیتهایی که نود جی اس خودش را به عنوان یک پلتفرم کارا معرفی میکند آمده است:
– نرمافزارهای محدوده I/O (ورودی و خروجی)
– نرمافزارهای جریان دادهای (Data Streaing)
– دادههای نرمافزارهای بلادرنگ (Real-Time)
– برنامههای مبتنی بر JASON API
– برنامههای تک صفحهای
استفاده از این پلتفرم در برنامههای متمرکز بر CPU توصیه نمیشود.
جمع بندی
وقتی از بک اند صحبت میکنیم، احتمالا اولین چیزی که به ذهنتان میرسد PHP است، بعد هم احتمالا ذهنتان به سمت مایکروسافت و تکنولوژی ASP.Net میرود. اما جاوا اسکریپت هم با معرفی نود جی اس و امکانات قابل قبول در حوزه برنامه نویسی سمت سرور هم ورود کرد. نود جی اس یک محیط اجرایی رایگان برای زبان جاوا اسکریپت است که کارهای متنوعی انجام میدهد. نود جی اس رایگان است، یک جامعه بزرگ از برنامه نویسان پشت آن قرار دارند و یک پکیج منیجر بسیار قدرتمند به نام NPM یا Node Package Manager برای آن ساخته شده که نزدیک به نیم میلیون پکیج در آن قرار دارد.
در این مقاله به بررسی nodejs چیست پرداختیم . خوشحال میشم هرگونه سوال یا نکته ای بتظرتون میرسه رو باهامون در ارتباط بگذارید.
دراین مقاله فصد داریم به نحوه پیاده سازی pwa در انگولار بپردازیم.
اگر با مفهوم pwa آشنا نیستید میتوانید سایر مقاله های ما در مورد pwa را در لینک های زیر بخوانید.
لازم به ذکر است که برای pwa در انگولار نیازی به برنامه نویسی نیست و تنها با اجرای چند دستور میتوانید به راحتی pwa را در پروژه خود راه اندازی کنید.
با راه اندازی pwa اگر استانداردهای برنامه نویسی و طراحی را به خوبی رعایت کرده باشید میتوانید یک وب اپلیکیشن حرفه ای بسازید که فرقی با اپلیکیشن های native ندارند.
ما در این مقاله از فریم ورک انگولار استفاده میکنیم که شما هم چنین میتوانید مقاله های راجب انگولار را مشاهده نمایید. ادامه مطلب ...
مقدمه
انگولار،نام فریم ورک محبوبی است که تحت جاوا اسکریپت در حال فعالیت است و بیشتر در حوزه وب و طراحی سایت کاربرد دارد.
فریم ورک انگولار فریم ورک نرم افزاری تحت وب متن باز مبتنی بر جاوا اسکریپت است که توسط گوگل و گروهی از افراد و شرکت ها نگهداری می شود تا بسیاری از چالش های توسعه برنامه های تک صفحه ای را رفع کند. و به عنوان اولین رویکرد تلفن همراه شناخته میشود.
ایده اصلی این کتابخانه ، اضافه کردن امکاناتی جدید به Html می باشد تا آن را از یک زبان نشانه گذاری ساده خارج کند.
امکانات متفاوتی در این کتابخانه وجود دارد از جمله مهم ترین این امکانات برقراری ارتباط پویا بین داده های ورودی و خروجی می باشد.به این معنی که به سادگی میتوانید اطلاعات دریافت شده از کاربر را به صورت خودکار جمعآوری کنید، پردازش کنید، در محلهای دلخواه نمایش دهید یا به سرور بفرستید.
در این مقاله،قصد داریم تا شما را با فریم ورک محبوب انگولار آشنا کنیم و بخش هایی از آن را بررسی کنیم. فریم ورک انگولار،بیشتر برای کلاینت-ساید (سمت کاربر) استفاده می شود.
در میان بازار داغ رقابت فریم ورک های جاوا اسکریپتی در حال حاضر انگولار در کنار ری اکت به یکی از محبوب ترین فریم ورک های جاوا اسکریپتی تبدیل شده است.
قابلیت های فوق العاده این فریم ورک و معماری منظم باعث شده است بسیاری از شرکت های معروف دنیا از انگولار استفاده کنند.