API визначає доступні об'єкти, класи, структури даних та протоколи. Apple створює фреймворки, які вже містять функції, які можливо реалізувати. Використання фреймворків економить час і зусилля, а також дає гарантію того, що код буде ефективним і безпечним. Системні фреймворки - єдиний спосіб отримати доступ до апаратної частини пристрою.
Шаблони проекту
Шаблон проекту вирішує проблему розробки стандартного програмного забезпечення. Шаблони - це абстрактні проекти, вони не є кодом. Коли використовуєте шаблон проекту, ви адаптуєте цей шаблон у відповідності зі своїми певними потребами. (рис 4)
Рис. 4 Шаблон проекту
Незалежно від того, який додаток створюється, необхідно знати базові проекти, використовувані під фреймворками. Розуміння цих проектів допоможе ефективніше використовувати фреймворки і писати програми, які буде легше змінювати, розширювати або ж використовувати повторно.
Проектування інтерфейсу користувача
Просто створити робоче додаток недостатньо. Користувачі очікують, що iOS додатки будуть інтерактивними, захоплюючими і інтуїтивно зрозумілими. Розробляючи кожну частину свого додатку, від обраних функцій до реакції на жести, ви повинні думати про користувача. (рис5)
Рис. 5 Інтерфейс користувача
Незважаючи на те, що багато нічого не знають про принципи проектування користувацьких інтерфейсів, все одно можна зрозуміти, коли додаток задовольняє вимогам, а коли ні.
Проект програми
Перш, ніж почати писати рядки коду, потрібно прийняти кілька критичних проектних рішень. Максимально можливо визначте цілі і функції свого додатку. Вибрати вигляд моделі даних, яка буде використовувати додаток. Визначиться зі стилем користувальницького інтерфейсу, наприклад, чи буде використовуватися ієрархія видів або ж це буде службове додаток. Чи буде воно універсальним, тобто, чи буде воно працювати на iPad, iPhone і iPodtouch? Такі проектні рішення допоможуть створити архітектуру програми. (ріс6)
Рис. 6 Проект програми
Але перш, ніж працювати над архітектурою додатки, ознайомтеся з фреймворками CocoaTouch. Адже додаток існує не сама по собі, воно залежить від створюваних за допомогою фреймворків об'єктів. Вивчіть об'єкти фреймворків, які реалізують базову структуру програми і які служать стандартними блоками.
Пошук інформації
При розробці додатків буде потрібен швидкий і легкий доступ до докладної технічної інформації. З Xcode ця інформація буде завжди під рукою поки, пишеться код.
Швидка довідка XCode виводить на екран коротку довідкову інформацію, дозволяючи не відриватися від роботи над файлом. Клікнувши по символу, об'єкту інтерфейсу або налаштуванні збірки проекту, щоб отримати більше інформації. Для того щоб отримати довідку про виконання спільних операцій поводите курсором по робочій області Xcode. Кожна стаття довідки пропонує покрокові інструкції і відео чи ілюстрацію із подальшими роз'ясненнями.
Оrganizer документів в Xcode містить різні керівництва з програмування, навчальні матеріали, ілюстровані приклади коду, керівництва користувача по інструментах розробника і посилання на посилання детальну інформацію про API фреймворками, - всі ці матеріали можна знайти в Бібліотеці розробника iOS. У Organizer можна знайти вбудовану документацію розробника Apple, доступну для пошуку та перегляду. Крім того, з Бібліотекою розробника iOS можна ознайомитися і в мережі.
.4.2 Xamarin
Xamarin - це фреймворк для кроссплатформенной розробки мобільних додатків (iOS, Android, WindowsPhone) з використанням мови C #. (рис 7)
Рис. 7фреймворк для кроссплатформенной розробки
Фреймворк складається з декількох основних частин:
Xamarin.IOS - бібліотека класів для C #, що надає розробнику доступ до iOS SDK;
Xamarin.Android - бібліотека класів для C #, що надає розробнику доступ до Android SDK;
Компілятори для iOS і Android;
IDE Xamarin Studio;
Плагін для Visual Studio.
Деякий час тому досить широку популярність здобули ряд фреймворків (наприклад Phone Gap), які пропонують розробку кроссплатформенних мобільних додатків на HTML5 з використанням JavaScript. Ідея полягає в тому, що додаток розробляється як звичайний сайт для мобільних пристроїв з використанням соответствующіхбібліотек, наприклад, JqueryMobile. Потім все це упаковується в яки...