آموزش RxJS برای توسعه دهندگان وب

20 شهریور 1399
۹۶۵ بازدید
بدون نظر

RxJS چیست؟

برنامه نویسی واکنشی Reactive فقط روشی متفاوت در ساخت برنامه های نرم افزاری است. اساساً ، نرم افزار شما برای “واکنش” به تغییراتی که اتفاق می افتد (مانند رویدادهای کلیک ، واکشی داده ها و غیره) ساخته شده است به جای روش معمول نوشتن نرم افزار که ما صریحاً کد (یا همان برنامه نویسی “ضروری” را برای کنترل این تغییرات می نویسیم).  برای افراد آشنا ، می توانید به نوعی RxJS را به عنوان lodash برای عملیات داده های ناهمزمان تصور کنید .  اگر هنوز گیج هستید ، نگران نباشید ، به طور معمول در این مرحله معنی چندانی ندارد.

 بیایید از یک تشبیه برای توضیح بهتر این موضوع استفاده کنیم:

رابطه  RxJS با Javascript  مانند رابطه خط تولید فورد نسبت به ماشین هاست. درواقع در اوایل دهه 1900 ، محصولات کاملاً دستی تولید می شدند. بنابراین هر محصولی که تولید شد اجازه دهید به عنوان مثال صندلی را بگیریم  توسط یک نفر ساخته شده است. برای ساخت صندلی ، این شخص چوبها را به ابعاد مناسب می برد. آنها سپس آن قطعات را بهم پیچ می کنند و لبه های ناهموار را می زنند. سپس آن را رنگ می کردند ، تمام می کردند و در آخر می فروختند. سپس آنها این مرحله را از مرحله 1 تکرار می کنند.  به نظر می رسد  این فرایند خیلی هم بد نیست ، اما این را در نظر بگیرید: یک صندلی با رنگ سفارشی چقدر هزینه دارد؟ شما فکر می کنید زیاد نخواهد بود ، درست است؟ درواقع کاملاً برعکس – نه تنها هزینه رنگ سفارشی را پرداخت می کنید ، بلکه باید هزینه آن شخص را نیز بپردازید تا تمام روز دور هم بنشیند و یک صندلی کاملاً جدید برای شما بسازد. بنابراین صندلی خریداری شده شما از فروشگاه اینترنتی به مبلغ 500 هزار تومان احتمالاً بیش از 5 میلیون تومان خواهد بود.  چرا؟ زیرا این هزینه سیستم هایی است که به فرآیندهای ماژولار و ناهمزمان تقسیم نمی شوند.  وقتی زمان آن رسید که هنری فورد اولین خودروی احتراقی را به صورت انبوه تولید کند ، او ایده درخشان داشت: اگر شما روند مونتاژ را به قطعات ماژولار تقسیم کنید که هر یک توسط یک فرد ساخته می شوند ، چه می کنید؟ به این ترتیب هر قسمت از مجموعه قابل تعویض بود و همچنین ناکارآمدی های عظیم ناشی از مسئولیت ایجاد یک نفر در ایجاد کل ماشین را از بین برد. در حقیقت ، ساخت یک ماشین کامل برای یک مرد 12 ساعته طول کشید ، خط مونتاژ وی به 2 ساعت و نیم کاهش یافت.  این امر همچنین باعث باز شدن سطحی از سفارشی سازی و پیکربندی می شود که به طور معمول هزینه سنگینی داشت. به عنوان مثال ، اگر مشتری فضای داخلی اتومبیل خود را به رنگ دیگری بخواهد ، می تواند به راحتی جایگاه تکمیل شده را به کارگر دیگری هدایت کند.  خطوط مونتاژ دو مزیت عمده را به همراه داشت: کارگران قادر به کار همزمان بودند (که منجر به کاهش شدید ساعت کار لازم برای تکمیل شد) و اکنون پیکربندی / سفارشی کردن محصول نهایی بسیار ارزان است .

  • از این نظر ، RxJS (و به طور کلی برنامه نویسی واکنش پذیر) را می توان به عنوان نوشتن خطوط مونتاژ ( ویکی پدیا ) در برنامه های نرم افزاری شما تصور کرد. این امکان را به شما می دهد تا نرم افزاری را بنویسید که قابل استفاده مجدد ، تنظیم و ناهمزمان باشد.

من فکر می کنم کلمه کلیدی در اینجا ناهمزمان است . بیشتر کتابخانه ها / فریم ورک ها از قبل به شما امکان می دهند تا کدهای قابل استفاده مجدد و قابل تنظیم را بنویسید ،

اما آیا می توان به راحتی از طریق اقدامات ناهمزمان فراخوانی کرد؟

به عنوان مثال ، اگر منتظریم پیام های چت از یک سوکت وب برگردد ، چگونه یک پیام گپ جدید که در حال اجرا است وضعیت برنامه در حال اجرا را به روز می کند؟ اگر تا به حال یک برنامه کاربردی بزرگ در زمان واقعی ساخته اید ، می دانید که نوشتن این نوع منطق چقدر دردناک است.  در حالی که شبکه های وب و سایر رویدادهای بی درنگ مکان واقعی درخشش RxJS هستند ، RxJS همچنین عملکرد قوی تری را برای انجام حتی درخواست های استاندارد AJAX و API  فراهم می کند. برخلاف وعده ها (روش عادی حل درخواست های AJAX و API  ) ، توالی های قابل مشاهده RxJS قابل لغو هستند. همچنین می توان آنها را به راحتی زنجیر کرد ، دستکاری و پیکربندی کرد. امکانات بی پایان است. شما می توانید خطوط مونتاژ (یعنی RxJS Observables) ایجاد کنید که بتواند به هم متصل شود ، از هم جدا شود ، کمی متفاوت پیکربندی شود یا فقط بدون هیچ گونه تغییری استفاده شود. واقعاً به خود شما بستگی دارد

  • در این ویدیو اصول اساسی RxJS در اختیار شما قرار خواهد گرفت بعلاوه امکانات و قابلیت های پرکاربرد آن تا بتوانید برای شروع یادگیری آن درک درستی از این کتابخانه داشته باشید .

 

آموزش Bootstrap4 در قالب سه پروژه عملی و کاربردی