قبل از آن که بخواهیم درباره ری اکت صحبت کنیم اجازه دهید بیشتر با Brian Holt آشنا شویم.
Brian Holt مهندس ارشد رابط کاربری در Netflix است که کتاب یادگیری در طولانی مدت را نوشته است. او فارغ التحصیل دانشگاه Brigham Young می باشد که اخیرا او را در Reddit، Needle و شبکه اجتماعی Deseret مشاهده می کنیم. علاوه بر کارهای او در نت فلیکس او به عنوان مشاور در زمینه طراحی وب و همینطور در دانشگاه فلوریدا به عنوان کارشناس ارشد ارتباطات آنلاین فعالیت دارد.
او اخیرا در برنامه OSCON صحبت هایی درباره ری اکت و ES6 کرده است که بعد از آن من با او مصاحبه ای در این زمینه انجام دادم که نتایج این مصاحبه را برای شما آورده ام.
هیجان انگیزترین چالش هایی که در ری اک به عنوان توسعه دهنده ارشد نتفلیکس با آن رو به رو بوده اید چه بوده اند؟
من همواره از صحبت کردن درباره فرایندهای ذاتی هیجان زده می شوم فرایندهایی مانند ثبت نام در یک سرویس جدید و یا دلنشین تر کردن استفاده از این سرویس می توانند باعث هیجان من شوند. من امیدوارم روزی همه چیز آن قدر شهودی شود که شما از صفحه اصلی وب سایت به تماشای یک ویدیو بروید بدون آن که متوجه شوید که هنوز وارد سیستم نشده اید. این یک هدف بزرگ است که البته در حال حاضر به آن دست پیدا نکرده ایم.
شما اخیرا بیان کردید که تفاوت شما و یک توسعه دهنده خردسال بسیار اندک است، بیشتر درباره این توضیح می دهید؟
من درباره کاری که آن روز در نت فلیکس انجام داده بودم تامل بسیاری کرده بودم و آن تنها یک کد ری اکت ساده بود( چیزی بود که یک برنامه نویس ری اکت تازه کار به هیچ وجه مشکلی با آن نداشت)، بخش عمده ای از کار من به این صورت است: نوشتن کد برای متصل کردن بخش مختلف به یکدیگر، البته توجه داشته باشید که من میانبرهای مختلف و بهترین روش ها برای انجام یک کار را می دانم چرا که قبلا تجربه بسیار زیادی داشته ام و با مسائل زیادی برخورد کرده ام که می توانم به خوبی از این تجربیات در جزئیات کار استفاده کنم.
اگر نظر من را درباره این موضوع بدانید که چه چیزی باعث تبدیل شدن یک برنامه نویس ارشد ری اکت به یک برنامه نویس ارشد می شود تقریبا مشابه آن چیزی که در توییت نیز بیان کردم پاسخ من این است که برنامه نویسان ارشد علاوه بر این که کدهای خود را بهبود می بخشند باعث پیشرفت اطرافیان خود نیز می شوند. شاید تنها نکته ای که باید به آن اضافه کنم این است که یک برنامه نویس ارشد می داند که چگونه با موقعیت های مختلف تعامل داشته باشد، شرایطی وجود دارند که شاید برنامه نویسان عادی نتوانند به خوبی مسائل مربوط به آن را حل کنند. البته نظر من این است که این موضوع بیش از حد برای یک برنامه نویس ارشد ری اکت و یا سایر زبان ها استثنا قائل می شود.
به ما کمک کنید تا متوجه شویم ری اکت چیست و چه چیزی آن را این قدر خاص می کند؟
ری اکت فوق العاده خاص است چرا که سعی کرد از شیوه های رایج در طراحی رابط گرافیکی جلوگیری کند و روش های بهتری را برای انجام این کار ارائه دهد. در واقع ری اکت به جای این که از الگوی سمت سرور model-view-controller در طراحی رابط گرافیکی استفاده کند تصمیم گرفت که بیشتر کار را بر پایه کامپوننت ها انجام دهد. آن ها تصمیم گرفتند که تمامی نگرانی های خود درباره یک مسئله و یا یک کامپوننت را در داخل یک فایل بریزند و به این ترتیب کامپوننت ها مختلف را در کنار یکدیگر داشته باشند. این دقیقا همان چیزی است که ری اکت را از بقیه جدا می کند، چیزی که من را قانع می کند تا از آن استفاده کنم مدل "props down, actions up" است که برای تعامل با اینترفیس و جذابیت ذاتی آن است. با محدود کردن چگونه و نقطه انجام این کار شما می توانید حالت آن را تغییر دهید و میزان باگ های خود را کاهش دهید و همینطور روند اصلاحاتی که در آینده انجام خواهید داد را نیز بهبود بخشید. فریم ورک ری اکت در واقع الگوها را مجبور می کند که نگهداری کد و دیباگ کردن آن را راحت تر کنند.
آیا شخصی بدون تجربه برنامه نویسی می تواند ری اکت را شروع کند؟ این شخص چه پیش نیازهایی لازم دارد؟
قطعا می تواند این کار را انجام دهد. شما برای یادگیری ری اکت تنها کافی است که اطلاعاتی درباره جاوا اسکریپت داشته باشید و بعد از آن می توانید هر یک از فریم ورک های جاوا اسکریپت را بیاموزید اما لازم است که در ابتدا جاوا اسکریپت را بیاموزید و بعد از آن متوجه می شوید که یادگیری هر یک از این فریم ورک ها کار سختی نیست. این فریم ورک ها امروزه به وجود می آیند و فردا ممکن است از بین بروند اما تنها چیزی که برای شما در طول زمان مفید خواهد بود خود زبان برنامه نویسی جاوا اسکریپت و یا هر زبان برنامه نویسی دیگری است.
چه چیزی شما را به ابزارهای متن باز جذب کرده است؟
من همواره دوست دارم که چیزهای جدید را یاد بگیرم، من در دانشگاه بیوانفورماتیک و ژنتیک را مورد مطالعه قرار دادم، من از اولین ثانیه ای که در کلاس قرار می گرفتم لذت می بردم و هر آن چه که استاد در کلاس بیان می کرد برای من جذاب بود. متاسفانه این موضوع باعث نشد که من دانشجوی خوبی باشم، من هیچ گاه تکالیفم را کامل انجام نمی دادم، اما این موضوع باعث شد که یک فرایند یادگیری دائمی در من به وجود بیاید و من چیزهای زیادی از خودم و دیگران بیاموزم. من در بسیاری از زمینه ها فعالیت داشتم( شخصی بودم که از کسب دانش در بسیاری از موضوعات مختلف لذت می بردم) و در نهایت این اشتیاق من منجر به تبدیل شدن من به یک توسعه دهنده رابط کاربری شد.
صحبت های پایانی
یادگیری ری اکت برای من مزایای بسیار زیادی داشت، من هنوز از جاوا اسکریپت خسته نشده ام، من می توانم این موضوع را مشاهده کنم که بسیاری از افرادی که شروع به یادگیری جاوا اسکریپت می کنند خیلی سریع از آن خسته می شوند اما این موضوع هنوز هم برای من جذاب و هیجان انگیز است چرا که من دوست دارم ببینم چگونه افراد دیگر مشکلات مشترک با من را به روش های دیگر حل می کنند. این موضوع برای من فواید بسیار زیادی دارد چرا که من می توانم مسائل مختلف را ببینم و تجربه های فوق العاده ای را از آنها بدست بیاورم، در واقع تدریس به دیگران برای من یک تجربه فوق العاده است که باعث شده است تا چیزهای جدیدی را در طول آموزش یاد بگیرم و به همین علت است که من همواره آموزش دادن و شرکت در کنفرانس های مختلف را دوست دارم و آن ها را از دست نمی دهم.
طراحی اپلیکیشن اندروید | طراحی وب سایت | شرکت ایده پردازان پاراکس