Frontend Evolution – تجدید نظر در Frontend – قسمت 2

مقدمه
بر اساس بازخورد ، من اهداف را تصفیه کرده ام تا وضوح بیشتری را به مفهوم تکامل جبهه ارائه دهم. هدف اصلی بازسازی مسئولیت های توسعه دهنده جبهه برای کاهش پیچیدگی و بهبود کارآیی است.
چرا مسئولیت های توسعه جبهه را تغییر می دهید؟
در حال حاضر ، توسعه دهندگان Frontend مسئولیت های زیادی را بر عهده دارند – اجرای UI ، منطق کسب و کار ، مدیریت دولت ، کنترل API ، بهینه سازی عملکرد ، دسترسی و موارد دیگر. این اضافه بار پیچیدگی را افزایش می دهد ، توسعه را کند می کند و مرزهای نقش را تار می کند.
تقسیم مسئولیت های جلو: UI و مدل
برای ساده سازی کار جبهه ، می توانیم مسئولیت های جلوی را به دو لایه مجزا تقسیم کنیم:
- لایه UI (ارائه و تعامل)
- لایه مدل (منطق کسب و کار و مدیریت داده ها)
پس از ایجاد این جدایی ، می توانیم تعیین کنیم که چه کسی باید هر قسمت را اداره کند.
چه کسی باید لایه UI را اداره کند؟
لایه UI باید ساده باقی بماند ، از جمله HTML ، CSS و JavaScript اساسی برای انیمیشن ها و تحولات داده. از آنجا که طراحان UI در حال حاضر روی UI کار می کنند ، مسئولیت های آنها را می توان کمی گسترش داد تا شامل اجرای (ایجاد اجزای UI) شود.
درک HTML و CSS به مهارت های برنامه نویسی عمیق احتیاج ندارد ، و این امر باعث می شود که طراحان وب بتوانند این قسمت را به ویژه با کمک ابزارهای AI انجام دهند. این امر امکان گردش کار کارآمدتری را فراهم می کند ، جایی که طراحان می توانند بدون تکیه بر توسعه دهندگان جبهه اضافی ، طرح های خود را به طور مستقیم به اجزای کاربردی UI ترجمه کنند.
چه کسی باید لایه مدل را اداره کند؟
لایه مدل شامل منطق کسب و کار ، مدیریت دولت ، ارتباطات API ، اعتبار سنجی ، ذخیره سازی و غیره است. توسعه دهندگان باطن در حال حاضر روی منطق کسب و کار کار می کنند و مهارت های برنامه نویسی قوی دارند.
از آنجا که این لایه کاملاً مبتنی بر منطق است (بدون یک ظاهر طراحی شده) ، توسعه دهندگان پس زمینه می توانند به راحتی آن را مدیریت کنند ، حتی در JS/TS (وقتی کسی مهارت برنامه نویسی را دارد ، زبان معنای بزرگی ندارد).
چرا تقسیم لایه ها به تنهایی مشکل را حل نمی کند؟
جدا کردن مدل از UI بدون تعریف مجدد نقش ها ، توسعه جلو را ساده نمی کند – این پیچیدگی را اضافه می کند و بار کار را برای توسعه دهندگان جلو افزایش می دهد. کلید فقط جدایی نیست بلکه تعاریف نقش آشکار برای اطمینان از توزیع مسئولیت ها به طور مؤثر است.
تخصص های جدید در توسعه وب
با دنبال کردن این ساختار ، می توانیم تعاریف نقش واضح تری را معرفی کنیم:
توسعه دهنده UI/UX
این نقش مسئولیت های طراحان UI/UX را فراتر از طراحی فقط گسترش می دهد و به آنها امکان می دهد قطعات را با استفاده از HTML ، CSS و JavaScript اساسی اجرا کنند. توسعه دهندگان UI/UX نیازی به نگرانی در مورد منطق ندارند ، آنها صرفاً روی اجرای UI تمرکز می کنند.
مسئولیت ها:
- طرح های UI و گردش کار UX ایجاد کنید
- اجزای UI را با استفاده از HTML ، CSS و حداقل JavaScript (برای انیمیشن ها ، تحولات) پیاده سازی کنید
- تعامل UI (کلیک دکمه ، انتقال ، جلوه های شناور و غیره)
- از دسترسی ، پاسخگویی و قابلیت استفاده اطمینان حاصل کنید
- روش ها ، خدمات و مدل های ارائه شده توسط توسعه دهندگان مدل را ادغام کنید
مزایای این نقش:
- همکاری قوی تر بین طراحی و توسعه – طراحان فقط طرح های استاتیک را کنار نمی گذارند ، بلکه به طور فعال اجزای UI را می سازند
- سوءاستفاده را کاهش می دهد – لایه اضافی توسعه دهندگان Frontend را از بین می برد و همکاری را مستقیم تر می کند
- توسعه سریعتر – توسعه دهندگان UI/UX به طور مستقیم با توسعه دهندگان مدل کار می کنند و وابستگی به توسعه دهندگان Frontend را کاهش می دهد
- نسل UI با کمک AI را بهبود می بخشد-داشتن اجزای UI بدون منطق باعث می شود که اتوماسیون تولید UI در آینده آسانتر شود
توسعه دهنده
این نقش مسئولیت های توسعه دهندگان پس زمینه را شامل می شود تا شامل منطق تجارت جلو ، مدیریت دولت ، مدیریت API ، اعتبار سنجی و غیره باشد.
مسئولیت ها:
- تمرکز بر منطق کسب و کار (پس زمینه و جبهه) ،
- رسیدگی به تماس های API ، واکشی داده ها ، مدیریت دولت ، تحولات داده ، اعتبار سنجی ، ذخیره سازی و غیره
- خدمات و خدمات ایجاد کنید که اجزای UI از آنها استفاده می کنند
- برای تعریف مدل های مناسب با توسعه دهندگان UI/UX همکاری کنید
- مدیریت معماری ، مسیریابی و ویژگی های اصلی (با پشتیبانی توسعه دهنده Frontend)
- اطمینان از بهینه سازی عملکرد و امنیت Frontend (با پشتیبانی توسعه دهنده Frontend)
مزایای این نقش:
- قوام داده ها در پشت زمینه و جبهه – توسعه دهندگان مدل ساختار داده (مدل ها) را در هر دو لایه تعریف و حفظ می کنند
- سوءاستفاده را کاهش می دهد – لایه اضافی توسعه دهندگان Frontend را از بین می برد و همکاری را مستقیم تر می کند
- توسعه سریعتر و ادغام آسان تر API ، هماهنگ سازی بهتر – توسعه دهندگان مدل مستقیماً با توسعه دهندگان UI/UX کار می کنند و وابستگی به توسعه دهندگان Frontend را کاهش می دهند
- داشتن یک فرد مجرد که مدل ها را کنترل می کند ، اطمینان حاصل می کند که در همگام سازی باقی می مانند ، بارهای API با نیازهای UI تنظیم می شوند
توسعه دهنده Frontend / سرب / معمار / مربی
یک توسعه دهنده Frontend تضمین می کند که توسعه دهندگان UI/UX و توسعه دهندگان مدل از بهترین شیوه ها در توسعه Frontend پیروی می کنند. جابجایی به نقش های جدید بدون تخصص قبلی در مناطق خاص می تواند چالش برانگیز باشد ، بنابراین راهنمایی متخصصان برای انتقال صاف ضروری است.
مسئولیت ها:
- راهنمایی برای توسعه دهندگان UI/UX در مورد ایجاد مؤلفه های خوب ساختار یافته و حفظ
- کمک به توسعه دهندگان مدل با پیچیدگی جلو (مدیریت دولت ، واکنش پذیری و غیره)
- منطق Frontend را برای عملکرد و بهترین شیوه ها مرور و بهینه کنید
- رسیدگی به سناریوهای پیچیده جلوی (به عنوان مثال ، مدیریت پیشرفته دولت ، SSR ، بهبود عملکرد)
در هر تیمی ، ما می توانیم توسعه دهندگان پس زمینه ، توسعه دهندگان مدل ، توسعه دهندگان UI/UX و توسعه دهندگان جلو داشته باشیم. این تخصص ها انعطاف پذیری و مقیاس پذیری را برای توسعه وب به ارمغان می آورد.
چرا این تخصص نقش بهتر از رویکرد سنتی است؟
- این تخصص نقش به تیم ها اجازه می دهد تا ساختار یافته تر ، کارآمدتر و مقیاس پذیر باشند. این بار کار در توسعه دهندگان Frontend را کاهش می دهد ، همکاری را بهبود می بخشد و اتخاذ فن آوری های جدید را آسان تر می کند
- بهره وری تیم را بهبود می بخشد – ارتباطات غیر ضروری را کاهش داده و مسئولیت ها را روشن می کند
- تخصص را تقویت می کند – هر یک از اعضای تیم بر نقاط قوت خود تمرکز می کند و بار شناختی را کاهش می دهد
- چارچوب های سبک تر UI – با حذف منطق از UI ، چارچوب ها می توانند لاغر باشند و فقط روی ارائه و تعامل تمرکز کنند
- گردش کار طراحی به کد مستقیم تر است-توسعه دهندگان UI/UX می توانند فوراً تنظیمات طراحی را بدون تاخیر اعمال کنند
- اطمینان از سازگاری داده ها در لایه های مدل پس زمینه و جلو با راه حل های تمیزتر
- اشتباهات مدل UI را کاهش می دهد-جداسازی نقش واضح تر سوء استفاده را به حداقل می رساند
چالش ها و مسائل بالقوه
- توسعه دهندگان UI/UX به مهارت های برنامه نویسی نیاز دارند – HTML ، CSS و JavaScript اساسی باید بخشی از مجموعه مهارت های آنها باشد. ابزارهای AI می توانند در ساده سازی این منحنی یادگیری کمک کنند.
- خطر اتصال محکم بین UI و منطق پس زمینه – جدایی روشن از نگرانی ها لازم است. توسعه دهندگان Frontend برای جلوگیری از مشکلات اتصال باید پیاده سازی ها را بررسی کنند
- رسیدگی به وظایف پیچیده – توسعه دهندگان Frontend هنوز هم در سناریوهای پیشرفته نقش دارند
چه چیزی بعدی؟
هنگامی که نقش ها تعریف می شوند ، مرحله بعدی تمرکز روی ابزارها است. ابزارهای لایه UI باید برای توسعه دهندگان UI/UX آسان باشد و ابزارهای لایه مدل باید برای توسعه دهندگان مدل مناسب باشند. در حال حاضر من روی ابزارهای مدل سازی (کتابخانه مدل UI) تمرکز می کنم.
مقاله بعدی نگاهی دقیق تر به کتابخانه مدل UI می اندازد ، که در تلاش برای ارائه یک روش ساده و مستقل از چارچوب برای مدیریت مدل ها در برنامه های Frontend است.
دوست دارم افکار خود را بشنوم! 🚀