امروز افتخار این رو داشتم که تو همایش CoderConf به عنوان سخنران حضور داشته باشم و درباره متدولوژیهای توسعه فرانتاند صحبت کنم. از اونجایی که این اواخر در این مورد یک پست مختصر نوشتم و به واسطه اندک تجربهای که داشتم، این فرصت رو غنیمت شمردم تا این مباحث رو با قشر وسیعتری از توسعه دهندهها در میون بزارم. خوشبختانه مقالهام برای چاپ و ارائه توسط هیئت داوران قبول شد و به این ترتیب تونستم اطالاعاتی که داشتم رو به اشتراک بزارم.
اما با توجه به اینکه تعداد زیادی از دولوپرها هم در این کنفرانس حضور نداشتند و با توجه به اینکه خودم محتوای فارسی در این مورد ندیدم، لازم دونستم این مقاله به صورت کامل در وبلاگم منتشر کنم تا همه بتونن ازش استفاده کنن. پیشاپیش درخواست دارم در صورت انتشار این مطلب، منبع رو هم ذکر کنید. در ضمن، زبان این مقاله نوشتاری هست. در ادامه با متدولوژیهای توسعه فرانتاند همراه باشید.
تو پست قبلی که درباره روند توسعه مینی فید نوشته بودم، وقتی صحبت از توسعه بر پایه کامپوننت پیش اومد، قصد کردم یه مطلب در موردش بنویسم. دلیلش هم اینه که وقتی بحث کدنویسی پیش میاد، ما نمیتونیم فقط توقع داشته باشیم که یه سری کد به صورت سریال اجرا شه و در نهایت از اجرای اون یه خروجی حاصل شه. تو دنیای امروز، خوانایی کد، قابلیت نگهداشت و استفاده مجدد از اونها اهمیت زیادی پیدا کرده. میخوام تو این مطلب درباره توجه به این موارد تو کدنویسی CSS بپردازم. متأسفانه بعضیها اصولاً استایل نویسی رو جزئی از کدنویسی نمیدونن. این طرز فکر شاید بخاطر این باشه که اونها افراد باتجربهای هستند که CSS رو فقط با نسخه ۲ به یاد میارن. شاید هم افرادی باشن که بیشتر از فریمورکهای آماده استفاده کردند. اما واقعیت اینه که امروزه کدنویسی CSS برای خودش دنیای داره و بهتره ما به بعضی بایدها و نبایدهایی در تولید این کدها توجه کنیم.
قبل از هر چیز باید بگم اگر تا به حال برای استایل نویسی، از پیشپردازندهها استفاده نکردید، توصیه اکید دارم که این کار رو بکنید. نکته بعد اینکه اگر برای هر عنصر صفحه کلاسی مینویسید و توی اون کلاس طراحی رو اعمال میکنید، از این کار دست بکشید. پیشنهاد میشه اساساً طرز فکرتون رو نسبت به شیوه توسعه تغییر بدید.
بیش از ۵ ماه از فعالیت وبلاگ مینی فید میگذره و شامل مطالب مفیدی هست که با گذر زمان ارزش محتوای خودش رو از دست نمیده. این وبلاگ رو به کمک دوستم مهدی راه اندازی کردیم طوری که مسئولیت طراحی با من بوده و مشترکاً در پیادهسازی طرح به هم کمک میکردیم.
من سعی کردم برای طراحی مینی فید از گایدلاینهای زبان متریال کمک بگیرم تا از این سبک طراحی الهام گرفته باشم. طراحی به گونهای انجام شده که تمرکز خواننده بر محتوای اصلی پستها باشه. طرح اولیه در فوتوشاپ زده شد. هرچند در این طراحی به جزئیات هم توجه شد، اما شخصاً معتقدم PSD نمیتونه نسخه نهایی صفحه وب رو ارائه بده. برای همین در طول پیادهسازی تغییراتی نیز حاصل شد.
ارتباط من و مهدی در طی پیادهسازی این طرح به صورت دورکاری بوده و سعی میکردیم تمام نیازهامون رو از طریق تسک منیجر تسکولو و git رفع کنیم. برای این کار هم از سرویسهای Bitbucket استفاده کردیم.
در تاریخ سوم دی ماه ۹۴ دومین همایش طراحی واکنشگرا برگزار شد و من افتخار داشتم به عنوان یکی از سخنرانان تو این کنفرانس شرکت کنم. موضوع صحبتهای من درمورد استایل نویسی حیاتی یا Critical CSS و تأثیرش در پرفورمنس طراحی واکنشگرا بود. از سخنرانیهای دوستان هم استفاده کردم و چندتاشون خیلی برام مفید واقع شد. در مجموع بنظرم رویداد کم حاشیه و علمیای بود.
من قصد داشتم در مورد موضوع ارائهام یک پست وبلاگی بنویسم، اما در نهایت تصمیم گرفتم محتوای سخنرانی رو به صورت یک داکیومنت کامل به همراه اسلایدهای ارائه در قالب فایل پیدیاف برای عموم به اشتراک بزارم.
در مدتی که که در تیم روژینا مشغول بودم، به کمک دوستان پروژهی ایونتوریال اجرا شد. این پروژه در حال حاضر خدماتی درباره رویدادهای شهری تهران ارائه میده که البته قرار نیست فقط به رویدادهای این شهر محدود باشه. رویدادها در ۱۸ دستهبندی مختلف منتشر میشن که توجه خاصی لوکیشن رویدادها شده.
پروسهی طراحی و توسعه رابط کاربری زیر نظر فردین انحام شد و من به عنوان توسعه دهنده فرانتاند در این پروژه نقش داشتم و البته هیچوقت از کمکهای این دوستِ خوب محروم نبودم. ایونتوریال دارای طراحی دو زبانه هست که برای توسعه از ابزارهایی مثل انگیولار، Grunt، Require.js و Sass و غیره توش استفاده شده.