کتاب های برچسب reactive-prgramming
تاریخ: ۱۶:۱۳:۷ ۱۳۹۶/۱۱/۲۰ جمعه
توسط: MotoMan
امتیاز: ۰
برچسب ها: Java | Reactive Prgramming |

برنامه نویسی Reactive، یک اصطلاح عمومی برنامه نویسی است که تمرکزش بر روی  واکنش دادن به تغییرات است مثل مقادیر داده‌ها یا رویداد‌ها که معمولا این کار را می‌توان به صورت دستوری انجام داد. Callback رویکردی برای برنامه نویسی reactive است که دستوری انجام می‌شود. یک صفحه اکسل مثالی عالی از برنامه نویسی reactive است: سلول هایی که وابسته به سلول‌های دیگر هستند به صورت خودکار واکنش (react) نشان می‌دهند وقتی که مقادیر آن سلول‌ها تغییر می‌کنند.
در 28 اکتبر سال 2005، Ray Ozzie معمار ارشد مایکروسافت که اخیرا منصوب شده بود، یادداشتی غم انگیز برای کارکنان خود با عنوان اختلال سرویس‌های اینترنتی ایمیل کرد. در این یادداشت Ray Oziie نمایی کلی از این داد که اساسا جهان امروزه چگونه به نظر می‌رسد جایی که سازمان‌ها مثل مایکروسافت، گوگل، فیسبوک، آمازون و نتفلیکس از وب به عنوان کانال اصلی برای ارائه سرویس هایشان استفاده می‌کنند.
از دید یک توسعه دهنده، Ozzie بیانیه ای قابل توجه ای برای مدیر اجرایی یک شرکت بزرگ داد:
پیچیدگی کشنده است. دهان توسعه دهندگان را سرویس می‌کند، برنامه ریزی، بیلد و تست محصولات را مشکل می‌کند، چالش‌های امنیتی به بار می‌آورد و سبب ناامیدی کاربر نهایی و مدیر می‌شود.
اول از همه این را در نظر داشته باشید که در سال 2005، سازمان‌های بزرگ فناوری عمیقا عاشق فناوری‌های پیچیده ای مثل SOAP، WS-* و XML بودند. زمانی بود که هنوز لغت میکرو سرویس اختراع نشده بود و تکنولوژی ساده ای وجود نداشت تا به توسعه دهندگان کمک کند تا پیچیدگی ترکیب آسنکرون سرویس‌های پیچیده از قسمت‌های کوچکتر را مدیریت کنند و آن‌ها را از شر سر و کله زدن با نگرانی هایی مثل شکست، لتنسی، امنیت و کارآمدی راحت کند.
برای تیم برنامه نویسی ابری من در مایکروسافت، یادداشت Ozzie، بیدارباشی بود تا بر روی ابداع  یک مدل برنامه نویسی ساده برای ساخت معماری‌های سرویس اینترنتی آسنکرون با مقیاس بزرگ و data-intensive تمرکز کنیم. پس از شروع‌های غلط زیاد، نهایتا به ما این را آموخت که با دوگانه کردن اینترفیس Iterable/Iterator برای کالکشن‌های سنکرون، می‌توان به یک جفت اینترفیس برای ارائه جریان‌های رویداد آسنکرون، با همه‌ی عملگر‌های ترتیبی آشنا مثل map، filter، scan، zip، groupBy و غیره رسید برای تبدیل و ترکیب جریان داده‌های آسنکرون، و بدین ترتیب Rx جایی در تابستان 2007 متولد شد. در طول پروسه پیاده سازی ما فهمیدیم که باید همزمانی و زمان را مدیریت کنیم و برای آن ما ایده‌ی اجرا گرهای جاوا با زمان مجازی و برنامه ریزی مجدد اشتراکی را گسترش دادیم.
پس از دو سال سخت، hackathon جایی بود که انتخاب‌های طراحی زیادی را کشف کردیم، ما ابتدا Rx.NET را در 18 نوامبر سال 2009 بیرون دادیم. پس از آن زود ما Rx را به Microsoft.Phone.Reactive برای windows phone 7 پورت کردیم و به این منجر شد که Rx در زبان‌های متعدد دیگری مثل جاوا اسکریپت، ++C و به صورت نسخه‌های آزمایشی در روبی و Objective-C پیاده سازی شود.
همان طور که Rx در صنعت محبوب‌تر می‌شد، ما Microsoft Open Tech را متقاعد کردیم تا Rx .NET را در پاییز 2012 متن باز کند. پس از آن من مایکروسافت را ترک کردم تا 100 درصد از زمانم را روی Rx بگذارم تا آن را تبدیل به API ای cross-language و cross-platform برای پردازش دادهای استریم بلادرنگ آسنکرون کنم.
در کتاب برنامه نویسی Reactive با RxJava – ساخت برنامه‌های آسنکرون رویداد محور، با این که جزئیات RxJava مقداری متفاوت از پیاده سازی‌های دیگر Rx است، اما هنوز هم مخصوص همه‌ی شما توسعه دهندگانی ساخته شده است که احتیاج به زنده ماندن در دنیای جدیدی از پردازش داده‌های توزیع شده بلادرنگ دارند و می‌خواهند بر روی پیچیدگی‌های مورد احتیاج تمرکز کنند بدون اینکه درگیر پیچیدگی‌های تصادفی شوند که زندگی را به کامشان تلخ می‌کنند.

 

تعداد بازدید: ۵۳۴
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...