طراحی اپلیکیشن
ساختن اپلیکیشن یک تصمیم فنی نیست، چند تصمیم پشت سر هم است: چه چیزی روی گوشی اجرا شود، چه چیزی روی سرور بماند، با کدام استک نوشته شود و آخرش از کدام در وارد گوشی کاربر شود. این مسیر همان تصمیم ها را به ترتیبی باز می کند که آخرش بتوانید بگویید اپلیکیشن شما به چه چیزی نیاز دارد و مهم تر از آن، به چه چیزی ندارد.
- ۸ درس
- رایگان، بدون ثبت نام
از ایده شما تا گوشی مشتری، و چهار چیزی که باید از پل رد شود
کسب و کار شما
اینجا معلوم می شود اپلیکیشن قرار است چه کاری را که امروز دستی انجام می شود بردارد.
گوشی مشتری
جایی که برنامه واقعا نصب می شود، و جایی که هر خطای شما را کاربر می بیند نه شما.
هیچ کدام از این چهار تا اختیاری نیست و ترتیبشان هم دلبخواه نیست. پروژه هایی که نصفه می مانند معمولا از سر دوم پل شروع کرده اند.
مسیر، قدم به قدم
درس ها به ترتیبی چیده شده اند که هر کدام روی قبلی می ایستد. از هر جایی هم می شود وارد شد.
- ۱اپلیکیشن چگونه کار می کنداپلیکیشن برنامه ای است که روی خود دستگاه نصب می شود، رابط و منطقش داخل همان دستگاه اجرا می شود، و برای هر داده تازه ای با یک سرور حرف می زند. بیشتر آن چیزی که کاربر «کند بودن اپلیکیشن» می نامد در همین گفتگو با سرور می گذرد، نه در کدی که روی گوشی است.مقدماتی
- ۲نیتیو یا کراس پلتفرمنیتیو یعنی برای هر سیستم عامل یک برنامه جدا با زبان خودش، و کراس پلتفرم یعنی یک کد پایه که روی هر دو اجرا می شود. برای اپلیکیشنی که کارش نمایش محتوا و گرفتن فرم است کراس پلتفرم معمولا انتخاب درست است، و پیشنهاد نیتیو در همان حالت گران فروشی است.مقدماتی
- ۳اصول طراحی رابط موبایلرابط موبایل با یک شست کار می کند، روی صفحه ای که کاربر اغلب ایستاده و حواسش پرت است، پس هر تصمیم طراحی باید از این دو محدودیت رد شود. چهار چیز آن را می سازند: دسترس شست، سلسله مراتب، بازخورد و ثبات؛ و فقط اولی و بخشی از دومی عدد دارند.مقدماتی
- ۴فلاتر یا ری اکت نیتیوتفاوت اصلی این دو یک چیز است: فلاتر رابط را خودش می کشد و ری اکت نیتیو ویوهای خود اندروید و iOS را صدا می زند. هر تفاوت دیگری که می شنوید، از زبان و اکوسیستم گرفته تا حس و حال اپ، نتیجه همین یک انتخاب معماری است.میانی
- ۵آموزش ساخت ربات تلگرامربات تلگرام یک برنامه است که روی سرور شما اجرا می شود و با یک توکن به آدرس api.telegram.org درخواست می فرستد؛ خود تلگرام هیچ کدی از شما اجرا نمی کند. ساختن ربات با BotFather چند دقیقه طول می کشد و کار واقعی از آنجا شروع می شود که تصمیم بگیرید پیام ها را چطور بگیرید و در گروه چه چیزی ببینید.مقدماتی
- ۶بک اند اپلیکیشن چیستبک اند اپلیکیشن همان بخشی از محصول است که روی گوشی کاربر نیست: یک ای پی آی که درخواست ها را می گیرد، یک پایگاه داده که اطلاعات در آن می ماند، و یک سرویس ورود که تصمیم می گیرد چه کسی اجازه دیدن چه چیزی را دارد. اپ روی گوشی تصمیم گیرنده نیست و فقط همان چیزی را نشان می دهد که بک اند اجازه داده، و به همین دلیل یک اپ کاملا سالم وقتی سرور جواب ندهد هیچ کاری نمی تواند بکند.مقدماتی
- ۷انتشار اپلیکیشن؛ از بازار تا گوگل پلیانتشار اپلیکیشن یعنی پنج کار پشت سر هم: ساختن نسخه انتشار، امضا کردن آن، ثبت در فروشگاه، گذراندن بررسی، و بعد انتشار برای کاربران. از این پنج تا، امضا آن مرحله ای است که اگر خراب شود دیگر قابل جبران نیست، چون بدون کلید امضا هیچ به روزرسانی تازه ای برای همان اپ پذیرفته نمی شود.میانی
- ۸ساخت اپلیکیشن با هوش مصنوعیهوش مصنوعی امروز صفحه های یک اپلیکیشن را واقعا سریع می سازد و همان صفحه ها کوچک ترین بخش پروژه اند؛ بقیه، یعنی دسترسی ها، پول، حالت های خطا و نگهداری، همان جایی است که خروجی مدل بدون بازبینی انسان به دردسر می خورد. راه درست عوض کردن ترتیب کار است: اول مشخصات به زبان ساده، بعد تولید کد، و آخر یک پاس امنیتی که خودتان می خوانید.میانی

ترتیب این هشت درس از یک قاعده ساده می آید: تا ندانید یک اپلیکیشن از چه لایه هایی ساخته شده، انتخاب فریمورک یک نظر است که کسی به شما داده و نمی توانید از خودتان دفاعش کنید. پس اول سراغ مسیر یک ضربه انگشت می رویم، بعد سراغ تصمیم نیتیو یا کراس پلتفرم، و تنها بعد از آن سراغ رابط و ربات و بک اند و انتشار.
یک چیز را باید همین اول بگوییم، چون خدمات اپلیکیشن هم می فروشیم: در فارسی بیشتر چیزی که درباره اپلیکیشن نوشته می شود یا تبلیغ یک فریمورک است یا فهرست ابزار. این مسیر هیچ کدام نیست. جایی که عددی هست یا از سند خود سازنده آمده یا از اندازه گیری خودمان روی همین سرور، و هر درس جایی را که توصیه اش دیگر جواب نمی دهد خودش می گوید. یک نکته ایرانی هم هست که بیشتر از فریمورک روی برنامه شما اثر می گذارد: راه رسیدن به گوشی کاربر اینجا با جای دیگر فرق دارد، و درس انتشار همین را باز می کند.
این مسیر روی برنامه نویسی و اینترنت و شبکه می نشیند، اما هیچ کدام پیش نیاز سه درس اول نیستند. چیزی که برای شروع لازم است یک گوشی و کمی کنجکاوی درباره کاری است که هر روز با آن می کنید. از درس چهارم به بعد فرض می کنیم مفاهیم پایه برنامه نویسی را دیده اید.
سوال هایی که واقعا پرسیده می شوند
برای شروع این مسیر باید برنامه نویسی بلد باشم؟
برای سه درس اول نه. آنها درباره فهمیدن اند و با یک گوشی و کمی دقت پیش می روند. از درس چهارم به بعد فرض می کنیم متغیر و شرط و تابع را دیده اید؛ اگر ندیده اید، پنج درس اول مسیر برنامه نویسی همان چیزی است که کم دارید.
اپلیکیشن بسازم یا سایت موبایلی کافی است؟
برای بیشتر کسب و کارهای کوچک، یک سایت سریع اول جواب می دهد و ارزان تر هم تمام می شود، چون کاربر برای دیدنش چیزی نصب نمی کند. اپلیکیشن وقتی ارزشش را دارد که کاربر قرار است بارها برگردد، یا شما به نوتیفیکیشن و کار آفلاین و سخت افزار گوشی نیاز دارید. درس اول همین مرز را با مثال باز می کند.
چرا در این مسیر نمی گویید کدام فریمورک بهترین است؟
چون جواب به تیم و بودجه و عمر پروژه شما بستگی دارد و نه به رتبه بندی کسی. جایی که انتخاب لازم است، درس می گوید هر گزینه چه چیزی می خرد و چه چیزی را می گیرد، و کدام سه واقعیت پروژه جواب را برعکس می کند. نام بردن کار ساده تری است و ظرف یک سال هم کهنه می شود.
این مسیر برای کسی نوشته شده که می خواهد خودش بفهمد اپلیکیشنش از چه ساخته می شود. اگر تصمیم را گرفته اید و می خواهید کسی این کار را انجام بدهد، شرح خدمات و موضع ما درباره نیتیو و کراس پلتفرم همان جاست؛ صفحه طراحی اپلیکیشن را ببینید