Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Особенности программирования под iOS

Если вы никогда не использовали систему Cocoa или её предшественниц NeXTSTEP и OpenStep, то, возможно, среда Cocoa Touch, предназначенная для разработки приложений, покажется вам немного недружелюбной. Она существенно отличается от остальных обычных сред разработки приложений, используемых, например, для разработки приложений для платформы .NET или на языке Java.

Не стоит беспокоиться о том, что на первых порах вам будет несколько неудобно. Просто покорпите над упражнениями, и всё встанет на свои места.

Если же вы уже писали программы с помощью среды разработки Cocoa или NeXTSTEP, то большая часть комплекта iOS SDK будет вам знакома. Очень многие классы, содержащиеся в этом пакете, остались неизменными ещё со времен версий для разработки программ под управлением операционной системы Mac OS X.

Однако даже те классы, которые подверглись изменениям, подчиняются тем же фундаментальным принципам, что были установлены в предыдущей версии. Тем не менее, между средами Cocoa и Cocoa Touch существует несколько различий, о которых вы должны помнить независимо от уровня подготовки.

Только одно активное приложение

В системе iOS в каждый момент времени быть активным и выводить информацию на экран может только одно приложение. Начиная с версии iOS 4 приложения иногда продолжают выполняться на фоне после того, как пользователь щёлкнет по кнопке Home, но даже это возможно лишь в редких случаях.

Когда приложение не является активным или выполняется в фоновом режиме, центральный процессор не обращает на него никакого внимания, что позволяет этому приложению оставлять открытые сетевые соединения и занимать другие ресурсы. Система iOS 4 сделала большой шаг вперёд, разрешив фоновый режим, но для того, чтобы ваше приложение в этой ситуация работало правильно, необходимо приложить определённые усилия.

Только одно окно

Операционные системы ноутбуков и настольных систем допускают параллельное выполнение программ, каждая из которых может открывать несколько окон и управлять ими. Однако система iOS 5 позволяет приложениям работать только с одним окном. Все взаимодействия с пользователем происходят только в этом окне, причём его размер фиксирован и совпадает с размером экрана.

Ограниченный доступ

Программы на компьютерах имеют доступ ко всем ресурсам, открытым для пользователя. Однако система iOS существенно ограничивает возможности приложений. Вы можете читать и записывать файлы только в той части файловой системы iOS, которая была создана для вашего приложения. Эта область называется «песочницей». Здесь ваше приложение может хранить документы, настройки и другие данные, которые необходимо запомнить.

Однако на этом ограничения не заканчиваются. Например, вы не имеете доступа к сетевым портам iOS с малыми номерами или не можете делать то, для чего требуются права администратора на настольном компьютере.

Ограниченное время отклика

Вследствие особенностей своего использования система iOS должна быть придирчивой, и того же самого она ожидает от вашего приложения. После запуска программы вы должны как можно быстрее (за несколько секунд) открыть приложение, загрузить настройки и данные, а также главное представление (main view) на экране.

В любой момент выполнения вашей программы она может быть прервана. Если пользователь щёлкнул по кнопке Home, система iOS откроет домашний экран, после чего программа должна быстро сохранить все данные и выйти.

Ограниченный размер экрана

Экран iPhone действительно прекрасен. Когда он впервые появился, он имел максимальное разрешение среди себе подобных.

Однако он невелик, поэтому в вашем распоряжении гораздо меньше места, чем на экранах современных компьютеров. Новейшие экраны Retina имеют экраны 640x960, а разрешение более старых устройств составляет 320x480. Экран iPad имеет разрешение 2048x1536, что довольно много.

Ограниченные ресурсы системы

У программистов, имеющих большой опыт работы, возможно, мелькнула мысль, что компьютер, имеющий 256 Мбайт оперативной памяти и 8 Гбайт памяти на жёстком диске, тоже ограничен в ресурсах, и это правда.

Разработку приложения для системы iOS, конечно, нельзя сравнить с попыткой написать сложное приложение для работы с электронными таблицам на компьютере с объёмом оперативной памяти, равным 48 Кбайт. Но учитывая графическую природу системы iOS и всё то, что она умеет, исчерпать память очень и очень легко.

Все устройства с системой iOS, доступные в настоящее время, имеют до 1 Гбайт оперативной памяти, и этот показатель со временем будет увеличиваться. Часть этой памяти используется для буфера экрана, а другая часть предназначена для системных процессов. Обычно для приложений пользователей остается не более половины оперативной памяти, а то и меньше.

Может показаться, что половина памяти — это не так уж и мало для такого небольшого компьютера, но существует ещё один фактор, влияющий на объём памяти.

Современные операционные системы компьютеров, наподобие Мах OS X, создают блоки памяти, которые не могут вместить в оперативу, и записывают их на диск в виде файлов подкачки. Файл подкачки позволяет приложениям продолжать выполнение, даже если они требуют больше памяти, чем доступно на компьютере.

Однако система iOS 5 не записывает содержание кратковременной памяти (например данные) в файл подкачки. В результате объём памяти, доступный для вашего приложения, ограничен объёмом свободной физической памяти на устройстве iOS.

Среда Cocoa Touch имеет встроенный механизм, позволяющий приложению узнавать, когда объём доступной памяти становится малым. Когда это происходит, ваше приложение должно освободить ненужную память, иначе могут возникнуть серьёзные неполадки в его работе.

Нет сборки мусора

Упомянутая выше среда Cocoa Touch использует язык Objective-C. Однако одна из его основных функциональных возможностей в системе iOS недоступна: среда Cocoa Touch не имеет механизма сборки мусора.

Интерфейс

Устройства, работающие под управлением системы iOS, не имеют клавиатуры и мыши. Это значит, что вы имеете совершенно новый способ взаимодействия с пользователем. К счастью, большинство таких взаимодействий адаптировано для вас. Например, если вы добавляете поле редактирования в ваше приложение, система iOS сама знает, что надо вывести на экран клавиатуру.

Автор: qsdk, специально для xBB.uz, 18.12.2013


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2013-12-18 04:15:43

Метки материала: разработка приложений, mac os, программирование, система ios, разработка программ, ios, особенности программирования, os

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.