من یک برنامه نویس تحت وب هستم.
React، Angular و Vue : کدام یک برنده سال 2019 می شوند؟
راستشو بخواین اصلا مهم نیست! اگر شما می خواین یک برنامه نویس بزرگ بشین، باید دیدگاهتون رو تغییر بدین و به اینکه کدوم یکی بهتره برای استفاده؟ یا اینکه کدومشون پول بیشتری برای من داره؟ دیگه فکر نکنید.
برنامه نویسان بزرگ به مزایا و معایب ابزار مورد استفاده فکر می کنند. شما چه زمانی باید یک ابزار را به جای یکی دیگه استفاده کنید؟ چرا این ابزار ساخته شده؟ چرا در بعضی مواقع این ابزار بهتره و در بعضی شرایط بلعکس؟
کوته نظری در این زمینه و تعریف کردن یک فریم ورک/کتابخانه برای حکومت به بقیه و انجام همه امور فقط توسط کسانی زده می شه که تاریخچه کارشون رو نمی دونن.
jQuery, Backbone و AngularJS زمانی که منتشر شدند کاملا مفید و کاربردی بودند. این کتابخانه ها/فریم ورک ها 10 برابر بیشتر نسبت به آن چه قبل از خودشان بوده مفید واقع شدند. اما سرانجام همه آن ها با رشد جامعه برنامه نویسی تحت وب، پلتفرم های تحت وب و تغییر الویت های کاربران، تکامل یافتند و رو به جلو حرکت کردند.
خب حالا چه فریم ورک یا کتابخانه ای را باید تا آخر 2019 حتما یاد گرفت؟ در نهایت هر سه این ها (react, angular and vue) به شما قابلیت پیاده سازی اپلیکیشن های قدرتمند فرانت اند رو می دهند. بصورت عمومی، هیچ یک از این سه، برتری مشخصی از دیگری ندارد. به مثال های زیر توجه کنید :
انگولار (Angular) کل آشپزخانه است که به شما همه ابزار لازم را برای پختن وعده غذاییتون که همون وب اپلیکیشن هست رو میده. اگر من صاحب یک بانک با پرسنل برنامه نویس زیاد هستم، یقینا از انگولار استفاده می کنم که همه اعضا رو در یک الگو مشخص به کار بگیرم.
ری اکت(React) مثل فر اجاق گاز میمونه. شما به احتمال زیاد به ابزار بیشتری(علاوه بر فر) برای پختن یک کیک احتیاج دارید، ولی ری اکت به شما اجازه میده با توجه به خواسته هاتون با انعطاف پذیری بیشتری به انتخاب ابزار مورد نیازتون بپردازین. اگر من یک شرکت بر پایه تکنولوژی هستم و برنامه نویس های ارشد(senior) زیادی دارم که تصمیم گیری های درستی در زمینه های مختلف انجام می دهند، از ری اکت استفاده می کنم.
ویو (Vue) مثل مایکروویو میمونه. یعنی باعث میشه پخت و پزت با سرعت بالا شروع بشه و در عین اینکه کار آشپزی رو برات آسون میکنه، کارآمدم هست. اگر من صاحب یک استارت آپ با تیم برنامه نویسی جوون هستم، از ویو استفاده می کنم.
مثال های بالا بسیار ساده هستند و یقینا موارد بسیار دیگری برای در نظر گرفتن وجود داره. اگرچه چیزی که شما یاد می گیرین نباید آخرین و جدیدترین فریم ورک یا کتابخانه یا غیره باشه. این خوبه که این ابزار رو بلد باشین اگه مستقیما باهاشون کار دارین، اما به احتمال زیاد در طول 5 سال، چشم انداز توسعه تغییر می کنه.
برنامه نویسان بزرگ کسانی هستند که نحوه استفاده حداقل یکی از این سه مورد رو بلدن، اما مهم تر اینه که دلیل سطح بالا رو ببینن و بدونن چرا این تکنولوژی ها وجود دارند و اینکه بتونن در مواقع و شرایط کاری مختلف، یک تصمیم درست رو در انتخاب این تکنولوژی ها داشته باشن. برنامه نویسان بزرگ همیشه برای موج بعدی تغییرات آماده هستند و یک ذهنیت بلند مدت در این رابطه دارند. پس بهتره که اصول کار رو یاد بگیریم و بدونیم که چه ابزاری قابلیت حل چه مشکلی رو داره و آماده تغییر باشیم.
هرچقدر تجربه شما در برنامه نویسی بالاتر میره، بیشتر به این نتیجه می رسین که برای ماندگاری مستمر در این حرفه، شما نیازی نیست که همه APIها رو حفظ کنین، هر پادکستی (Podcast) رو گوش کنین، هر کنفرانسی رو مشاهده کنین، و یا هر پست وبلاگی رو بخونین. شما به اصول و قوانین اساسی که زیربنای این ابزارهاست نیاز دارید. به همین خاطره که برنامه نویسای بزرگ، ساختمان داده ها و الگوریتم ها رو بلدن. و میدونن که کامپایلرها چجوری کار می کنن و اینکه الگوهای طراحی(design patterns) چجوری می تونن در ساختن سیستم های بزرگ کمک کنن.
پس در نهایت مهم نیست کدومشون رو انتخاب می کنیم. به آموختن مداوم بپردازید و مباحث علمی و آزمایش شده علوم کامپیوتر رو فراموش نکنید، چون زیربنای همه چیز است. بی دلیل نیست که شرکت های تکنولوژی بزرگ در مصاحبه های کاری از ساختمان داده ها و الگوریتم ها می پرسن و به مفاهیم توجه می کنند.
منبع : medium.com
مطلبی دیگر از این انتشارات
ری اکت رو قورت بده - ۲
مطلبی دیگر از این انتشارات
در سال 2020 از کدوم تکنولوژی کراس پلت فرم استفاده کنیم؟
مطلبی دیگر از این انتشارات
کانفیگ Redux و Redux-Saga در Next.js