غوطه ور شدن عمیق در نقاط دردناک برتر توسعه دهندگان وب

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

چند ماه پیش، پل کینلان در مورد برترین نقاط درد توسعه دهندگان در سال 2021 پستی منتشر کرد، بنابراین به نظر می رسد مناسب است این مقاله را با به روز رسانی در 2 فصل گذشته شروع کنیم. اعداد کمی تغییر کرده اند، اما رتبه بندی تغییر نکرده است.

چالش Q1 2021 Q2 2021 Q3 2021 Q4 2021
همگام شدن با تغییرات پلتفرم وب یا استانداردهای وب. 27% 26% 27% 22%
همگام شدن با تعداد زیادی از ابزارها یا چارچوب های جدید و موجود. 26% 26% 25% 21%
ایجاد یک طراحی یا تجربه در مرورگرها یکسان است. 26% 28% 24% 21%
تست در مرورگرها 23% 24% 20% 20%
درک و اجرای اقدامات امنیتی. 23% 25% 20% 19%

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

بحث های توسعه دهنده

سلب مسئولیت: این بینش ها بر اساس تعداد کمی از مکالمات با توسعه دهندگان است. هنگام استفاده از "همه" یا "بعضی"، این به توسعه دهندگان مصاحبه شده اشاره دارد، نه کل جامعه. برای برون یابی بیشتر این بینش ها به تحقیقات بیشتری نیاز است.

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

یکی از چیزهای رایج در بین همه توسعه دهندگان این است که همه آنها از یک CMS یا یک چارچوب برای انجام کار خود استفاده می کنند. Wordpress، React، Bootstrap، Angular و Tailwind همگی ذکر شدند، هیچ یک از توسعه دهندگان از پلتفرم وب وانیلی در تولید استفاده نکردند. انتخاب یک چارچوب هنگام شروع یک پروژه یک چالش است و توسعه دهندگان اغلب الزامات غیر فنی را در نظر می گیرند. به عنوان مثال، اینکه آیا استخدام یک توسعه دهنده برای کار با آن فریم ورک آسان خواهد بود یا خیر. اگر چارچوب ها و CMS ها در راه حل گنجانده نشده باشند، نمی توانیم نقاط درد توسعه دهنده را بهبود ببخشیم.

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

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

توسعه دهندگان هنگام اجرای موارد و الگوهای خاص به دنبال بهترین شیوه ها هستند. پست‌های بلاگ و StackOverflow به‌عنوان منابعی برای بهترین شیوه‌ها ذکر می‌شوند، اما توسعه‌دهندگان اغلب از خود می‌پرسند که آیا اطلاعاتی که می‌خوانند واقعاً بهترین روش است و آیا با آخرین ویژگی‌ها و APIها به‌روز است یا خیر. آنها مایلند منبع رسمی تری برای خواندن آن ها وجود داشته باشد.

هماهنگی با ویژگی ها و API هایی که موارد استفاده جدید را فعال می کنند، مشکل کوچک تری است. توسعه‌دهندگان بیشتر با ویژگی‌ها، APIها و تغییرات پلتفرم که منجر به تغییر در بهترین شیوه‌ها می‌شود، مبارزه می‌کنند.

اکثر توسعه دهندگان موافق هستند که سازگاری یکی از بزرگترین چالش ها است. همه چیز با تلاش هایی مانند Compat 2021 و Interop 2022 در حال بهبود است، اما واضح است که توسعه دهندگان هنوز آن را به عنوان یک مشکل حل شده نمی بینند.

اکثر توسعه دهندگان از polyfills به یک روش یا روش دیگر استفاده می کنند. با این حال، در بسیاری از موارد، استفاده برای توسعه دهندگان شفاف است، زیرا polyfill می تواند به طور خودکار توسط ابزاری مانند Babel یا یک چارچوب اضافه شود. برای کسانی که خودشان پلی‌فیل‌هایشان را مدیریت می‌کنند، فهمیدن اینکه آیا پلی‌فیل «خوب» است یا خیر، می‌تواند مشکل‌ساز باشد. توسعه دهندگان استفاده از تعداد نصب در NPM و سازنده polyfill را به عنوان سیگنال ذکر کردند. چند نفر از توسعه دهندگان به انجام کار برای حذف پلی پرها اشاره کردند که به دلیل حذف پشتیبانی از IE 11 غیرضروری شد.

چارچوب ها مسائل پراکندگی را معرفی می کنند. گزارش‌هایی شنیدیم که در آن توسعه‌دهندگان به یک نسخه قدیمی‌تر یک چارچوب «گیر کرده‌اند» و به این دلیل محدودیت‌هایی در ویژگی‌هایی داشتند که می‌توانستند از آن استفاده کنند، اما مهاجرت به نسخه جدیدتر همان چارچوب می‌تواند پرهزینه و توجیه آن سخت باشد.

نتیجه

توسعه وب مدرن دارای بخش های متحرک بسیاری از جمله استانداردها، مرورگرها، کتابخانه ها، polyfills، CMS ها، چارچوب ها، بهترین شیوه ها و ابزار است. این تنوع یکی از چیزهای بزرگ در مورد وب است، اما در حال حاضر، این به هر توسعه دهنده ای به طور جداگانه بستگی دارد که هر قطعه و نحوه سازگاری آنها با یکدیگر را درک کند.

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

اگر دیدگاه و نظری دارید مایلید به اشتراک بگذارید. من هم دوست دارم با شما صحبت کنم. من راهی برای رزرو مستقیم مکالمات ایجاد خواهم کرد، اما در این مدت، پیام های پیامکی من در توییتر باز است. تماس بگیرید و ما می توانیم برای چت کردن وقت بگذاریم!