آموزش برنامه نویسی آرن

آموزش برنامه نویسی و طراحی وب سایت

آموزش برنامه نویسی آرن

آموزش برنامه نویسی و طراحی وب سایت

انگولار 9

مقدمه

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

تیم انگولار سرانجام آخرین نسخه خود یعنی انگولار 9  را در 7 فوریه 2020 منتشر کرد.

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

انگولار محبوب ترین فریمورک زبان Javascript است که برای پیاده سازی اپلیکیشن‌های وب تک صفحه‌ای(Single Page Application) مورد استفاده قرار میگیرد.

نسخه جدید انگولار 9  کوچکتر ، سریعتر و آسانتر است و توسع برنامه ها را برای توسعه دهندگان آن بسیار آسانتر میکند.

توسعه دهندگان همچنین در حال حاضر از نحو و ساختار واضح پروژه برخوردار هستند.

هدف اصلی Angular 9 ، تهیه کامپایلر Ivy برای همه برنامه ها است.

مزیت اصلی Ivy این است که قادر است اندازه برنامه های کوچک و بزرگ را به میزان قابل توجهی کاهش دهد.
 

ادامه مطلب ...

ویژگی های nodejs

ویژگی های nodejs

 

مقدمه

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

 یعنی به کمک جاوا اسکریپت بتوانند ظاهر و منطق سرویس تحت وب خود را در کنار هم ایجاد کنند و دیگر برای برنامه نویسی سمت سرور سراغ زبان هایی مثل PHP یا ASP نروند.

 یکی از محیط‌های هایی که به برنامه نویسان اجازه می‌دهد کدهای جاوا اسکریپت خود را سمت سرور اجرا کنند، Node.js می‌باشد.

نود جی اس  یک محیط سمت سرور رایگان برای زبان برنامه نویسی جاوا اسکریپت میباشد (در واقع برای اجرا از موتور V8 Engine جاوا اسکریپت گوگل کروم استفاده می کند).

این پلتفرم با زبان های C ، C++ و جاوا اسکریپت نوشته شده است و در تمامی سیستم عامل ها مانند انواع لینوکس ، ویندوز، مکینتاش ، سولاریس و … قابل اجرا و بهره برداری است.

ما در مقاله نود جی اس چیست به طور مفصل به بررسی این پلت فرم پرداختیم.

  ادامه مطلب ...

nodejs چیست

مقدمه

در این مقاله به بررسی Nodejs چیست مپردازیم.

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

 Node.js  امروزه توانسته با استفاده از تکنولوژی رویداد محوری که درون خود پایه گذاری کرده است، بسیاری از برنامه‌نویسان را جذب خود کند.

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

در حال حاضر  JavaScript قدرت انجام کارهایی را دارد که دیگر زبان‌های اسکریپت‌نویسی مانند  Python  ندارند.

هم JavaScript  مرورگر شما و هم Node.js بر روی موتور runtime  جاوااسکریپت V۸ اجرا می‌شوند. این موتور کد JavaScript  شما را می‌گیرد و آن را به یک کد ماشین (Machine Code) سریع‌تر تبدیل می‌کند. کد ماشین، یک کد سطح پایین است که کامپیوتر می‌تواند بدون نیاز به تفسیر آن، اجرایش کند.

 


 

تاریحچه nodejs

اول از همه بهتر است با سال تولد این پلتیفرم آشنا بشوید. node.js در سال ۲۰۰۹ توسط رایان دال متولد شد.نسخه اولیه این زبان تنها توسط دو سیستم عامل لینوکس و مک او اس پشتیبانی میشد.

nodejs چیست
رایان دال – مخترعnodejs

در ابتدا توسعه و نگهداری node.js توسط خود رایان صورت میگرفت که بعد از مدتی شرکت جوینت از وی حمایت کرد.

ایده این ساخت  این زبان  از نمودار پیشرفت سایت فیلکر(سایتی برای اشتراک گذاری ویدیو و عکس است.) گرفته شده است.در آن زمان در هنگام بارگذاری فایل در سایت فلیکر گوگل نمیتوانست تشخیص بدهد که چه مقدار از فایل مورد نظر آپلود شده است بنابر این برای نمایش روند پیشرفت باید مرورگر به وب سرور پاسخ دهد.رایان دال به دنبال راه ساده تری برای این کار بود.

وی در سال ۲۰۰۹ با انتقاد از محبوب ترین سرور جهان یعنی آپاچی پرداخت و در همان سال node.js را به جهان معرفی کرد تا ضعف های این سرور را برطرف کند.

node.js یک پلتفرم است نه یک کتابخانه یا فریم ورک که بعضی به اشتباه بر این باورند.ما از این پلتفرم استفاده میکنیم تا کدهایی جاوااسکریپتی را که مینویسیم را روی سرور اجرا کند.

یعنی یک فضایی را روی سرور ایجاد میکند تا کدهای برنامه به بهترین شکل ممکن اجرا بشوند.

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

به وسیله node.js شما میتوانید کارهای بیشتری با جاوااسکریپت انجام دهید.اکنون شما میتوانید با استفاده از جاوا اسکریپت کارهایی را انجام دهید که دیگر زبان های برنامه نویسی مانند پایتون انجام میدهند، انجام دهید.

 

nodejs چیست

 

Nodejs چیست ؟

تا قبل از ارائه Node Js جاوا اسکریپت یک زبان سمت کلاینت بود.

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

بر اساس تعریف ارائه‌شده در وب‌سایت رسمی nodejs چیست:

node js یک محیط اجرای جاوا اسکریپتی است که روی موتور اجرای کد جاوا اسکریپت مرورگر کروم تحت عنوان V8 ساخته شده است.

هدف این پلتفرم این است که سرعت اجرای برنامه تحت وب یا شبکه را افزایش دهد و فشار زیاد سرور را در زمان های افزایش بازدید کم کند.

Node.js در سال ۲۰۰۹ معرفی شده است. پلتفرم Node.js محدود به هیچ مرورگری نیست و قابلیت اجرا شدن در انواع سیستم‌عامل‌های ویندوز، لینوکس و مک را داراست.

 

Node.js فریم ورک نیست

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

فریم ورک‌های زیادی با زبان جاوا اسکریپت طراحی شده اند و در بخش‌های مختلف مورد استفاده قرار می‌گیرند. برخی از فریم ورک‌های معروف جاوا اسکریپت عبارتند از: Angular، React، Meteor.js، Vue.js و غیره. استفاده از این فریم ورک‌ها تا حد زیادی کارایی و امنیت محصول ما را بالا برده و درمقابل هزینه‌ها را هم کاهش می‌دهد.(برای آموزش انگولارجی اس کلیک کنید)

پس دقت داشته باشید که Node.js فریم ورک نبوده و تعریف دقیق آن “محیط اجرایی” یا “run-time environment” می‌باشد. در واقع نود جی اس کمی فراتر از فریم ورک رفته و دامنه کاربردهای آن کمی بیشتر از فریم ورک می‌باشد. Node.js محدود به برنامه‌های تحت وب نبوده و می‌توان از آن در ساخت میکروکنترلر ها، Rest APIها، بسته‌های سیستم عامل، رباتیک و حتی در مراحل پیشرفته در ساخت برنامه برای هواپیمای بدون سرنشین نیز استفاده کرد.

nodejs چیست

مزایای Node.js

  • زمانی که فعالیت سرور به شدت افزایش پیدا می کند مانند زمان Attack DDOS این فریم ورک تمامی این سنگینی را به دوش کشیده و هیچ رد پایی برای متجاوزین باقی نمی گذارد. بدین ترتیب اولین ویژگی آن امنیت و نفوذناپذیری به آن است.
  • همانطور که گفتیم نود جی اس به دلیل تک رشته ای و نامتقارن بودن، در زمان پردازش داده های ورودی و خروجی (I/O) دیگر فرآیندها را متوقف نمی کند به همین دلیل پاسخگویی آن در یک چشم بر هم زدن انجام می شود. در واقع شما به طور همزمان می توانید چندین Task مثل پیام دادن، کپی کردن فایل ها از روی دیسک، کار بر روی دیتابیس و … را بر روی سرور خود اجرا کنید.
  • همانطور که گفتیم در اکثر پلتفرم ها برای هر درخواست یک رشته (Thread) ایجاد می شود که در واقع هر کدام از آنها فضایی را بر روی RAM سرور (مثلا 500 مگابایت) اشغال می کنند که طبیعتا در صورت ایجاد درخواست های بیش از حد RAM به حالت Shout down درخواهد آمد. در حقیقت کدهای مربوط به جاوا اسکریپت در رشته اصلی (main Thread) و کدهای مربوط به قسمت I/O در رشته های دیگر پردازش می شوند.
  • موتور مجازی V8 گوگل در جاوا اسکریپت که وظیفه اجرا کدهای جاوا را برعهده دارد در پس از دریافت کدها و در زمان اجرا، عملیات شبیه سازی آن ها را انجام می دهد بدین معنی که زبان کدها را تبدیل به زبان کدهای موتور مجازی V8 می کند. بدین ترتیب توابعی که زیاد درخواست می شوند به علت شباهت به کدهای ماشین سریع تر پردازش شده و در نتیجه عملکرد کلی کدها سریع تر انجام می گیرد.
  • همانطور که توضیح دادیم این پلتفرم به صورت متن باز در اختیار عموم قرار دارد و برنامه نویسان بسیاری در توسعه آن نقش داشته اند بدین معنی که یک کتابخانه بسیار وسیع و مجهز برای آن وجود دارد که به شما این امکان را می دهد تا برای اکثر مفاهیم ابتدایی و پیش پا افتاده از آن استفاده کنید و دیگر مجبور به کد نویسی درباره کوچکترین چیزها نباشید.

 

مزایای استفاده از Node.js

 

  1. متن باز است
  2. کراس پلتفرم (cross-platform) است
  3. پاسخگوی تعداد زیادی کاربر و بسیار سریع
  4. خطایابی بسیار ساده و سریع در این تکنولوژی
  5. جامعه کاربری بزرگ
  6. پایین بودن زمان پاسخگویی در Node.js
  7. پشتیبانی از Caching
  8. سازگاری با سیستم عامل های مختلف لینوکس، ویندوز، مک

 

nodejs چیست

 

 اهداف نود جی اس

در ادامه مقاله nodejs چیست اهداف آن را بررسی میکنیم .هدف اصلی Node.js در اصل دست یافتن به راهی آسان و امن برای ساخت اپلیکیشن هایی مقیاس پذیر و در حین حال کارآمد می باشد که رسیدن به این مهم به لطف معماری (Architecture) موجود در آن میسر می شود که ویژگی های این معماری به شرح زیر می باشد :

 

  • تک رشته ای (Single threaded) :

Node.js برای اجرای عملیات به صورت تک رشته ای عمل می کند که این امر برخلاف پلتفرم هایی مانند Apache HTTP (که در آنها برای هر درخواست یک رشته تولید می شود) می باشد. در واقع این امر از جابجایی متن (Context Switching) در CPU جلوگیری به عمل آورده و باعث جلوگیری از انباشت بیش از حد در حافظه می شود.

  • حلقه رویداد (Event loop) :

Node js از یک مدل تک موضوعی به همراه حلقه رویداد استفاده می کند بدین گونه که مکانیزم حلقه رویداد باعث می شود سرور به صورت غیر مسدود شونده (Non-Blocking) پاسخ ها را ارسال کند که در مقایسه با مکانیزم های سنتی که سرور را مجبور به ارسال چند درخواست برای پردازش می کردند، مقیاس پذیری بیشتری داشته دارد.

  • ورودی خروجی غیر مسدود شونده (Non-Blocking I/O) :

نود جی اس به لطف مدل I/O نامتقارن تعبیه شده در کتابخانه خود، زمان کمتری را برای دریافت جواب از ورودی و خروجی های (وب سرویس، سیستم فایل ها، پایگاه داده و …) خود می کند. به لطف این ویژگی ها این فریم ورک قادر به مدیریت انبوهی از ترافیک بوده و در کسری از ثانیه به صورت متوالی درخواست رشته (Thread) می نماید. به علاوه تمام خروجی این پلتفرم بدون هیچ عملیات میانگیری (Buffering) و تماما به صورت تکه تکه ای منتشر می شود.

 

nodejs چیست

 

معایب Node.js

  • چون کتابخانه معتبری از جاوا اسکریپت در دسترس نیست بنابراین استانداردهایی که کدهای منبع از روی آن نوشته می شوند همگی در یکجا جمع نیستند بدین معنی که هر سرور طراحی شده با js بسیار به توسعه دهنده (Developer) خود متکی و وابسته است.
  • به دلیل اینکه این پلتفرم تا حدودی جدید و جوان می باشد برای همین اگر دغدغه بودجه برای توسعه یک سرور در میان باشد، متاسفانه در بیشتر هاست های اشتراکی قابلیت استفاده از Nodejs وجود ندارد.
  • nodejs هم معایب خاص خودش را دارد. سیستم‌های نوشته شده با Node JS شدیدا وابسته به برنامه نویس خود هستند چون به دلیل نداشتن یک کتابخانه استاندارد برای JavaScript از استانداردهای پراکنده‌ای برای نوشتن سورس کدها استفاده می‌شود.

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

در مجموع باید بگوییم Node.js در آینده‌ای نه چندان دور به یکی از زبان‌های برنامه نویسی وب برای توسعه کسب‌وکار تبدیل خواهد شد.

 

nodejs چیست


کجا باید از Node.js استفاده کنیم؟

در زیر برخی از موقعیت‌هایی که نود جی اس خودش را به عنوان یک پلتفرم کارا معرفی می‌کند آمده است:

– نرم‌افزارهای محدوده I/O (ورودی و خروجی)

– نرم‌افزارهای جریان داده‌ای (Data Streaing)

– داده‌های نرم‌افزارهای بلادرنگ (Real-Time)

– برنامه‌های مبتنی بر JASON API

– برنامه‌های تک صفحه‌ای

کجا از Node.js استفاده نکنیم؟

استفاده از این پلتفرم در برنامه‌های متمرکز بر CPU توصیه نمی‌شود.


جمع بندی

وقتی از بک اند صحبت می‌کنیم، احتمالا اولین چیزی که به ذهنتان می‌رسد PHP است، بعد هم احتمالا ذهنتان به سمت مایکروسافت و تکنولوژی ASP.Net می‌رود. اما جاوا اسکریپت هم با معرفی نود جی اس و امکانات قابل قبول در حوزه برنامه نویسی سمت سرور هم ورود کرد. نود جی اس یک محیط اجرایی رایگان برای زبان جاوا اسکریپت است که کارهای متنوعی انجام می‌دهد. نود جی اس رایگان است، یک جامعه بزرگ از برنامه نویسان پشت آن قرار دارند و یک پکیج منیجر بسیار قدرتمند به نام NPM یا Node Package Manager برای آن ساخته شده که نزدیک به نیم میلیون پکیج در آن قرار دارد. 

در این مقاله به بررسی nodejs چیست پرداختیم . خوشحال میشم هرگونه سوال یا نکته ای بتظرتون میرسه رو باهامون در ارتباط بگذارید.

pwa در انگولار

مقدمه

دراین مقاله فصد داریم به نحوه پیاده سازی pwa در انگولار بپردازیم.

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

لازم به ذکر است که برای pwa در انگولار نیازی به برنامه نویسی نیست و تنها با اجرای چند دستور میتوانید به راحتی pwa را در پروژه خود راه اندازی کنید.

با راه اندازی pwa اگر استانداردهای برنامه نویسی و طراحی را به خوبی رعایت کرده باشید میتوانید یک وب اپلیکیشن حرفه ای بسازید که فرقی با اپلیکیشن های native ندارند.

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

انگولار


مقدمه

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

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

ایده اصلی این کتابخانه ، اضافه کردن امکاناتی جدید به Html می باشد تا آن را از یک زبان نشانه گذاری ساده خارج کند.

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

 در این مقاله،قصد داریم تا شما را با فریم ورک محبوب انگولار آشنا کنیم و بخش هایی از آن را بررسی کنیم. فریم ورک انگولار،بیشتر برای کلاینت-ساید (سمت کاربر) استفاده می شود.

در میان بازار داغ رقابت فریم ورک های جاوا اسکریپتی در حال حاضر انگولار در کنار ری اکت به یکی از محبوب ترین فریم ورک های جاوا اسکریپتی تبدیل شده است.

قابلیت های فوق العاده این فریم ورک و معماری منظم باعث شده است بسیاری از شرکت های معروف دنیا از انگولار استفاده کنند. 

 
ادامه مطلب ...