رابط واکنشگرا، روی خود صفحات
موبایل، تبلت و دسکتاپ را روی همان صفحاتی که قرار است منتشر شوند میچینم. فایل گرافیکی جدا که بعداً «یکی پیاده کند» تحویل من نیست. تایپ، فاصله و حالت دکمهها را در خود سایت میبینی، نه در یک تصویر.
طراحی سایت برای من یعنی محصولی که با کد نوشته شود، روی موبایل درست دیده شود، و سال بعد هم بشود به آن دست زد. هر نوع پیادهسازی را برای مشتری انجام میدهم: قالب اختصاصی وردپرس وقتی تیمت با پیشخوان وردپرس راحتتر است، سایت Next.js وقتی سرعت و کنترل کد مهمتر است، و استک دیگری اگر پروژه آن را بخواهد. چیزی که نمیسازم، پوستهٔ آمادهای است که امشب بالا بیاید و فردا کسی جرئت نکند بهروزرسانیش کند.
استک را خود پروژه تعیین میکند: وردپرس با قالبی که از صفر برای همان سایت نوشته میشود، یا React و Next.js و Node.js، یا ابزار دیگری که با کار جور باشد. اگر پنل لازم شود، در همان استک ساخته میشود، نه یک سیستم جدا که بعداً کسی نتواند نگهش دارد.
مهدی رضاییام. فولاستک، دوازده سال. از ایروان کار میکنم، نه از یک دفتر در تهران با چند نفر پشت یک میز. فارسی و انگلیسی هر دو را برای خود محصول مینویسم، نه بهصورت ترجمهٔ روبهروی یک صفحه.
این صفحه برای کسی است که سایت شرکت، محصول یا خدمتش باید نمایندهٔ واقعی کار باشد: معرفی، چند صفحهٔ مشخص، فرم تماس، و اگر لازم شد دو زبان. فروشگاه بزرگ و نرمافزاری که کارمند هر روز داخل آن زندگی میکند، بحث دیگری است و در ساخت اپ میآید.
تمام شدن سایت یعنی اینها را بتوانی باز کنی، بشکنی و دست بزنی. چیزی که در محدودهٔ کتبی نیامده، تمامشده حساب نمیشود و وسط کار هم بهعنوان هدیه قاطی نمیشود.
موبایل، تبلت و دسکتاپ را روی همان صفحاتی که قرار است منتشر شوند میچینم. فایل گرافیکی جدا که بعداً «یکی پیاده کند» تحویل من نیست. تایپ، فاصله و حالت دکمهها را در خود سایت میبینی، نه در یک تصویر.
عنوان و توضیح هر صفحه، ترتیب درست تیترها، نشانی canonical، نقشهٔ سایت، متن جایگزین تصویر، و یک دور سرعت معقول. اینها را همراه سایت میآورم تا از روز اول لنگ نماند. جایگاه در گوگل را تضمین نمیکنم و در این صفحه هم نمیفروشم.
فرم تماس، ایمیل یا تلگرام، هر کدام را که در محدوده باشد وصل میکنم و خودم یک بار از بیرون تست میکنم. فرم تزئینی که پیامش هیچجا نرود، سایت نیست.
دو زبان یعنی دو ساختار: مسیر جدا، عنوان جدا، و متنی که برای همان خواننده نوشته شده. همین سایت mehd.ir همینطور است. ترجمهٔ ماشینی روی یک صفحه را دوزبانه حساب نمیکنم و اگر محتوایت آماده نباشد، تولید انبوه متن را داخل طراحی سایت قاطی نمیکنم.
برای هر سایت یک سیستم مدیریت سنگین نمیسازم. اگر خودت باید متن را عوض کنی، پنل کوچک را همان اول مینویسیم. اگر سالی دو بار متن عوض میشود، شاید ریپو کافی باشد.
کد یا در گیتهاب من میماند با دسترسی تو، یا از اول داخل سازمان خودت ساخته میشود. دامنه، هاست و ابزار آمار به نام تو است. من همکار ریپو میمانم تا وقتی کار تمام شود، نه مالک حسابها.
بازه را از کارهایی میگویم که خودم تنها بردهام جلو. اگر تعداد صفحه، زبان دوم یا پنل بزرگ شود، همان اول میگویم کجا کش میآید. عدد روز را الکی ریز نمیکنم.
چند روز
چند خط از تو میگیرم: سایت برای کیست، چه صفحههایی واقعاً لازم است، زبان، و اینکه محتوا دست کیست. اگر از همینجا معلوم شود قالب آماده کافی است، همان را میگویم و پروژه را باز نمیکنم.
چند روز تا حدود یک هفته
صفحات، زبانها، فرم، پنل اگر باشد، و چیزهایی که عمداً بیرون میمانند را مینویسم. تا این متن را هر دو قبول نکرده باشیم، عددی در کار نیست. تغییر بعد از این متن، تغییر محدوده است نه «یک چیز کوچک».
حدود یک تا دو هفته
بهجای آلبوم موکاپ، چند صفحهٔ اصلی را در خود سایت میچینم تا ببینی متن فارسی چطور مینشیند و موبایل چه بلایی سر طرح میآورد. این مرحله جای سلیقه است، نه جای اضافه کردن ده صفحهٔ تازه.
معمولاً سه تا هشت هفته
بقیهٔ صفحات، روی قالب اختصاصی وردپرس یا Next.js یا هر استکی که در محدوده آمده، و اگر در محدوده باشد پنل و زبان دوم، اینجا ساخته میشود. معرفی کوتاه به سه هفته نزدیکتر است و دو زبان با پنل به هشت هفته یا بیشتر. وسط کار نسخهٔ قابل دیدن داری.
حدود یک هفته
عنوانها، نقشهٔ سایت، فرم، و اتصال دامنهای که به نام خودت است. اگر دامنه یا هاست هنوز مال تو نیست، اول آن را به نامت درمیآوریم و بعد سایت را آنجا مینشانم.
چند روز تا حدود دو هفته
دسترسی ریپو، نحوهٔ استقرار، و یک فهرست از اشکالهای همان محدوده. این بازه برای باگ است، نه برای صفحهٔ تازه و نه برای کمپین. بعدش یا تمام است، یا پشتیبانی را جدا شروع میکنیم.
نمونهٔ مشتری جعلی و عدد «بهعلاوهٔ صد پروژه» اینجا نمیآورم. همین سایت mehd.ir را با Next.js، فارسی و انگلیسی جدا، خودم ساختهام و خودم نگه میدارم. FreezeRadar هم محصول خودم است و با Next.js بالاست. نقش من در هر دو سازنده است، نه عضو یک تیم تحویل.
سایت معرفی جمعوجور معمولاً یک تا دو ماه بعد از قبول محدوده طول میکشد. دو زبان یا پنل کار را بلندتر میکند. قبل از متن کتبی تاریخ قطعی نمیدهم.
به خود کار بستگی دارد. اگر تیمت باید هر روز مطلب بگذارد و با پیشخوان وردپرس آشناست، قالب اختصاصی وردپرس معمولاً انتخاب سادهتری است. اگر سرعت، رابط سفارشی یا اتصال به یک اپ مهمتر است، Next.js. گاهی هم استک دیگری جواب درست است. این انتخاب را با دلیلش در محدوده مینویسیم.
مال تو. دامنه، میزبانی و ابزار آمار به نام خودت است. ریپو در سازمان تو یا در گیتهاب من با دسترسی تو میماند. کد گروگان جدایی نیست.
متن محدوده را کتبی میفرستم و نسخه را روی یک نشانی میبینی. فارسی حرف میزنیم. دفتر تهران و جلسهٔ هر روز بخشی از کار نیست.
یک بازهٔ کوتاه برای اشکالهای همان محدوده داخل کار است و در متن نوشته میشود. ایدهٔ تازه، صفحهٔ تازه و نگهداری ماهها بعد، کار جدید است. اگر بخواهی خودم حواسم به دیپلوی و بکاپ باشد، آن را پشتیبانی جدا میکنیم، نه بهصورت نامحدود داخل طراحی سایت.
نه. سئوی فنی پایه را میآورم تا سایت از نظر ساختار لنگ نباشد. رتبه، ترافیک و «صفحهٔ اول» را تضمین نمیکنم. گوگل قول من را امضا نمیکند و من هم قول گوگل را نمیفروشم.
چون صفحهٔ معرفی با دو زبان و پنل یکی نیست. تعرفهٔ صنفی اینجا نمیگذارم.
چند خط کافی است: کار چیست، تقریباً چند صفحه، فارسی تنها یا انگلیسی هم، و اینکه متن دست خودت است یا نه. فرم پایین صفحهٔ اصلی برای همین است. من خودم میخوانم. کسی از طرف من تماس تبلیغاتی نمیگیرد.
نوشتن بریف کوتاهطراحی سایت با سه کار دیگر قاطی نمیشود، ولی خیلیها بعد از سایت به یکی از اینها میرسند. هر کدام صفحه و محدودهٔ خودش را دارد.