خدمات

اپلیکیشنی که کار روی آن می‌چرخد

ساخت اپلیکیشن دو جور سفارش می‌شود. یکی بروشور است: چند صفحهٔ قشنگ که محصول را نشان بدهد. یکی نرم‌افزاری است که مشتری، کارمند یا خودت هر روز داخلش کار می‌کنی. من دومی را می‌سازم، و اگر اولی کافی باشد همان اول می‌گویم که اپ نساز.

استک پیش‌فرض من React، Next.js و Node.js است. اگر به اپ فروشگاه برسیم، باز هم بک‌اند و API را با همین دست می‌نویسم. صفحهٔ تنها، بدون داده و بدون حساب کاربری، اپ نیست.

مهدی رضایی‌ام. فول‌استک، دوازده سال، ساکن ایروان. فارسی و انگلیسی هر دو را کار می‌کنم. تیم موبایل و دفتر تهران ندارم. خودم محدوده را می‌نویسم و خودم کد را تحویل می‌دهم.

این صفحه برای کسی است که یک جریان کار واقعی دارد: ثبت‌نام، نقش کاربر، داده، و کاری که اگر اپ پایین باشد کسب‌وکار می‌لنگد. اگر فقط می‌خواهی خدماتت دیده شود، اغلب یک سایت واکنش‌گرا کافی است و نباید هزینهٔ اپ را بدهی.

محدوده را کتبی می‌نویسیم، بعد عدد.

کی باید به اپ فکر کند

  • کاری که کاربر باید برگردد: حساب، وضعیت سفارش، پرونده، یا ابزاری که هفته‌ای چند بار باز می‌شود.
  • محصولی که بک‌اند، پنل مدیریت و API بخش خود کارند، نه تزئین روی چند صفحه.
  • تیمی کوچک که یک نفر فنی روبه‌رویش می‌خواهد، نه آژانسی که هر بخش را به یک واحد دیگر پاس بدهد.
  • کسی که می‌پذیرد انتشار در کافه‌بازار، مایکت، گوگل‌پلی یا اپ‌استور، اگر لازم شد، کار و حساب جدا باشد و ممکن است رد شود.

کی بهتر است اپ نسازد

  • معرفی خدمات، نمونه کار و فرم تماس. این سایت است. اپ نصب‌شدنی این‌جا فقط هزینه و نگهداری اضافه می‌کند.
  • ایده‌ای که هنوز کاربر و کار روزمره‌اش معلوم نیست. ساختن ده صفحه قبل از این‌که بدانی چه کسی هر روز وارد می‌شود، گران‌ترین راه برای فهمیدن است.
  • کسی که می‌خواهد «هم iOS هم اندروید هم پنل هم سایت» را یک‌جا و با قیمت یک صفحهٔ معرفی بگیرد. این فهرست چند محصول است.
  • انتظار تأیید حتمی فروشگاه، یا این‌که حساب توسعه و کلید امضا به نام من بماند. حساب و کلید باید مال تو باشد.

کدام شکل اپ، و کی سایت کافی است

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

شکلکی مناسب استکی بس است یا نرو
سایت واکنش‌گرامعرفی، محتوا، فرم، و کاربری که هفته‌ای یک بار از مرورگر سر می‌زند.وقتی کار روزانه با حساب کاربری، نقش و دادهٔ زنده است. این‌جا سایت معرفی کم می‌آورد.
PWAمی‌خواهی روی صفحهٔ گوشی بنشیند، بدون صف فروشگاه، و همان وب‌اپ را به‌روز کنی.وقتی به قابلیت عمیق دستگاه، پوش جدی، یا حضور داخل استور وابسته‌ای.
کراس‌پلتفرمیک محصول برای iOS و اندروید، با تیمی که نمی‌خواهد دو کدبیس جدا را تنها نگه دارد.وقتی عملکرد بومی یا یک قابلیت خاص دستگاه، خود محصول است نه یک افزونه.
نیتیوفروشگاه و API دستگاه بخش اصلی کارند و بودجهٔ نگهداری دو پلتفرم را دیدی.وقتی هنوز مخاطب و جریان کار مشخص نیست. نیتیو راه گران فهمیدن است.

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

داخل برآورد چه هست

صفحهٔ قشنگ تنها تحویل نیست. اگر محصول حساب و داده دارد، این‌ها را همان اول نام می‌برم تا آخر کار غافلگیر نشوی.

جریان کار، نه آلبوم صفحه

ثبت‌نام، کار اصلی کاربر، و حالت خالی یا خطا را می‌نویسم. صفحه‌ای که فقط در دموی شاد کار کند و با دادهٔ واقعی بشکند، تحویل حساب نمی‌شود.

بک‌اند و API

داده، احراز هویت و رابط برنامه‌نویسی با Node.js بخشی از خود محصول است. اگر کسی فقط «صفحات را بزند» و API را به بعد موکول کند، نصف اپ ساخته نشده.

پنل مدیریت، به اندازهٔ کار

همان کارهایی که خودت یا همکارت باید بدون من انجام بدهید: دیدن کاربر، اصلاح یک رکورد، بستن یک دسترسی. پنل را به اندازهٔ همین کارها می‌سازم، نه یک داشبورد تزئینی با نمودار بی‌مصرف.

نسخهٔ قابل نصب یا قابل استفاده

بسته به ردیفی که انتخاب کردیم: وب‌اپ بالا، PWA قابل افزودن به صفحهٔ گوشی، یا بستهٔ تست برای دستگاه. این با «منتشر شد در استور» یکی نیست.

ریپو، کلید امضا و حساب به نام تو

سورس در گیت‌هاب من با دسترسی تو، یا در سازمان خودت. اگر امضا و استور در محدوده باشد، کلید امضا و حساب کافه‌بازار، مایکت، گوگل‌پلی یا اپ‌استور به نام تو ساخته می‌شود. من مالک حسابت نمی‌مانم.

این‌ها جدا نوشته می‌شوند

  • ساخت صفحهٔ معرفی شرکت، اگر هنوز سایت نداری. گاهی همان سایت اول است و اپ مرحلهٔ بعد. طراحی سایت را جدا ببین.
  • ثبت در کافه‌بازار، مایکت، گوگل‌پلی و اپ‌استور: حساب، متن استور، اسکرین و رفت‌وبرگشت رد و تأیید. این محدودهٔ خودش را دارد. تأیید فروشگاه را تضمین نمی‌کنم، چون تصمیمش دست من نیست.
  • سئوی سایت بازاریابی، اگر کنار اپ یک سایت جذب هم می‌خواهی. سئو سایت محدودهٔ دیگری است.
  • نگهداری ماه‌ها بعد از تحویل: به‌روزرسانی وابستگی، بکاپ، و بالا نگه داشتن سرویس. پشتیبانی را اگر لازم شد جدا می‌کنیم.
  • تولید محتوای استور، فیلم تبلیغاتی، و کمپین نصب. من نرم‌افزار را می‌سازم، بخش بازاریابی را به اسم توسعه نمی‌فروشم.

ترتیب کار

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

  1. ۱

    فهمیدن کار روزانه

    حدود یک هفته

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

  2. ۲

    انتخاب شکل محصول

    چند روز

    سایت، PWA، کراس‌پلتفرم یا نیتیو را کتبی انتخاب می‌کنیم، با دلیل. عوض کردن این تصمیم وسط ساخت، پروژهٔ تازه است.

  3. ۳

    محدودهٔ بک‌اند، پنل و API

    چند روز تا یک هفته

    موجودیت‌ها، نقش‌ها، و کارهایی که پنل باید بتواند. استور را همین‌جا یا داخل یا بیرون می‌نویسم تا کسی فکر نکند دکمهٔ انتشار رایگان به ساخت چسبیده است.

  4. ۴

    ساخت هسته

    اغلب یک تا سه ماه

    جریان اصلی، API و پنل حداقلی با هم جلو می‌روند. ابزار داخلی کوچک به یک ماه نزدیک‌تر است. محصول دو پلتفرمه اغلب به سه ماه می‌رسد. هر یکی دو هفته نسخهٔ قابل دست زدن داری.

  5. ۵

    حساب استور، فقط اگر در محدوده باشد

    جدا از ساخت، اغلب چند هفته رفت‌وبرگشت

    اگر انتشار خواسته باشی، حساب و کلید به نام تو است و بسته را برای بررسی می‌فرستیم. ممکن است رد شود، ناقص باشد، یا سیاست فروشگاه عوض شده باشد. زمان بررسی دست فروشگاه است. من قول تأیید نمی‌دهم.

  6. ۶

    تحویل ریپو و رفع اشکال همان محدوده

    حدود یک تا دو هفته

    دسترسی کد، نحوهٔ بالا آوردن محیط، و فهرست اشکال‌هایی که به همین نسخه مربوط است. قابلیت تازه داخل این بازه نیست.

محصول‌هایی که عمومی‌اند

کیس استودیویی با اسم مشتری نمی‌سازم. Infinite Monitor اپ دسکتاپ متن‌باز خودم است، برای مک و ویندوز و لینوکس، و صفحهٔ عمومی‌اش روی گیت‌هاب من است. npMax و FreezeRadar را هم خودم با React و Next.js ساخته‌ام. نقش من سازندهٔ این محصول‌هاست، نه نمونه‌کار یک قرارداد پنهان.

قبل از این‌که اپ را شروع کنیم

ساخت چقدر طول می‌کشد؟

ابزار مشخص با بک‌اند جمع‌وجور اغلب یک تا سه ماه بعد از قبول محدوده است. دو فروشگاه و پنل شلوغ کار را بلندتر می‌کند. تاریخ را بعد از انتخاب شکل محصول می‌نویسم.

ریپو، کلید امضا و حساب استور مال کیست؟

مال تو. سورس در سازمان خودت یا در گیت‌هاب من با دسترسی تو است. کلید امضا و حساب استور، اگر در کار باشد، به نام تو باز می‌شود.

از ایروان چطور محصول را جلو می‌بریم؟

محدوده کتبی است و نسخه را روی یک نشانی یا بستهٔ تست می‌بینی. فارسی حرف می‌زنیم. لازم نیست به ایروان یا تهران بیایی.

بعد از نسخهٔ اول چه کسی هوایش را دارد؟

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

فروشگاه حتماً تأیید می‌کند؟

نه. نه کافه‌بازار، نه مایکت، نه گوگل‌پلی و نه اپ‌استور. من بسته را تمیز و مطابق چیزی که خودشان نوشته‌اند می‌فرستم. قبول یا ردش تصمیم آن‌هاست. اگر کسی تأیید را تضمین کند، دارد چیزی را می‌فروشد که مال او نیست.

قیمت اپ از کجا درمی‌آید؟

از شکل محصول، از اندازهٔ بک‌اند و پنل، و از این‌که استور داخل محدوده هست یا نه. محدوده را کتبی می‌نویسیم، بعد عدد.

اگر جریان کار را می‌شناسی

در فرم صفحهٔ اصلی بنویس کاربر کیست، چه کاری را باید تمام کند، و سایت داری یا نه. لازم نیست فهرست صفحه بفرستی. اگر از همان چند خط معلوم شود اپ اضافه است، همان را می‌گویم.

محدوده را کتبی می‌نویسیم، بعد عدد.

فرستادن بریف کوتاه

اگر کنار اپ کار دیگری هم هست

سایت معرفی، سئو و نگهداری را داخل ساخت اپ پنهان نمی‌کنم. اگر به یکی از این‌ها رسیدی، صفحهٔ خودش را بخوان تا محدوده قاطی نشود.