• چگونه اپلیکیشن خود را برای iOS بسازیم. ایجاد برنامه های iOS - توسعه برای مبتدیان

    خوب، وقت آن رسیده است که اولین برنامه خود را برای آیفون خود بنویسیم. اگر هنوز XCode + iPhone SDK را نصب نکرده اید، باید آن را نصب کنید. بنابراین، ما XCode را نصب و پیکربندی کرده ایم، آیا شروع کنیم؟

    ابتدا بیایید ساده ترین چیزها را یاد بگیریم. بیایید یک برنامه ایجاد کنیم که در آن یک فیلد متنی وجود داشته باشد که در آن نام خود را بنویسیم و یک دکمه که با کلیک روی آن نام ما در تبریک نوشته می شود. اولین برنامه ما به این صورت خواهد بود:

    ما در حال ایجاد اولین و نه آخرین پروژه خود هستیم:

    بعد از ما پرسیده می شود که چه نوع برنامه ای ایجاد کنیم. در سمت چپ در پنل را انتخاب کنید سیستم عامل آیفون -> برنامهو در پنجره مرکزی نوع پروژه را انتخاب کنید برنامه مبتنی بر نمایش. بیایید اولین برنامه خود را صدا کنیم، بگوییم، First App

    در نتیجه، ما یک پروژه با یک کنترلر از قبل ایجاد شده ایجاد می کنیم (اولین پنجره برنامه ما)

    پنجره اصلی پروژه به شکل زیر است:

    Xcode اولین کنترلر را برای ما ایجاد کرد، این دو فایل به نام های FirstAppViewController.h و FirstAppViewController.m هستند.

    فایل FirstAppViewController.h به عنوان هدر عمل می کند (از این رو پسوند فایل .h از کلمه header) در آن متغیرها و روش هایی که در فایل اصلی FirstAppViewController.m استفاده خواهیم کرد را اعلام خواهیم کرد.

    و بنابراین، فایل FirstAppViewController.h را باز کنید و دو اشاره گر ایجاد کنید:

    IBOutlet UIlabel *نام کاربری;

    اولین متغیر، نام کاربری، یک برچسب متنی است که نام خود را در آن می نویسیم. nikField یک فیلد متنی است که از آنجا نام خود را می خوانیم.

    شما باید این را در یک بلوک بنویسید @interface firstAppViewController: UIViewController ( )

    همچنین روشی ایجاد خواهیم کرد که با کلیک روی دکمه آن را فراخوانی می کنیم تا خودمان را معرفی کنیم. بیایید متد را setNik صدا کنیم:

    - (IBAction)setNik؛

    در نتیجه، فایل FirstAppViewController.h ما باید به شکل زیر باشد:

    #وارد كردن @interface firstAppViewController: UIViewController ( IBOutlet UIlabel *نام کاربری; IBOutlet UITextField *nikField;) - (IBAction)setNik; @پایان

    حال به سراغ فایل FirstAppViewController.m می رویم

    بیایید متد setNik خود را در اینجا اضافه کنیم. باید بعد از خط بنویسید @implementation firstAppViewController

    - (IBAction)setNik( username.text = nikField.text; }

    در اینجا مشخص می کنیم که وقتی این متد اجرا می شود، متن از فیلد nikField در برچسب متن نام کاربری نوشته شود.

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

    - (باطل)dealloc ( ; ; ; )

    ما به سادگی تمام اشاره گرهایی را که در این قالب استفاده کرده ایم اضافه می کنیم:;

    اکنون فایل رابط FirstAppViewController.xib را باز کنید که در ویرایشگر رابط کاربری Interface Builder راه اندازی می شود.


    از کتابخانه کامپوننت، اجزای مورد نیاز خود را به داخل پنجره برنامه خود می کشیم و آنها را تا حد امکان راحت مرتب می کنیم. سپس، در پنجره کوچک، File’s Owner را انتخاب کنید و Command+2 را فشار دهید، که ما را به منوی بازرس اتصالات می برد. ما در آنجا لیستی از علائم خود را می بینیم که قبلاً یادداشت کرده ایم و در سمت راست آنها دایره های خالی وجود دارد. روی دایره خالی کنار نشانگر nikField کلیک کنید و بدون رها کردن، آن را به قسمت متن بکشید. وقتی نشانگر ماوس را به سمت آنها می‌بریم، به شکل مستطیل مشخص شده و رها می‌شود. بنابراین، ما این فیلد را به نشانگر nikField متصل کرده ایم. اکنون همین کار را با نشانگر نام کاربری انجام می دهیم و آن را به متنی می کشیم که می خواهیم نام مستعار خود را ببینیم (در تصویر من این متن %username%) است. کمی پایین تر روش setNik خود را می بینیم و آن را با دکمه خود مرتبط می کنیم. اما هنگامی که آن را به دکمه منتقل می کنید و آن را رها می کنید، یک منوی زمینه ظاهر می شود که از آن گزینه Touch Up Inside را انتخاب کنید. یعنی زمانی که دکمه را فشار داده و رها می کنیم این روش کار می کند. همون چیزی که نیاز داریم :)

    خوب، ذخیره کنید، به Xcode برگردید و روی Build & Run کلیک کنید. هورا، اولین برنامه ما راه اندازی شد :) در قسمت متن کلیک کنید، صفحه کلید ظاهر می شود، نام را بنویسید. اما برنامه ما هنوز یک لمس کوچک ندارد. این برای حذف صفحه کلید با فشار دادن دکمه Done پس از اتمام وارد کردن نام خود است.

    برای انجام این کار، اجازه دهید دوباره طراح رابط را روشن کرده و روی دکمه خود کلیک کنید. Command+1 را فشار دهید و بلوک Text Input Traits را در آنجا پیدا کنید. این چندین لیست کشویی دارد، اما ما فقط به لیست پایین علاقه داریم: کلید بازگشت. از لیست گزینه Done را انتخاب کنید و در پایین بلوک علامتی را در کنار Auto-enable Return Key قرار دهید. سپس به Command+2 Connections Inspector می رویم و کلمه را در آنجا می بینیم نماینده. روی لیوان کنار آن کلیک کنید و آن را به بلوک File’s Owner بکشید

    اکنون به فایل خود FirstAppViewController.m برمی گردیم پس از متد setNik، کد زیر را اضافه می کنیم:

    - (BOOL)textFieldShouldReturn:(UITextField *)theTextField ( ; بازگشت بله؛ )

    ذخیره می کنیم و سعی می کنیم اجرا کنیم (می توانید از ترکیب Command+R استفاده کنید) سعی می کنیم نام خود را در قسمت متن بنویسیم. هنگام نوشتن، دکمه Done ظاهر می شود؛ با کلیک بر روی آن صفحه کلید بسته می شود. حالا روی دکمه خود کلیک می کنیم و voila، برنامه به ما سلام می کند :)

    به نظر یک چیز کوچک است، فقط فکر کنید آنها چنین چیز کوچکی نوشته اند. و زمانی که من سال ها پیش دلفی را یاد می گرفتم، یک نمونه از این قبیل را یاد گرفته بودم، به طوری که وقتی دکمه ای را فشار می دهید چیزی روی صفحه نوشته می شد، قبلاً اسباب بازی های مختلفی می ساختم. یکی از اولین بازی های مرورگر، Fight Club را به خاطر دارید؟ بنابراین من کاری مشابه برای سرگرمی انجام دادم و همه چیز دقیقاً بر اساس همان اصل بود که ما انجام دادیم. پس بازی کنید و آزمایش کنید!

    این یک پیوند به بایگانی پروژه است. می توانید آن را دانلود کنید، آن را روشن کنید و ببینید آیا برای کسی جواب نداده است یا خیر. خوب، اگر سوالی دارید، در نظرات بنویسید.

    همه چیز از آنجا شروع شد که به اطرافم نگاه کردم و چون ماشین رویاهایم را ندیدم تصمیم گرفتم خودم آن را طراحی کنم
    فردیناند پورشه

    سلام هابر می خواهم به شما بگویم که چگونه اولین برنامه iOS خود را ایجاد کردم و چه چیزی از آن بیرون آمد.

    اندیشه

    ایده برنامه به طور طبیعی به وجود آمد: چیزی را ایجاد کنید که از آن استفاده کنید. من همیشه یادداشت می نویسم. از این گذشته، هر فرد پرمشغله ای مجموعه خاصی از حقایق را دارد که در طول روز دریافت می کند و ارزش به خاطر سپردن را دارد. و از آنجایی که همه فراموش می کنند (و این طبیعی است!)، هیچ راه حلی بهتر از نوشتن آن نیست. من همیشه هنگام کار با برنامه های یادداشت برداری ارائه شده در AppStore احساس ناراحتی می کردم. پیچیدگی بیش از حد در مدیریت، وجود دسته های غیر ضروری، انبوهی از اطلاعات اضافی - همه اینها مانع از انجام عملکرد اصلی برنامه می شود. به علاوه، بسیاری از این چیزها فقط زشت به نظر می رسند.

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

    عملکردی

    پس از فکر کردن به مفهوم، من عملکرد اصلی را نوشتم - مواردی که می خواهم در مدیریت روی آنها تمرکز کنم:

    عملکرد کاملا استاندارد برای این نوع برنامه، شما موافق خواهید بود. اما این فقط نوک کوه یخ است، شیطان در جزئیات است.

    ابزار

    قبل از نوشتن کد در Xcode، ظاهر برنامه را به طور کامل در ویرایشگر برداری Sketch بازسازی کردم. این برنامه برای ایجاد سریع طرح بندی عالی است. پلاگین های زیادی برای این برنامه در دسترس است، از جمله Sketch Preview - مشاهده artboard به طور مستقیم بر روی دستگاه از طریق برنامه Skala Preview. فقط باید برنامه های رایگان Skala Preview را در رایانه و دستگاه تلفن همراه خود دانلود کرده و افزونه را نصب کنید. پس از آن آرت بورد مورد نظر را انتخاب کرده، ترکیب Command+P را فشار دهید و در عرض یک ثانیه ظاهر اپلیکیشن به دستگاه منتقل می شود.

    علاوه بر این، این برنامه برای ایجاد اسکرین شات برای انتشار در AppStore بسیار راحت است. برای هر اندازه صفحه، مجموعه متفاوتی از تابلوهای هنری به همراه استفاده از سبک‌ها ایجاد شد؛ زمان صرف شده برای قالب‌بندی حداقل بود. اما در مورد انتشار کمی بعد.

    توسعه

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

    پس از ایجاد عملکرد اولیه (ایجاد، حذف، ویرایش یادداشت ها)، تصمیم گرفتم هر یک از این عملکردها را بهبود بخشم.

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

    تصمیم گرفتم انیمیشن های حذف و حرکت به بالا را خودم پیاده کنم و همراهی بصری را تا حد امکان به زندگی واقعی نزدیک کنم. چیزی اولویت بالاتری پیدا کرده است - انگشت خود را به سمت راست بکشید و یادداشت به بالای لیست حرکت می کند. برای حذف، انگشت خود را به سمت چپ بکشید و انیمیشن خطی نشان می‌دهد که برای تکمیل حذف چقدر باید کش رفتن را تمدید کنید. اگر به طور تصادفی آن را حذف کردید، فقط باید دستگاه را تکان دهید ("Shake") و یادداشت به جای اصلی خود باز خواهد گشت.

    به منظور برجسته کردن یادداشت، از LongTapGesture و سه رنگ اصلی برنامه - سفید، آبی و قرمز استفاده کردم که پالت رنگ اصلی را تشکیل می دادند.

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

    نامگذاری

    نام برنامه مهمترین قسمت در طول توسعه است؛ اولین چیزی است که کاربر در فروشگاه می بیند. اطلاعاتی در این مورد در Habré وجود دارد. تصمیم گرفتم به طور کامل به انتخاب نام نزدیک شوم: ابتدا لیستی از 1000 کلمه پرطرفدار در زبان انگلیسی را مرور کردم و انواع ترکیباتی را که برای نام یک برنامه یادداشت برداری تلفن همراه مناسب بود را یادداشت کردم. علاوه بر این، من می خواستم آن را در 8-10 کاراکتر نگه دارم. اما در عین حال، نمی خواستم نام SuperNotes یا NotesPlus و غیره را انتخاب کنم، چیز جدیدی می خواستم. من از ترکیب خوشم آمد یادداشت دیوانه، که به طور تصادفی در دیکشنری شهری با آن برخورد کردم:
    یادداشت دیوانه - عالی، سرگرم کننده، غافلگیر کننده، غیر منتظره یا عالی

    شعار بلافاصله ظاهر شد: MadNotes - به علاقه خود توجه کنید. از آنجایی که من قبلاً یک پالت رنگ اصلی (سفید، آبی، قرمز) آماده کرده بودم، تصمیم گرفتم بلافاصله یک نماد مناسب بیابم. وضعیت لوگوها برای برنامه هایی از این نوع اسفناک است:

    از آنجایی که یادداشت ها روی کاغذ با مداد یا خودکار نوشته می شوند، تصمیم گرفتم این را روی نماد نمایش دهم - مدادی که با زاویه 45 درجه چرخیده است. اینطور معلوم شد:

    نتیجه

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


    این اپلیکیشن چندین ماه است که در اپ استور است، در این مدت من شش آپدیت انجام دادم و کد را در سوئیفت بازنویسی کردم. آخرین نسخه (1.2) همگام سازی را با iCloud اضافه کرده است، بنابراین یادداشت ها قبلاً به ابر منتقل شده اند.

    با تشکر از توجه شما.
    به اشتیاق خود توجه کنید

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

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

    1. ایده با کیفیت و ابزار مناسب

    در مورد هدف اصلی فکر کنید و سپس AppStore را برای برنامه های مشابه بررسی کنید. این ممکن است از چند ساعت تا چند روز طول بکشد.

    اگر برنامه نویس باتجربه ای نیستید، کتابخانه های مجازی مخصوصی برای شما وجود دارد (مثلا GameSalad) که به شما امکان می دهد بدون دانش برنامه نویسی ایده خلق کنید و مخصوص iOS طراحی شده اند.

    علاوه بر این، متوجه خواهید شد که توسعه Flash بسیار ساده تر از یادگیری Objective C (زبان استاندارد پلت فرم اپل) است. برای طرفداران برنامه های فلش، دستورالعمل های زیادی برای مبتدیان وجود دارد.

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

    2. ویژگی های خاص iOS و مفهوم متفکرانه

    موفق ترین سرگرمی های iOS در AppStore آنهایی هستند که به طور خاص برای آیفون طراحی شده اند و از ویژگی های آن (مثلا صفحه نمایش لمسی، شتاب سنج و غیره) استفاده می کنند. برای ایجاد یک بازی موفق یا چند بازی، به این فکر کنید که چگونه کنترل‌های منحصربه‌فرد آیفون می‌توانند همه تفاوت‌ها را در برنامه شما ایجاد کنند. روی اصالت شرط ببندید!

    علاوه بر بیان مکانیک اصلی (هنر خط، تطبیق رنگ و موتور)، گام مهم بعدی، ساختاربندی مفهوم در ذهن به یک طراحی پیچیده و در عین حال قابل دسترس است.

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

    3. جلوه های صوتی

    منابع زیادی (به عنوان مثال، freesound.org) وجود دارد که می توانید جلوه های صوتی را انتخاب کنید. این روند کاملا خسته کننده است و بهتر است نظر دیگران را بپرسید، زیرا می توانید به صورت ذهنی صداهای مزاحم را انتخاب کنید. برنامه های رایگانی مانند Audacity برای ویرایش صدا وجود دارد.

    4. دفترچه راهنما و برون سپاری رایگان

    Virus Strike اولین تلاش فرگوسن برای iOS بود؛ قبل از آن، او هرگز با Objective C مواجه نشده بود. درس های آنلاین و همچنین بسیاری از کتابچه های راهنمای مفید کمک زیادی به این کار کردند. هنگام ایجاد یک بازی، می توانید از منابع مشابه مانند developer.apple.com نیز استفاده کنید.


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

    5. ویدئو، استراتژی بازاریابی و توصیفات

    تست کاربر نیاز به ایجاد یک فیلم آموزشی را تأیید می کند که به شما کمک می کند تا به سرعت به بازی ارائه شده عادت کنید و درک کنید و همچنین به روابط عمومی برنامه کمک می کند. تماشای یک ویدیوی یک دقیقه ای برای روزنامه نگاران آسان تر از این است که بنشینند و بفهمند که چه چیزی مستقیماً در برنامه وجود دارد.

    مهم نیست که پروژه شما چقدر خوب است، بدون تبلیغات بعید است که کسی آن را پیدا کند. انتظار داشته باشید که زمان زیادی را صرف نوشتن نظرات برای وب سایت های تخصصی برای تبلیغ بازی خود کنید.

    یک بیانیه مطبوعاتی با کیفیت بالا تهیه کنید (شما می توانید این کار را خودتان انجام دهید یا یک کپی رایتر که موضوع را درک می کند استخدام کنید) و آن را در پورتال های محبوب قرار دهید. حتی اگر مجبور باشید برای انتشار هزینه کنید، چنین هزینه هایی به سرعت پرداخت می شود، زیرا خدمات بزرگ منبع اطلاعاتی برای صدها منبع دیگر هستند که مقالات را از آنجا (اغلب به طور کامل) دوباره چاپ می کنند. با این روش ساده تبلیغات خوبی خواهید داشت.

    حتی اگر به نظر می رسد که توسعه به پایان رسیده است، بدون بازخورد از افراد دیگر نمی توانید وضعیت واقعی را در مورد دسترسی به رابط کاربری و مکانیسم به طور کلی ارزیابی کنید. به بازخورد صادقانه دوستان خود تکیه نکنید و به آنها نگویید روی چه چیزی کلیک کنند و کجا کلیک کنند - مطمئن شوید که تشخیص آن برای آنها آسان است. روند را مشاهده کنید - به این ترتیب می توانید به سرعت تمام کاستی های احتمالی را شناسایی کنید.

    چگونه برای اندروید یا آیفون اپلیکیشن بسازیم؟- این سؤالات نه تنها توسط توسعه دهندگان وب، بلکه توسط صاحبان عادی وب سایت های مشاغل کوچک و وبلاگ نویسان به طور فزاینده ای مطرح می شود.

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

    بنابراین، هر چیزی که در بررسی برای توسعه برنامه مورد بحث قرار گرفته است را می توان تحت این شعار متحد کرد: ساده، سریع و بدون برنامه نویسی!

    رایگانیک سرویس وب که به شما امکان می دهد محتوای وب سایت خود را به یک برنامه اندروید تبدیل کنید و آن را از طریق Google Play توزیع کنید. علاوه بر این، اپلیکیشن های ایجاد شده را هم می توان به فروش رساند و هم در آنها تبلیغات قرار داد.
    شما می توانید تعداد نامحدودی برنامه اندروید را از سه نوع محتوا ایجاد کنید: یک وب سایت، یک صفحه html ساده و یک ویدیوی YouTube. برای ایجاد یک برنامه اندروید، AppsGeyser از یک جادوگر قالب ساده و بصری استفاده می کند.

    وب سایت های AppsGeyser: http://www.appsgeyser.com، http://www.appsgeyser.ru

    رایگانسرویس آنلاین برای ایجاد سریع برنامه های تلفن همراه. TheAppBuilder برنامه هایی را با استفاده از یک طراح و قالب های استاندارد ایجاد می کند - برای کسب و کار، رویدادها، آموزش، موسیقی، ورزش و غیره. برنامه های ایجاد شده رایگان و برای 5 دلار آمریکا هستند. هر ماه می توانید نمایش تبلیغات شخص ثالث را در برنامه ایجاد شده غیرفعال کنید. TheAppBuilder به شما اجازه می دهد تا برنامه های اندروید و ویندوز موبایل ایجاد کنید.

    وب سایت TheAppBuilder: http://www.theappbuilder.com

    یک سرویس آنلاین است که به کاربران این امکان را می دهد تا اپلیکیشن های موبایل خود را با چند کلیک در اینترنت ایجاد و منتشر کنند. پلت فرم Appsmakerstore برنامه های تلفن همراه را ایجاد می کند که توسط HTML5، iTunes، Android Market، Blackberry Marketplace، Windows Marketplace و Facebookبدون هیچ گونه مهارت عمیق فنی این کل است 1 برنامه برای 6 پلتفرم مختلف. Appsmakerstore به 23 زبان از جمله روسی و اوکراینی ارائه می شود.

    ویژگی Appsmakerstore این است که انتخابی از قالب های آماده برای صنایع خاص (به عنوان مثال، خدمات حقوقی، کلوپ های شبانه، رستوران ها و کافه ها، تجارت، سالن های زیبایی و غیره) را ارائه می دهد.

    • DIY - 9.78 دلار در ماه.
    • "ما یک برنامه برای شما ایجاد می کنیم" - 249 دلار
    • "فروشنده" قیمت ویژه ای است که باید به طور جداگانه در وب سایت یافت شود.

    همیشه در همه برنامه ها گنجانده شده است:

    • تغییرات نامحدود محتوا و به روز رسانی برنامه.
    • محتوای برنامه را در iTunes و Google Play بدون نیاز به انتشار مجدد به‌روزرسانی کنید.
    • تعداد نامحدودی اعلانات فشاری برای کاربران ارسال کنید.
    • به طور خودکار تمام به روز رسانی های سیستم را دریافت و استفاده کنید.
    • هاست ایمن در سرورهای ما
    وب سایت Appsmakerstore: http://appsmakerstore.com

    - طراح آنلاین پولی برنامه های تلفن همراه (iPad، Android، HTML5) برای مشاغل کوچک. ویژگی ها عبارتند از موقعیت جغرافیایی، دریافت و ارسال پیام، سبد خرید، اعلان ها، ادغام با شبکه های اجتماعی، ارسال اطلاعات در مورد منو، محدوده خدمات، رویدادهای آینده و غیره. قالب هایی برای رستوران ها، مشاوران املاک، سالن های ورزشی و غیره وجود دارد.

    این سرویس با طرح های زیر نشان داده می شود:

    • "سایت تلفن همراه" - 29 دلار در ماه.
    • "برنامه موبایل" - 59 دلار در ماه
    • « برچسب سفید شریک" ایجاد برنامه های کاربردی برای مشتریان شما - قیمت ویژه ای که باید به طور جداگانه در وب سایت پیدا شود.
    وب سایت Biznessapps: http://www.biznessapps.com

    5. AppGlobus

    AppGlobusیکی از طراحان برنامه های موبایل آنلاین روسی است که به کاربران امکان می دهد به طور مستقل برنامه خود را ایجاد و در اپ استور و گوگل پلی منتشر کنند.

    از طراحی جدید و قابلیت های Ionic Framework استفاده می کند که کیفیت توسعه را به میزان قابل توجهی بهبود می بخشد و امکان ایجاد برنامه های موبایل بر روی HTML5، iOS، Android را حتی بدون مهارت برنامه نویسی فراهم می کند.

    در حال حاضر AppGlobus به 8 زبان از جمله روسی ارائه می شود.

    AppGlobus.com بسته های زیر را ارائه می دهد:

    • STARTAP - 900 روبل در ماه.
      • برنامه های کاربردی: HTML5/Android، پنل مدیریت، فروشگاه، بدون محدودیت در Push، بدون محدودیت در نصب، بدون تبلیغات.
    • پایه - 1500 روبل در ماه
      • برنامه های کاربردی برای اندروید و iOS، پنل مدیریت، فروشگاه، بدون محدودیت در Push، بدون محدودیت در نصب، بدون تبلیغات.
    • STUDIO - 2000 روبل در ماه
      • برنامه های کاربردی: Windows/Android/iOS، پنل مدیریت، فروشگاه، بدون محدودیت در Push، بدون محدودیت در نصب، بدون تبلیغات.
    • PRO - 45000 روبل / یک بار
      • برنامه های کاربردی: Windows/Android/iOS، توسعه سفارشی، ما خودمان آن را در اپ استور و گوگل پلی منتشر می کنیم، کد منبع را ارائه می دهیم
    وب سایت AppGlobus: http://appglobus.com/

    - یک سرویس آنلاین پولی برای ایجاد برنامه تلفن همراه خود برای استفاده تجاری یا شخصی. هیچ مهارت خاصی لازم نیست. برای مشاغل کوچک مانند فروشگاه های آنلاین بسیار مناسب است. تنها 5 دقیقه طول می کشد تا برنامه خود را ایجاد کنید - فقط باید ماژول های لازم و طراحی را انتخاب کنید. نسخه های انگلیسی و روسی وجود دارد.

    My-apps.com بسته های زیر را ارائه می دهد:

    • شروع - 599 روبل. /ماه
      • برنامه‌ها فقط برای اندروید، دسترسی به طراح، قالب‌ها و نمادهای رایگان برنامه، به‌روزرسانی محتوا هر ۴۸ ساعت، به‌روزرسانی منبع برنامه در فروشگاه‌ها حداکثر هر ۲ ماه یک بار.
    • سبک - 990 روبل. /ماه
      • برنامه‌های کاربردی برای iOS، دسترسی به طراح، قالب‌ها و نمادهای برنامه رایگان، اسکرین شات‌های اصلی برنامه، اعلان‌های فشاری - 1 در ماه، به‌روزرسانی محتوا هر 24 ساعت، به‌روزرسانی منبع برنامه در فروشگاه‌ها هر 2 ماه یکبار.
    • استاندارد - 2490 روبل. /ماه
      • برنامه های کاربردی برای اندروید و iOS، دسترسی به طراح، قالب ها و نمادهای برنامه رایگان، اسکرین شات های اصلی برنامه، پشتیبانی از اسکایپ، اعلان های فشاری - 10 عدد در ماه، به روز رسانی محتوا هر 12 ساعت، به روز رسانی منبع برنامه در فروشگاه ها یک بار در ماه.
    • کسب و کار - 9890 روبل. /ماه
      • برنامه های کاربردی برای اندروید و iOS، دسترسی به طراح، قالب ها و نمادهای برنامه رایگان، اسکرین شات های اصلی برنامه، پشتیبانی از اسکایپ و ایمیل، مدیریت شخصی، اعلان های Push - 50 در ماه، به روز رسانی محتوای فوری، به روز رسانی منبع برنامه در فروشگاه ها - بدون محدودیت.
    • VIP - 3999 روبل. /ماه + 150000 روبل. پرداخت نصب

      • برنامه های کاربردی برای اندروید و iOS، دسترسی به طراح، قالب ها و نمادهای برنامه رایگان، اسکرین شات های اصلی برنامه، پشتیبانی از اسکایپ و ایمیل، مدیریت شخصی، اعلان های فشاری - نامحدود، به روز رسانی محتوا - فورا، به روز رسانی منبع برنامه در فروشگاه ها - بدون محدودیت.
    وب سایت My-apps.com: http://my-apps.com

    بستری را فراهم می کند خودتان آن را انجام دهید” برای ایجاد آیفون/برنامه‌ها , که به مهارت برنامه نویسی نیز نیاز ندارد. این سرویس برای هر سازمان راه آسانی برای ایجاد برنامه های کاربردی موبایل (iPhone، iPad، Android) و مواد انتشاراتی فراهم می کند. مشتریان می توانند کاتالوگ، بروشور، بروشور، گزارش، رزومه و غیره خود را ایجاد کرده و با استفاده از راه حل SaaS تحویل دهند. نسخه های انگلیسی و روسی وجود دارد.

    iBuildApp در بسته های زیر ارائه می شود:

    • کسب و کار (2400 روبل در ماه) - 3000 نصب، نمایش نامحدود سایت تلفن همراه، بدون تبلیغات داخلی، انتشار برنامه در iTunes و Google Play.
    وب سایت iBuildApp: http://ibuildapp.com

    - خدمات آنلاین برای توسعه برنامه (iPhone، iPad، Android). به شما امکان می دهد یک برنامه کاربردی بر اساس یکی از چندین الگوی برنامه ایجاد کنید. عناصر رابط کاربری برنامه ایجاد شده را می توان با عملکردهایی مانند ارسال ایمیل، پیامک، ارسال به خدمات فیس بوک و توییتر مرتبط کرد.

    • توسعه دهنده - 33 دلار در ماه. (فقط 1 برنامه قابل ایجاد است)
    • حرفه ای - 79 دلار در ماه.
    • Premiun - 129 دلار در ماه.
    • شرکت، پروژه - قیمت باید جداگانه استعلام شود.

    همه بسته‌ها از پلتفرم‌های زیر پشتیبانی می‌کنند: IOS (iPhone/iPad) و Android (تلفن/تبلت)

    وب سایت Viziapps: http://www.viziapps.com

    - یک ویرایشگر آنلاین که به شما امکان می دهد برنامه های کاربردی برای iOS، Android و Windows Phone ایجاد کنید. استفاده از آن بسیار ساده است: می توانید برنامه خود را از قطعات آماده مونتاژ کنید. علیرغم این واقعیت که AppsBuilder سعی می کند برای کاربران بی تجربه ساده تر و قابل درک تر باشد، برخی از ویژگی ها را نیز برای برنامه نویسان اضافه می کند: به عنوان مثال، می توانید برنامه های ایجاد شده را با اسکریپت های جاوا خود تکمیل کنید.

    سه بسته پولی وجود دارد که شامل یک دوره آزمایشی رایگان 30 روزه است:

    • شروع (49 یورو در ماه) -1 برنامه.
    • معمولی (199 یورو در ماه) - حداکثر 5 برنامه.
    • مقیاس پذیر (از 249 یورو در ماه) - بیش از 5 برنامه.
    وب سایت AppsBuilder: http://www.apps-builder.com

    این دومین تجربه من در ایجاد یک اپلیکیشن است. من در مورد اولین مورد به طور مفصل صحبت کردم - آنجا در مورد جذب سرمایه گذاری، انتخاب توسعه دهندگان و غیره صحبت می کردیم. متأسفانه، اولین پنکیک توده بیرون آمد.

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

    تحصیلات

    در کل تصمیم گرفته شد و در ژانویه 2016 کار را شروع کردم. من یک متخصص کامپیوتر کاربردی هستم، اما در واقع، جدا از ابتدایی ترین مهارت ها در کار با پاسکال، چیزی از دانشگاه کم نکردم، آن هم پنج یا شش سال پیش. من همچنین تجربه کمی از کار با HTML و CSS در هنگام ایجاد وب سایت های ساده داشتم که البته کمک زیادی به ایجاد برنامه ها نکرد. بنابراین من از اصول اولیه شروع کردم. از پاسکال باستانی و تقریباً کاملاً فراموش شده. ویرایشگر "Pascal رایگان" http://freepascal.ru/ را دانلود کردم، یک کتاب درسی پیدا کردم و با برنامه های جمع و تفریق ساده شروع کردم. در کل حدود دو هفته کلاس دو تا سه ساعت در روز طول کشید تا حافظه ام تازه شود.

    مطالعه عمیق پاسکال نیاز به تمرین بیشتری داشت که برای آن کتاب مسائل پاسکال آبراهامیان با 1000 مسئله (PDF) را پیدا کردم.

    از آنجایی که می خواستم در اسرع وقت شروع به نوشتن برنامه های کاربردی کنم، بدون انتظار برای پایان مرحله اول آموزش، به موازات حل مسائل در پاسکال، طبق کتاب "زبان برنامه نویسی C" - برایان شروع به مطالعه C کردم. کرنیگان و دنیس ریچی (PDF). در اینجا به طور جداگانه می گویم که علیرغم اینکه این کتاب به زبان روسی نیز هست، من آن را به زبان اصلی مطالعه کردم، زیرا به طور کلی انگلیسی را کاملاً خوب می دانم و این به نظر من برای هر شخصی که درگیر برنامه نویسی است بسیار مهم است. . به عنوان یک قاعده، مواد آموزشی و مواد ساده در یک زبان برنامه نویسی خاص به زبان انگلیسی بسیار بیشتر از روسی وجود دارد. کار با AppStore، دانلود اپلیکیشن، شرایط استفاده و غیره، همه اینها نیز بیشتر به زبان انگلیسی است. بنابراین می توان گفت که زبان انگلیسی در سطح خواندن ادبیات فنی یک مهارت اجباری برای یک برنامه نویس است.

    من از اولین پروژه ام یک برنامه نویسی Mac برای C داشتم. من مشکلات C را در Xcode حل کردم. برای اینکه تفاوت نحو پاسکال و سی را بهتر بفهمم از همان کتاب مسئله آبراهامیان شروع به حل مسائل کردم اما در سی. بعد از دو هفته درس روزانه 4 تا 5 ساعته، توانستم حدود 300 مسئله را در پاسکال و نیمی از آن را در C حل کنم و همچنین حدود 100 صفحه از یک کتاب را در C بررسی کنم. در همان زمان، تصمیم گرفتم یک سرویس انگلیسی زبان را به فرآیند یادگیری متصل کنم - خانه درختی.

    این یک سرویس آموزشی است که در تسلط بر HTML و CSS به من کمک زیادی کرد. هزینه اشتراک از 25 دلار در ماه است. اما به نظر من این کار موجه است. این سرویس مطالب آموزشی در مورد انواع زبان های برنامه نویسی از جمله جاوا، سی شارپ، پایتون، سوئیفت و بسیاری دیگر ارائه می دهد. آموزش به صورت مرحله ای، از ویدئو تا ویدئو، با درج های مختلف کارهای عملی انجام می شود.

    همه ویدیوها بسیار بصری، جالب، دائما به روز می شوند و تمام نکات کلیدی را با جزئیات توضیح می دهند، خواه این ماهیت برنامه نویسی شی گرا باشد یا اصول کار در Xcode. من به طور طبیعی مواد آموزشی در C و ایجاد برنامه های iOS با Objective-C را انتخاب کردم.

    بنابراین، آموزش من شبیه تلاشی برای پیشروی در همه جبهه ها به یکباره بود. حل مسائل را در پاسکال تمرین کردم تا، همانطور که به نظرم می رسید، پایه های برنامه نویسی را تا حد ممکن محکم کنم، C را برای درک بهتر Objective-C مطالعه کردم، و در نهایت Objective-C را مطالعه کردم تا شروع به نوشتن برای IOS کنم. در اسرع وقت.

    بنابراین یک ماه دیگر از کلاس های روزانه به طور متوسط ​​4-5 ساعت در روز گذشت. از یک طرف، ممکن است منطقی تر باشد که قدم به قدم حرکت کنیم، مثلاً ابتدا با پاسکال، سپس C و سپس به Objective-C برویم، اما در واقع، این تلاش برای پوشش دادن همه چیز بود که در نهایت به من اجازه داد. در زمان زیادی صرفه جویی کنید، زیرا من به طور فزاینده ای شروع کردم به توجه نه به حل مشکلات در پاسکال و C، بلکه به طور مستقیم به ایجاد برنامه های کاربردی از برنامه آموزشی خانه درختی. این بسیار جالب‌تر بود و اساساً نشان می‌داد که وظایف کتاب مشکل آبراهامیان و همچنین مطالب کرنیگان و کتاب ریچی در C برای درک اصول اولیه خوب هستند، اما به طور کلی با روند واقعی ایجاد برنامه‌ها بسیار فاصله دارند. در نتیجه، در پایان ماه سوم تمرین، تمرین پاسکال و سی را به طور کامل متوقف کردم. در عوض، من روی مواد عملی Tree House در Objective-C و ساخت برنامه‌های کاربردی در Xcode تمرکز کردم.

    ساخت بازی. اندیشه

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

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

    پس از تایید این مفهوم و توضیح مختصر آن، لازم بود درک کنیم که بازی ها چگونه ساخته شده اند. پس از جستجوی یک ویدیو، بلافاصله به یکی از آنها برخورد کردم که نشان می داد چگونه می توان یک بازی مانند Flappy Bird ایجاد کرد ( یوتیوبیک سوال مهم در اینجا مطرح شد. بر کسی پوشیده نیست که اپل در سال 2014 یک زبان برنامه نویسی جدید منتشر کرد - سوئیفت، که چیزهای خوب زیادی را از Objective-C جذب کرد و ادامه منطقی آن شد.

    ویدیویی که با آن برخورد کردم در مورد ایجاد Flappy Bird به طور خاص در Swift صحبت می کرد، اما نتوانستم ویدیویی را پیدا کنم که برای Objective-C به همان اندازه ساده و قابل درک باشد. بدون تردید، تصمیم گرفتم که آینده هنوز به سویفت تعلق دارد و بهتر است از آن عقب نماندم، به خصوص که همان خانه درختی مطالب بسیار خوبی برای مطالعه آن داشت. در نتیجه، برای یادگیری سوئیفت، درک نحو و تفاوت‌های اصلی با Objective-C استراحت کردم. یک هفته دیگر از کلاس ها به طور متوسط ​​8 ساعت در روز گذشت. من آموزش های اولیه سوئیفت را مرور کردم و به این نتیجه رسیدم که در نهایت آماده هستم تا ویدیوی ساخت Flappy Bird را ببینم. در عرض چند روز توانستم این را ایجاد کنم:

    با به دست آوردن درک کلی از کار با موتور کیت Sprite، در نهایت توانستم به کار بر روی برنامه خود ادامه دهم.

    مفهوم

    در ابتدا، من برنامه ریزی کردم که فقط ساده ترین کارها را انجام دهم - یک پس زمینه 3 سطحی اسکرول، یک قهرمان متحرک، سلاح ها، توانایی پرش و توانایی تیراندازی. این امر ضروری بود زیرا جدا از کلی‌ترین ایده‌ها در مورد کار با کیت اسپریت، تجربه‌ای نداشتم، باید با چیز بسیار ساده شروع می‌کردم. نحوه ثبت کلیک ها و انجام پرش های قهرمان، نحوه اسکرول پس زمینه، نحوه ایجاد گلوله در لحظه تیراندازی و غیره. ده ها یا حتی صدها مورد از این سوالات وجود داشت. و راه حل برای همه همیشه یکسان بوده است - گوگل. خوشبختانه تعداد زیادی مطالب مختلف در اینترنت (متاسفانه بیشتر به زبان انگلیسی) در مورد ساخت بازی در سوئیفت وجود دارد که نمونه هایی از حل سوالات مختلفی که برای من ایجاد شده است را ارائه می دهد. سرویس پرسش/پاسخ Stack Overflow نیز کمک عظیم و ارزشمندی ارائه می دهد.

    فکر می کنم با کمک او توانستم 70 درصد از تمام سوالاتی را که داشتم حل کنم. من همچنین به اسناد اپل مراجعه کردم، اما به ندرت. شاید در 10٪ موارد حداکثر، و سپس زمانی که هیچ گزینه دیگری وجود نداشت.

    بعد از یک هفته شلوغ دیگر، که در طی آن تقریباً تمام وقت خود را به برنامه نویسی اختصاص دادم - 8-10 ساعت در روز، توانستم این را ایجاد کنم:

    می توانست پاهایش را تکان دهد (این انیمیشن را خودم در فتوشاپ کشیدم)، بپرد و از یک شاتگان با صدایی مشخص شلیک کند، در حالی که در همان زمان پس زمینه در پس زمینه اسکرول می شد. این شروع بود)

    نمونه اولیه

    این طرح به من اجازه داد تا چیزهای زیادی در مورد مکانیزم بازی آینده ام بفهمم و با اطمینان از درستی مفهوم، تصمیم گرفتم به عنوان مرحله بعدی دشمنانی را اضافه کنم که می توانند تیراندازی کنند و همچنین طراحی معمولی داشته باشند. در ابتدا قصد داشتم تمام طراحی ها (پس زمینه، انیمیشن های قهرمان و دشمن، آیتم ها و غیره) را به یک فریلنسر سفارش دهم، زیرا این تنها کاری است که خودم نمی توانم انجام دهم. اما پس از آن به یاد وب سایت Envato Market افتادم: http://market.envato.com/، جایی که قبلاً موسیقی، قالب های وب سایت، ارائه ها و غیره را خریداری کرده بودم.

    علاوه بر آنچه در سایت ذکر شده است، مجموعه زیادی از انواع انیمیشن ها، بافت ها، صداها و موارد دیگر وجود دارد که هنگام ایجاد برنامه ها بسیار ضروری هستند. قیمت ها هم به نظر من خیلی مناسبه. به عنوان مثال مجموعه انیمیشن های شخصیت اصلی که من انتخاب کردم، علاوه بر پاداش در قالب اشیاء مختلف (سکه، الماس و ...) شامل 8 انیمیشن از جمله تیراندازی، دویدن، پریدن، مردن و ... می باشد.

    من این مجموعه را به قیمت 7 دلار خریدم. تنها نکته این است که کالاهای خریداری شده از آنها مشمول مجوزهای مختلفی می باشد. به عنوان مثال، برخی استفاده از یک محصول را فقط در یک محصول برای توزیع رایگان نامحدود مجاز می‌دانند، برخی دیگر فروش مجدد آن را به اشخاص ثالثی که هدفشان همان توزیع رایگان نامحدود است، اجازه می‌دهند، برخی دیگر، مانند موسیقی، به عنوان مثال، اجازه توزیع را فقط به یک نفر می‌دهند. تعداد محدود شنونده و غیره هزینه این مجوزها متفاوت است و اغلب می تواند 4-5 برابر متفاوت باشد.

    اما از آنجایی که قرار نبود قهرمان را به عنوان یک محصول جداگانه بفروشم، مجوز توزیع رایگان نامحدود آن برای من کاملاً کافی بود.

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

    این نتیجه کار من در فتوشاپ است که از چند دوجین شی مختلف ایجاد شده است - حصار، آسفالت، سوراخ، انبوه زباله و غیره. به طور کلی، چند روز طول کشید تا ایجاد شود. متعاقباً، حدود 10 بار به Envato نگاه کردم و هر بار چیز دیگری را که نیاز داشتم خریداری کردم.

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

    من یک سطح تمام شده با 5 نوع سلاح، کیت کمک های اولیه، اشیاء، دشمنان و موارد دیگر داشتم. بعد تصمیم گرفتم بین دوستانم تست بزنم و طوفان فکری کنم تا بفهمم چه چیزی کم است. تصحیحات و اضافات زیادی صورت گرفته است. به قدری که طبق برآوردهایم، مطمئناً شش ماه دیگر روی بازی کار می کردم. چند روزی به همه چیز فکر کردم و در نهایت لیستی از آنچه واقعاً مورد نیاز بود به دست آوردم، همه چیزهای دیگر را خط زدم و تصمیم گرفتم از روشی از صنعت فضایی استفاده کنم که یک بار در مورد آن شنیده بودم. نکته این است که از یک نقطه خاص، قبل از پرتاب، انجام هرگونه تغییر و اصلاح در موشک ممنوع بود. در غیر این صورت، می توان آن را برای همیشه بهبود بخشید.

    نهایی شدن بازی

    بعد بحث طراحی دشمن مطرح شد. من در کل 6 نوع از آنها دارم - 5 دشمن ساده و یک رئیس + یک شهروند صادق. من قصد داشتم دستور بدهم که همه این اسپرایت ها کشیده شوند، زیرا می خواستم شخصیت ها واقعی تر باشند. من به Freelance.Ru رفتم و آگهی ساخت 5 کاراکتر با 18 انیمیشن (8-25 فریم) برای هر کدام ارسال کردم. انیمیشن های زیادی وجود داشت، زیرا علاوه بر دویدن، تیراندازی، دستگیر شدن، ایستادن و... انیمیشن های مرگ از هر نوع اسلحه، اسلوموشن یا غیر اسلوموشن نیز وجود داشت. ارزان ترین قیمت از فریلنسر معتبر که به من نقل شد حدود 40 هزار روبل و 1 ماه کار بود. برای من کمی گران به نظر می رسید، بنابراین دوباره به Envato روی آوردم. خوشبختانه مجموعه ای از اسپرایت های مختلف از یک طراح به تازگی در سایت آپلود شده بود.

    Sprites از مجموعه او به همراه مجموعه ای از انیمیشن ها به طور متوسط ​​15 دلار قیمت دارند. مهمترین چیز این است که آرشیو با sprite حاوی فایل های برنامه Spriter است.

    با باز کردن Sprite در این برنامه و درک کمی آن (یادگیری آن بسیار آسان است)، می توانید با استوری بوردهای مختلف، هر انیمیشنی را برای شخصیت های خود بسازید. به طور کلی، من در مورد آن فکر کردم و تمام شخصیت های Envato را خریدم، پس از آن خودم آن را پردازش کردم، انیمیشن های لازم را اضافه کردم و آن را در برنامه آپلود کردم. باید گفت که کار با بافت ها به شدت خسته کننده و یکنواخت است. من باید انیمیشن ایجاد شده را از برنامه Spriter دانلود کنم، سپس آن را در فتوشاپ پردازش کنم (بسط، تنظیم ابعاد)، سپس فشرده سازی، تغییر نام، ایجاد تصاویر 1x، 2x، 3x. احتمالاً حداقل یک ماه طول کشید تا تمام انیمیشن ها را پردازش کنم. یک ماه کامل کار یکنواخت و یکنواخت، خوشبختانه توانستم یک دستیار را درگیر این کار کنم. اما کل فرآیند را فهمیدم، انیمیشن‌هایی را که می‌خواستم برای خودم ساختم و هر چند بار که لازم بود دوباره آنها را انجام دادم.

    به موازات کار بر روی بافت ها، من به توسعه بازی مرحله به مرحله ادامه دادم. بعد از دو ماه کار مداوم، بالاخره نور را در انتهای تونل دیدم. اما متأسفانه معلوم شد که من مجبور شدم تقریباً دو ماه کار را متوقف کنم، زیرا چیزهای دیگر به اضافه تابستان انباشته شد و به طور کلی پروژه متوقف شد. بعداً در اوایل اکتبر به سر کار برگشتم. اگرچه امیدوار بودم که خیلی کم باقی مانده باشد، اما در واقع مشکلاتی در مقابل من ظاهر شد که به دلیل بی تجربگی حتی قبلاً به آنها مشکوک نبودم.

    اولاً، علیرغم این واقعیت که من بافت‌های png خود را با استفاده از این سرویس آنلاین فشرده کردم: http://compresspng.com/ru/، این منجر به مصرف کمتر RAM در حین اجرای برنامه نشد. وقت آن بود که بفهمم اندازه عکس با اندازه رم مورد نیاز آن برابری نمی کند.

    ثانیاً، من دنیای شگفت انگیز نشت حافظه، ابزارهای Xcode برای ردیابی آنها و تمام "لذت"های "چرخه مرجع قوی" را کشف کردم. بعد از اینکه بازیم را از طریق ابزارها اجرا کردم، حدود 3 و نیم هزار نشت کشف کردم.

    ثالثاً، متوجه شدم که وضوح استاندارد بافت کاراکتر 180x180 برای بازی من اساساً بسیار بالا است و می توانم به راحتی همه انیمیشن ها را با وضوح 117x117 بدون هیچ افت کیفیت بازسازی کنم. جالب است که در زمان ساخت انیمیشن ها نگران بودم که منابع را با وضوح 360x360 رها نکنم. از آنجایی که اندازه عکس 2x 180x180 بود، عکس 3x به نظر من باید 360x360 می بود، اما از روی ناآگاهی آنها را درست نکردم و همانطور که معلوم شد خدا را شکر، زیرا در نهایت آنها نبودند. t مورد نیاز است.

    چهارم اینکه بازی من وقتی همه انیمیشن ها و اشیاء اضافه شدند به طرز محسوسی کم شد. این کار به کار زیادی برای بهینه سازی و بارگذاری اولیه انیمیشن ها، صداها و موارد دیگر نیاز داشت.

    در نتیجه، مجبور شدم اطلس های انیمیشنی را که ساخته بودم (همانطور که معلوم شد، برای آخرین بار) به طور کامل دوباره انجام دهم تا مصرف رم را کاهش دهم. فشرده سازی و برش تمام تصاویر، کاهش آنها به طور متوسط ​​30٪. از تصاویر 3 برابری به عنوان غیر ضروری خودداری کنید و خود را تنها به 1x و 2x محدود کنید. کارهای زیادی روی بهینه سازی و از بین بردن نشت حافظه و غیره انجام دهید. بعلاوه، برای تکمیل خود گیم پلی به کار زیادی نیاز بود، زیرا در ابتدا همه چیز آماده به نظر می رسد و فقط باید نکات پایانی را اضافه کنید، اما اضافه کردن این موارد نیاز دارد. زمان زیاد. به طور کلی، این بیش از یک ماه طول کشید، اگرچه به طور متوسط ​​4-5 ساعت در روز کار بسیار فشرده نیست، زیرا فرصتی برای مشارکت کامل در پروژه وجود نداشت. و در اوایل نوامبر همه چیز کم و بیش آماده بود.

    سپس در اپ استور آپلود کنید. در اینجا، به لطف تجربه قبلی، هیچ سوالی وجود نداشت. در طول روز اسکرین شات گرفتم، توضیح ساده، اولین آیکونی که به ذهنم رسید (البته به محض اینکه آیکون آماده دارید، بهتر است آن را از طریق این سرویس اجرا کنید: https://makeappicon.com /، نماد خود را در آنجا آپلود می کنید و آن را در تمام اندازه ها و وضوح های مورد نیاز به شما می دهد)، و کلمات کلیدی (من آنها را با استفاده از سرویس https://sensortower.com/ انتخاب کردم، سایت می تواند اطلاعات مفیدی در مورد آن به شما بدهد. شما یا هر برنامه دیگری، اگرچه اشتراک ارزان نیست).

    و اکنون برنامه در AppStore در دسترس است. هورا، هورا، اما نه واقعا.

    خطاها، ترمزهای وحشتناک، تصاویر از دست رفته، تصادفات، و غیره. این چیزی است که هنگام آزمایش بر روی آیفون های مختلف با نسخه های مختلف IOS در انتظار من بود. بلافاصله مشخص شد که علیرغم اینکه بازی در IOS 9 به خوبی کار می کند، در iOS 10 با ترمزهای وحشتناکی کار می کند و هر از گاهی صدا همیشه ناپدید می شود. من از هدیه ای که 10 حاوی آن بود "خوشحال" بودم، اما جایی برای رفتن وجود نداشت و به جستجو و حذف خطاها ادامه دادم. یک بار دیگر، من مجبور شدم سیستم را برای قرار دادن تمام بافت ها در برنامه کاملاً دوباره انجام دهم، سیستم را برای پخش همه صداها کاملاً دوباره انجام دهم و بسیاری از باگ های اضافی را برطرف کنم. تبدیل ضروری کد از Swift 2.0 به Swift 2.3 هنگام کار با XCode به روز شده، تأثیر گرمی بر جای گذاشت. خلاصه، من یک بار دیگر بیش از یک ماه را صرف نهایی کردن همه چیز کردم و فقط در 13 دسامبر توانستم یک نسخه کم و بیش کار را آپلود کنم. اگرچه واضح است که این آخرین آپدیت نیست.