Создание приложения для iPhone можно описывать сотнями книг по программированию на C++ или Objective C. Это не инструкция, а пошаговый список действий, которые вам нужно будет предпринять, чтобы создать свое первое приложение для iOS.

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

2. Обязательно сделайте себе Apple ID. Учтите, если вы будете в будущем публиковать приложение от своего имени, а не от юридического лица, но в качестве разработчика будет ваше имя и фамилия. Можете пойти на хитрость и написать вместо них название компании, например: Pupkin Development, но никто вам не гарантирует, что спустя какое-то время не наступят последствия.

3. Регистрация в сообществе разработчиков. Для этого вам придется потратить 100$ (такова минимальная цена абонемента на год) и зарегистрировать аккаунт в Apple Developer Connection.

4. Установка SDK. Программный комплект разработчика (software development kit) позволяет разрабатывать непосредственно сами приложения для iPhone или iPad. В нем содержится стандартный набор для начала разработки. SDK включает в себя XCode и iPhone Simulator. Первое ПО служит для написания кода, а второе - для его тестирования в реальном времени. Программы запускаются из папки Applications. Если вы доверили разработку студии, то просто ждите и корректируйте их работу своими мастерскими советами.

5. Придумайте звучное название, которое одновременно содержало бы еще и ключевые слова. Не запрещено писать название на двух языках сразу, что увеличит вариации для будущего поиска вашего творения в iTunes

6. Теперь вам надо зарегистрироваться еще в iTunes Connect, через который будет идти непосредственное размещение приложения в App Store. Это займет считанные секунды так как будут использоваться данные с вашего профиля Apple ID.

7. Пришло время придумать описание приложения и сделать красочные скриншоты, от которых будет зависеть обратят ли пользователи App Store внимание на ваше детище. Часто в скриншоты добавляют еще и подписи, которые стимулируют к действию.

8. Приложение надо хорошенько тестировать прежде, чем отправлять на рецензию в Apple. Вы можете посмотреть, как работает ваша программа в iPhone Simulator из пакета SDK либо через приложение TestFlight .

9. Отправляйте приложение на утверждение. Проверка проводится вручную, потому ждать придется от 1 недели и до месяца (особенно если на носу какие-то праздники). Самое обидное, что если приложение завернут из-за какой-то помарки, которую вы исправите за минуту, то ожидать новой рецензии придется столько же.

10. Когда появится долгожданный зеленый свет от Apple все уже будет только в ваших руках. Определитесь с ценой (только помните, что внутренние покупки в приложении — это тот еще геморрой), рекламной кампанией и результатами, которых хотите добиться. Но продвижение в App Store — это уже тема для другой статьи.

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

Компания Apple на сегодняшний день считается одной из самых успешных среди производителей электронных устройств. Конструкторы iPhone приучили пользователей к ежегодным обновлениям яблочных девайсов. Каждый раз перед появлением очередного «умного яблочного творения» обыватели гадают, чем на этот раз удивит, порадует новинка.

Операционная система iOS 10, последней модели iPhone считается самой лучшей в мире. Соответственно создание программ для лучшего девайса, в тренде у молодёжи.

Для того чтобы сделать приложение подойдет Windows. Но если по каким то причинам или по привычке к другой, Windows отсутствует рекомендуем установить macOS (Хакинтош). Вы можете установить ее на VMware или VirtualBox. Клавиатура у них различна, некоторые значения отсутствуют на Хакинтоше, но в целом все не так уж сложно.

Конечно чтобы обучиться программированию к этому вопросу надо подойти серьёзно, в первую очередь из-за необходимых познаний в области математики и логики. Сегодня совсем не обязательно знать строение электронного устройства, но с основами механизма нужно быть знакомым. Программист iOS обязан знать преобразование систем счисления, продуктивность и функциональность приложений, чтобы уметь создавать пользующиеся спросом приложения. Необходимыми будут знания языка i-программирования. Если ранее вы уже занимались этим с другими системами, то данный опыт мало чем поможет. Apple имеют собственную экосистему. Понадобятся знания в Objective-C и Swift. Последний стал использоваться позднее, поэтому язык Objective применяется чаще. Но Swift усиленно внедряется производителями компании Apple. Старый софт пишется на старом языке, а соответственно новый на новом. Поэтому желательно знать и тот, и другой. Изучить их можно на некоторых сайтах, достаточно быстро.

Основание программирования это Xcode. На данной среде есть необходимые инструменты для разработки приложений. Они предназначены для создания программ для Mac, iPhone, Apple Watch и др. Xcode вмещает в себя инструменты для создания интерфейса и редактора кода вмещающего новейшие средства для работы с ним. Там же возможна диагностика приложений. Система поддерживает эмуляторы всех устройств, а последние версии можно дозагрузить. Не давно появилась обновленная версия для разработки — 8.0. Простые версии можно найти установить через App Store. Последняя версия позволяет просматривать «сырое» приложение на платформах гораздо быстрее и не открывая его. Для удобства, доступности наших описаний лучше обновить Xcode.

Разработка мобильных приложений iOS

iOS разработка возможна с помощью Xcode. Для этого платформу нужно скачать. Произвести установку можно через сервис best-soft.org

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

  • Итак, открываем приложение Xcode.
  • Появившееся приветствие игнорируете, заходите в пункт создания файла.
  • Формируете стиль.
  • Далее выбираем вкладку приложения.
  • В поле названия прописываем нужное.

Платформа Xcode проста и понятна для не опытных программистов. Следуя интуитивным подсказкам, появляющейся информации на платформе можно создать не простую игру или программу. Для этого не обязательно быть знатоком кодов.

Разработка под iOS, её особенности

  1. Разработка под iOS прежде всего требует четкого понимания того, что мы хотим создать, какой должна быть программа. Перед началом программирования визуализируйте будущую игру, программу, дневник в уме, «разложите по полочкам». Нарисуйте в голове принципы будущего приложения, их задачи. Для этого определитесь с некоторыми пунктами:
  2. Возрастные ограничения, то есть к категории какого возраста пользователей будущего «создания», вы его отнесете. Определите, будет это женским приложением, либо мужским, а может и универсальным.
  3. Нужно понять для чего вы задумали эту разработку. Ответьте на вопрос, это скорее повышение опыта, тренировка практических навыков в области программирования или имеется финансовый аспект данной работы?
  4. Важно чувство меры в наполнении страничек, пустые и переполненные приложения вряд ли кому будут интересны.
  5. Не допускайте опечаток и неточностей в кодах.
  6. Следите за уникальностью создаваемых приложений.
  7. Расширьте возможности использования создаваемой программы для разных операционных систем.


Создание приложения на конструкторе

Рассмотрим на примере одного из конструкторов с сайта apparchitect.com. В данном случае игру создать не возможно, но простое приложение легко. Сделать это с помощью сервиса apparchitect.com достаточно просто. Следуя подсказкам сайта и с помощью инструментов нужно сконструировать приложение.

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

Операционная система, которая называется Android, является сравнительно новой. В связи с этим можно сказать, что ее возможности не до конца изучены, да и не все пользователи ее «уважают». Но все же следует отметить, что скорость этой операционной системы дает возможность сохранить время и ресурсы. На мобильном устройстве, которое работает под управлением подобной оболочки, можно будет сделать практически все, что можно выполнить на привычном компьютере.

Программирование, которое доступно в операционной системе Android, способно дать достаточно большое количество полезных знаний. Овладеть базой системы довольно-таки несложно. Давайте рассмотрим основные этапы программирования и узнаем, как создать необходимое приложение для «Андроид».

Первый этап заключается в установке и настройке IDE для операционной системы. Это основное, что надо сделать пользователям, которые хотят постигнуть основы программирования через использование платформы Android. Необходимо сделать несколько простых шагов перед тем, как создать приложение для «Андроид».

Несколько простых действий

  1. Найти ту платформа, которая полностью отвечает вашим требованиям, и скачать ее. После того как программа будет скачана, выполняем ее установку. Следует отметить, что среда программирования не будет работать, если не установить Java.
  2. Надо скачать приложение Eclipse Classic, выбрав определенную платформу. Например, Windows 64-bit. Для более качественной работы программы в нее устанавливается плагин Android Development Tools. Для этого нужно запустить утилиту, открыть меню Help и нажать на пункте Install New Software. После этого откроется окно, в котором потребуется щелкнуть на кнопке Add. Затем появится еще одно окно, в котором в строке с именем надо будет прописать какое-либо название. В пункте Location потребуется указать ссылку на тот ресурс, на котором находится необходимый плагин. Когда окно будет закрыто, на экране появится надпись Developer Tools. Напротив установите галочку и щелкните по кнопке «Дальше». Когда откроется следующее окно, смело жмите «Дальше», не внося каких-либо изменений. После инсталляции плагина надо щелкнуть по кнопке Finish. Для того чтобы произошла активация, перезапустите программу.
  3. Загрузить программу Android SDK и в случае необходимости обновить на последнюю версию.

Следующий шаг на пути к созданию

Второй этап в поиске ответа на вопрос о том, как создать приложение для «Андроид», заключается в создании приложения, которое поможет осуществить программирование. На этом этапе потребуется выполнить несколько условий.

Как можно проверить работу своего приложения?

Вы поняли, как создать приложение для «Андроид» и добились этой цели? Теперь проверяем его. Для того чтобы протестировать созданное приложение, стоит воспользоваться виртуальным смартфоном под названием Android Virtual Device. Он поможет отобразить работу своего приложения в наглядной форме на разнообразных моделях мобильного устройства.

Использование программных средств для создания приложения

Какими приложениями можно воспользоваться еще, чтобы создать приложение для «Андроид» с нуля? На сегодняшний день существует огромное количество самых разных утилит, которые помогут добиться поставленной цели. Многие из них обладают простым, интуитивно понятным интерфейсом. Следует более подробно рассмотреть основные программы, которые пользуются наибольшей популярностью у пользователей, занимающихся разработкой приложений для своей операционной системы.

Просто надо обладать фантазией

Вас привлекает создание приложения для «Андроид», но вы думаете, что для этого необходимо хорошо знать языки программирования? Все не так страшно, как может показаться на первый взгляд.

Главное, что вам потребуется – умение собирать виртуальные конструкторы. За счет использования специализированных сервисов, которые будут описаны ниже, вы сможете самостоятельно пройти такой процесс, как создание приложения для «Андроид». При этом знание языков программирования не понадобится. Вам потребуется всего лишь его собрать, руководствуясь своей фантазией, потребностями и талантом.

Бесплатная программа, позволяющая спроектировать приложение

Программа Ibuildapp по праву считается отличным инструментом, который поможет создать интересные приложения для «Андроид». Для того чтобы начать работать в данной программе, не надо изучать языки программирования или читать специальную литературу в поисках каких-либо знаний. Сервис обладает русскоязычной версией, что значительно упрощает работу с подобным программным обеспечением. Кроме того, использовать его можно совершенно бесплатно. Для этого потребуется только выбрать соответствующий режим эксплуатации. За счет данной утилиты есть возможность создавать разнообразные интересные приложения для «Андроид» и публиковать их на соответствующем ресурсе под названием Google Play. Стоит отметить, что есть и платный режим, однако для начала лучше разобраться в бесплатной версии, а только потом переходить на платную.

Для разработки под Android, нужно не так много, во-первых это знания, во-вторых софт. В первых двух пунктах я описал тезисно, что нужно для разработки под Android, а также привел ссылки на полезные ресурсы. В оставшихся пунктах описано все тоже самое только подробнее. Надеюсь, я не упустил ничего важного, ведь по сути я начинаю программировать вместе с вами и могу чего-то не знать. Пишите в комментариях, делитесь опытом, конструктивная критика также приветствуется. Буду признателен за ссылки на эту статью, если она будет для вас полезной.

Что нужно знать разработчику Android

  1. Cинтаксис языка Java
  2. Принципы ООП
  3. Архитектуру приложения
  4. Неплохо бы знать английский

Программное обеспечение для разработки

  1. Среда разработки Android Studio
  2. Android SDK
  3. Эмулятор Android

Синтаксис Java и ООП

Очень круто, если вы знаете язык Java и знакомы с объектно-ориентированным программированием, никаких существенных трудностей у вас возникнуть не должно при разработке Android приложений. В случае если на Java вам программировать не доводилось, но есть опыт работы в других ООП языках, то это весьма полезно, поскольку принципы ООП в общем-то в них идентичны. Нужно разобраться лишь с синтаксисом и особенностями Java. Например, я программирую, в основном, на PHP, и с Java дел раньше не имел. На просторах интернета нашел довольно неплохой ресурс, который помог мне войти в курс дел по части Java в среде Eclipse. Этот сайт также будет полезен тем, кто только начинает изучать программирование.

Архитектура приложения Android

После установки рабочей среды Android Studio, можно будет увидеть архитектуру приложения, поскольку при создании проекта сразу будет создана рыба — приложение Hello World.

Как создать приложение для андроид: 10 пошаговых действий

Можно будет изучить где, что лежит, но скорее всего возникнет много вопросов, типа: «Что такое манифест?», «Что такое ресурсы?», «Что за активности?» и т.п. Очень подробно обо всем этом рассказано на сайте Александра Климова.

XML- eX tensible M arkup L anguage

В приложениях под Android XML используется для создания представлений, т.е. для организации пользовательского интерфейса. Все, что вы видите на экранах своих смартфонов, запустив любое приложение — это все сделано с помощью XML. Android Studio умеет сама генерировать XML код, однако ее возможности не безграничны. Без понимания XML будет довольно сложно создавать пользовательские интерфейсы. Будет очень здорово, если вы знаете HTML, ведь XML использует те же принципы, в этом случае вам большого труда не составит разобраться в XML разметке.

Английский язык

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

Качаем Android Studio или Eclipse

Тут все просто качаем и ставим Android Studio.

Честно говоря, Eclipse я использовал, только для знакомства с языком Java, поэтому привыкнуть к нему не успел. Android Studio имеет все необходимые инструменты для работы с Java кодом, а также XML разметкой. Если вы хотите использовать Eclipse, то вот ссылка на него.

Android SDK

Android SDK можно скачать и подключить прямо в Android Studio.

Эмулятор Android

Эмулятор Android встроен в среду Android Studio, однако у меня с ним возникли существенные трудности. При разных настройках, которые я пробовал, мне так и не удалось наладить приемлемое быстродействие эмулятора. Для каждого теста приложения приходится ждать около 5 минут, пока загрузится Android. По всей видимости, эмулятор Genymotion должен сократить время загрузки Android, поэтому я хочу интегрировать его в Android Studio.

Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Что необходимо для разработки приложений для iOS?

Если Вы попали на наш сайт, вероятно Вы уже имеете какой-то опыт разработки. Более того, я на 90% уверен, что Ваш компьютер работает под управлением операционной системы Windows (да не прогневаются на меня пользователи Ubuntu). Вероятно также, что Вы задаетесь вопросом: «Что мне нужно, для того чтобы писать приложения дляiOS ?» В этой статье я отвечу на ваш вопрос. Приготовились? Если коротко, то Вам нужен Mac.

Вам нужен Mac?

Эти три слова обычно отбивают охоту заниматься разработкой под iOS у 90% Windows программистов. Люди недоумевают. «Как! — говорят они, — неужели нет XCode под Windows?!» Как бы нам того не хотелось, но Apple действительно не выпускает XCode под Windows, как и Microsoft не выпускает Visual Studio под MacOS. Мне известно три пути решения этой проблемы.

Путь первый, правильный — Купите себе Mac

Первый способ, пожалуй, самый простой и правильный. Вы просто покупаете себе Mac. Многих людей отпугивает высокая стоимость продукции Apple, но давайте разберемся, действительно ли Mac так дорог по сравнению с PC.

Допустим, Вы программист, который хочет разрабатывать программы под Windows. Сколько стоят Ваши инструменты разработки? Прежде всего, Вам понадобится компьютер. Стоимость пригодного для разработки ПК сегодня составляет порядка $1000 — $1500. Помимо самого ПК Вам понадобятся инструменты разработки. За профессиональную версию Visual Studio Вам придется заплатить $1200. Delphi Professional стоит сопоставимых денег. Жизнь показывает, что примерно раз в два года Вам приходится снова тратиться на покупку обновлений. Конечно, Вы можете сэкономить, воспользовавшись бесплатной Visual Studio Express Edition или найти Turbo Delphi, но это все не то. Это системы для школьников. Если Вы профессиональный разработчик, Вам нужны профессиональные средства разработки.

Как сделать приложение для Андроид самому

Это нормально, когда профессиональные инструменты стоят ощутимых денег. Неважно чем вы занимаетесь, программированием, музыкой, фотосъемкой. Если вы профессионал, вы используете оборудование, в цене которого фигурирует никак не меньше трех нулей. Таким образом, машина профессионального Windows разработчика стоит $2000-$2500.

Давайте теперь рассмотрим Mac OS X, для разработчика неплохим вариантом является приобретение ноутбукаMacBook Pro . В России этот компьютер стоит заоблачных денег, около $2800 (в конфигурации Intel i7-2720QM/RAM 4GB/HDD 750GB). Если заказывать MacBook на ebay, можно сэкономить около $1000. Если Вы по каким-то причинам не готовы тратить такие деньги на приобретение компьютера, можете обратить внимание наMac Mini — компьютер начального уровня от Apple (Intel i5-2430M/RAM 4Gb/HDD 500Gb). Его цена в России составляет примерно $1100 ($800 с доставкой в ebay). Mac Mini поставляется без монитора, мышки и клавиатуры, поэтому дополнительно Вам придется потратить $300 на эти «мелочи». Что касается инструментов разработки, они бесплатны, поэтому, единственное вложение — приобретение компьютера, который обойдется в $2800.

Таким образом, с точки зрения профессионального разработчика компьютер Mac не такая уж дорогая вещь, если же Вы сомневаетесь, то на попробовать, можете приобрести Mac Mini.

Путь второй — Виртуальная машина

Второй способ решения проблемы заключается в использовании виртуальной машины для эмуляции Mac-а. Наиболее распространенное сегодня решение — установка VMware и использование готовых сборок Mac OS X. Этим способом имеет смысл пользоваться, если у Вас достаточно мощный компьютер с большим объемом оперативной памяти и процессором Intel с поддержкой VT-x и SSE3. Процессор критичен для запуска системы, а объем памяти напрямую сказывается на скорости работы гостевой ОС. Если у Вас мало памяти, разработка превратится в пошаговую стратегию.

Путь третий — хакинтош

Это промежуточный, компромиссный вариант. Хакинтошем называется компьютер, совместимый по железу с продукцией Apple, на которой с помощью специальных методов установлена Mac OS X. В интернете существует много статей, посвященных созданию хакентошей. С точки зрения выигрыша в деньгах при построении сопоставимой с Mac-ами по качеству системы имеет смысл строить компьютер топовой конфигурации. На сегодняшний день это может быть компьютер следующей конфигурации: Intel Core i7-2600K, МП GIGABYTE P67A-D3-B3, RAM 16Gb, 2 SSD 128Gb, HDD 500 Gb, Video AMD Radeon HD 6870.

Установка SDK и XCode

Если вы приобрели новый Mac или собрали себе хакинтош, вероятно у Вас отсутствуют необходимые для разработки SDK и среда XCode. Скачать их можно на страницеhttp://developer.apple.com/xcode/ , нажав Login. Для входа у Вас попросят указать Apple ID. Если Вы еще не получали его, нажмите кнопку Join Now. Находим на открывшейся странице раздел «Register as an Apple Developer» и щелкаем по ссылке Learn more в его конце. Нажимаем кнопку Get Started и аккуратно заполняем поля. После этого Вы сможете абсолютно бесплатно скачать Xcode и iOS SDK.

Вам необходимо устройство для тестирования

Помимо компьютера, на котором Вы будете разрабатывать свои программы, Вам понадобится устройство для их тестирования (iPod Touch, iPhone или iPad). С моей точки зрения для целей тестирования разрабатываемого софта вполне подойдут устройства, приобретенные на вторичном рынке.

iOS Developer Program

Для iOS разработчиков есть еще одна статья расходов. Для установки и тестирования Вашего iOS приложения на реальном устройстве, Вы должны вступить в iOS Developer Program, членство в которой обойдется в $99 в год. После этого в вашем распоряжении окажется специальный файл — сертификат разработчика, который позволит проводить тестирование и публиковать программы в App Store. Процесс получения сертификата разработчика дело весьма не быстрое, требующее наличия кредитной карточки и отправки бумажных документов по почте.

Заключение

Как видите, разработка под iOS довольно затратное на начальном этапе дело. Если у Вас нет уверенности в своих силах, попробуйте начать программировать под виртуалкой.

Александр Ледков

Либо вы учите языки программирования и пишете мобильное приложение с нуля.

Либо можно воспользоваться конструкторами, упрощающими работу за счёт унификации ряда задач и интерфейсов.

Ниже — обзор таких решений.

TheAppBuilder

На первом месте в нашем списке конструкторов приложений для iOS и Android находиться TheAppBuilder. Давайте рассмотрим его поближе.

Данное программа является настольным сервисом на PC для создания различных приложений на платформы iOS и Android, но также имеет различные онлайн инструменты. Среди основных возможностей можно выделить:

  • Есть возможность создавать бесплатные приложения, которые будут иметь дополнительные функции после оплаты;
  • Можно создавать приложения не зная языков программирования;

Также здесь есть большой набор инструментов которые позволяют создавать оригинальный дизайн для любого приложения, к примеру оформление с элементами определенного бренда.

Appy Pie

Далее стоит рассмотреть весьма интересный сервис Appy Pie, который в отличии от TheAppBuilder является облачным. А это значит, что для его использования нет необходимости что либо скачивать или устанавливать.

Как создать свое приложение для «Андроид»: пошаговая инструкция и особенности

Создание приложений происходит очень просто, сначала создаться различные станицы и визуализация, а потом все они связываться между собой. Все это разработчик создает по типу конструктора.

Вторая особенность этого сервиса, это возможность создавать приложения, которые в своей основе имеет HTML5 код. Благодаря этому все программы созданные в Appy Pie работают не только на iOS и Android, но также на Windows Phone и BlackBerry.

Game Salad

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

Как и в сервисах которые мы рассмотрели выше, используя GameSalad не требуются знания каких-либо языков программирования, а разработка игр происходит по типу конструктора. Здесь присутствует два редактора, которые позволяют создавать модели персонажей и локации для игры.

Стоит заметить, что базовая версия GameSalad бесплатная, а ее полная версия, где есть побольше возможностей, стоит $299 в год.

Sencha Touch

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

Данный сервис является весьма запутанным и неопытный разработчик, который легко справился с Appy Pie или TheAppBuilder, сам может не осилить Sencha Touch. Но каждый, кто приобрел данный продукт, может обратиться в службу поддержки, где он найдет помощь в решении непростых вопросов.

Sencha Touch создает программы на основе HTML5, поэтому приложения которые здесь разработаны работают на многих операционных системах. Стоимость данной программы в самом дешевом варианте составляет $695 и в зависимости от возможностей которые предоставляет сервис вырастает до $18 895.

Bizness Apps

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

Также сервис позволяет создать функцию для отслеживания покупок и отбора лучших клиентов вашей компании. Созданное через Bizness Apps приложение может собирать нужную вам информацию и статистику с сети интернет.

Стоит отметить здесь еще один очень удобный аспект. Создавая приложения вы можете видеть на соседнем экране плоды своего труда. Это очень удобно особенно для начинающих и неопытных пользователей.

Стоимость данного сервиса составляет $59.

Для менеджеров и простых людей

Часто слышишь фразу:

А не сделать ли мне эдакое приложение под айфоны!?

Многие действительно думают, что создать iPhone-приложение с нуля - просто и быстро, а заработанные миллионы уже совсем не за горами. Давайте попробуем разобраться в этом деле с точки зрения человека, полного энергии, но не имеющего представления об экосистеме Apple для разработчиков.

Идея

Любой проект начинается с идеи, и уже исходя из этого может оказаться, что приложение сделать нельзя. Знакомые мне разработчики отказывались от работы по самым разным причинам:

  • Нельзя определять положение пользователя в помещении точнее пяти метров;
  • Не получится определить, находится ли человек в самолёте, над какой страной пролетает и момент пересечения границы государств;
  • Не существует возможности узнать номер телефона человека (если только пользователь сам не введёт его);
  • “Если это просто сайт, оформленный в приложение, то его завернут” (речь про ревью приложения командой App Store);

Помимо того, что сделать невозможно, существует целый ряд вещей, которые можно сделать, но с определёнными ограничениями. Однако мы с вами пойдём дальше.

Команда

Реализацию идеи можно заказать у компаний, которые сделали уже сотню приложений, а можно собрать собственную команду. Эксперты и так во всём разбираются, но и стоить их услуги будут соответственно. Поэтому мы рассмотрим вариант своей команды.

Я намеренно пропущу этап набора людей, потому что это относится к любому проекту, а не именно к iOS-разработке.

Трудно поверить, но писать приложения для iOS можно лишь на “маках”. Поэтому, каждому разработчику понадобится одно устройство на macOS и одно - на iOS (есть некоторые способы обойти это ограничение, но мы не будем их затрагивать). На маке он/она будет писать код, на айфоне - смотреть, что из этого получилось. Также можно надеяться, что iOS-разработчик придёт со своими девайсами (случай нередкий).

Самый недорогой вариант - купить каждому подержанный mac mini с клавиатурой, мышкой, монитором, набором кабелей и какой-нибудь iPhone 5s. Кстати, lightning-кабели с этого момента можете считать расходником: ломаются они крайне быстро.

Ко всему прочему, понадобится обзавестись “аккаунтом организации-разработчика Apple”, который стоит $99 в год и позволяет управлять доступами разработчиков, устройствами и так далее. Можно обойтись и индивидуальным аккаунтом, но стоит он столько же, а командных возможностей у него нет.

Интерфейс управления Apple Developer аккаунтом для организаций

Дизайн

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

Минимально от дизайнера понадобится следующее:

  • Иконка приложения в различных размерах (под различные типы экранов);
  • Картинки приложения (скриншоты) под каждый поддерживаемый экран и язык в случае, если на картинке есть текст (скриншоты могут сделать и разработчики, но зачастую на них добавляют и дополнительную инфографику);
  • Каждая картинка, которая используется в приложении, во всех нужных размерах (2–3x);

Если же вы хотите действительно качественное приложение, обязательно просите у дизайнера:

  • Рисунки всех экранов приложений (можно сделать исключение для похожих экранов);
  • Картинки для всех всплывающих сообщений, уведомлений;
  • Для всех элементов, где будет анимация - продумать и нарисовать её;
  • Карту переходов по приложению - user flow, её можно просить одной из первых - эта карта здорово помогает определить основные и дополнительные экраны, их содержимое;


Пример user flow от UBER для кнопки “Отвезите меня туда на UBER”

В максимальном случае берите дизайнера на постоянную основу и работайте с ним над созданием действительно удобного и приятного приложения, которым смогут пользоваться все (тонкий намёк на “доступность” - когда приложение подходит и для людей с ограниченными возможностями).

Тестирование

Казалось бы, все кусочки мозаики собраны, чего же не хватает? Мы забыли о людях, которые будут использовать Ваше приложение и находить в нём ошибки. Кстати, не надейтесь, что все разработчики сразу делают абсолютно правильный код. Ошибаться - это нормально, но ведь наше приложение должно быть идеальным. Поэтому перед тем, как оно попадет в магазин, его надо вдоль и поперёк исследовать.

Этими вопросами занимаются тестировщики, желательно, чтобы они обладали опытом работы именно с iOS-приложениями. Вопрос: как они будут это делать?

Естественно, здесь тоже понадобятся устройства. Хорошо, если вы найдёте всевозможные сочетания версий iOS, типов iPhone/iPad, разрешений экранов, которые планируете поддерживать. Но тут есть различные обходные пути и дополнительные возможности:

  • Можно поддерживать лишь несколько типов устройств сначала, а потом дорабатывать приложение под оставшиеся. Однако Apple не очень любит, когда приложение заблокировано только для одного вида iPhone, если для этого нет явных причин.
  • Протестировать часть функционала можно на Симуляторе (это программа под macOS, эмулирующая реальный iPhone). В нём можно задать и размер экрана, и тип устройства, но протестировать можно не всё: только на реальных устройствах получится проверить работу с различными датчиками (гироскоп, акселерометр, компас, …), TouchID, пуш-уведомлениями.
  • Обязательно протестируйте приложение в условиях плохого или отсутствующего соединения (конечно, если интернет реально используется);
  • Убедитесь, что приложение не сильно тратит батарейку;
  • В случае большого приложения оцените необходимость автоматического тестирования: пробегаться по сотне форм в каждой новой версии сложно и не очень рационально.

И не просите у разработчиков “инсталлятор” для приложения, которое они делают. В среде Apple невозможно скинуть файл на телефон, установить и запустить. Кто-то из разработчиков должен будет настроить доставку новых версий на все телефоны, где она нужна. Иначе нельзя.

Всё готово к запуску!

Итак, настаёт момент, когда приложение готово к тому, чтобы появиться в магазине App Store. Какие ещё неожиданности нас ждут?

Во-первых, приложению нужно имя. Если область приложения популярна, то все короткие и красивые имена могут уже быть заняты, так как App Store не допускает двух приложений с одинаковым названием. Остаётся придумать его в виде “XYZ - приложение для XYZ”. Это имя отображается лишь на самой странице приложения в AppStore и не обязательно должно совпадать с тем, что будет написано после установки под иконкой Вашего приложения у конкретного пользователя. На этот текст ограничение уникальности не распространяется.

С названием приложения есть одна небольшая хитрость. При создании в iTunes Connect приложения можно указать его название ещё до того, как версия для публикации реально готова. Таким образом, можно занять своё имя чуть-чуть заранее, хотя Apple уже не гарантирует длительность этого срока.

Во-вторых, нужно описание. От него и от названия будет во многом зависеть, насколько легко пользователь находит Ваше творение. Кстати, если поддерживается несколько языков, стоит сразу подумать, на которые из них будут переводиться описание и название.

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

В-четвёртых, Вам предстоит пройти ревью приложения от команды App Store. Ревью занимает около двух недель, и на нём всплывут все самые потаённые “фишки” Вашего приложения. Вот несколько советов для успешного прохождения этой проверки:

  • Если для доступа к основным функциям приложения необходимы логин/пароль и регистрация, обязательно снабдите команду App Store тестовыми данными для входа в приложение. Для покупок им понадобится тестовая кредитная карта. Если для нормальной работы нужны какие-то аксессуары - будьте готовы выслать в Apple и их тоже;
  • Если в приложении есть продажи чего-либо, должно быть также и пользовательское соглашение, содержащее фразу о том, что Apple ни при чём, а продавцом является Ваша компания. Этот текст должен быть доступен на всех языках, которые вы поддерживаете;
  • Если Вы продаёте виртуальные товары, скорее всего, надо будет использовать “покупки внутри приложений”;
  • Убедитесь, что не используется ни одного запрещённого API и что приложение в целом выполняет ровно ту функцию, которую обещает.

Если все пункты честно соблюдены, то примерно через две недели Ваше приложение появится в магазине.

Приложение в App Store

Мы Вас от души поздравляем. Ваше первое творение наконец-то попадёт в руки пользователей! Самое время оглянуться на пройденный путь и подумать о новых версиях Вашего приложения.

  1. Язык программирования. Какой нужно знать, чтобы писать приложения под iOS.
  2. Нужен ли дизайнер, разработчик интерфейсов или кто-то еще?
  3. Официальная часть: сертификат разработчика.
  4. Необходимое оборудование для комфортной разработки.
  5. Вечный вопрос: AndroidOS или iOS?
  6. Что нужно сделать сегодня?
  7. Создание нового проекта.
  8. Компиляция. Что это такое и зачем это нужно?
  9. Запуск на симуляторе.
  10. Выводим “Hello, world!”.
  11. Какие стандартные view есть в iOS.

Язык программирования. Какой нужно знать, чтобы писать приложения под iOS

Язык программирования (wikipedia.org) - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.

Пожалуй, вопрос, который я задал в названии этой части, довольно сложный. Я могу ответить на него просто – Objective-C. Если бы я на этом остановился, то я бы оказался неправ. Я бы сказал, что Objective-C – это необходимый минимум. Недавно проходила конференция от Яндекса – YET, на ней один из докладов был посвящен как раз тому, какие языки программирования должен знать разработчик. Ответ был вроде следующего: “Он должен изучать новые и новые языки программирования постоянно, не останавливаясь на каком-то конкретно” . Я с этим полностью согласен. Изучая новые языки программирования, вы изучаете новые подходы, методы программирования. Поэтому, чтобы писать приложения под iOS, нужно знать Objective-C, но также желательно знать и другие языки программирования, чтобы ваш код был хорошим, эффективным, гибким.

Если вы еще не программист, то я вам советую начать с языка Си. Скачайте книгу Кернигана и Ритчи (а лучше купите ) о языке Си, прочтите ее, проделайте все, что там вам предлагается, и уже после этого я посоветовал бы вам переходить к Objective-C. Если же вы уже представляете себе, как писать программы, готовы с легкостью ответить на вопросы – “Что такое типы данных? Что такое переменная? Что такое функция или метод? Что такое ссылка и указатель? Что такое “ include ”?” , вы знаете Си или C++ или же Java или C#, то вы готовы к написанию своего первого приложения под iOS.

Также вам необходимо знать основы ООП и шаблоны проектирования. Наверное, список можно и дальше продолжать, но вряд ли я готов претендовать на качественное объяснение данных понятий. Да, к сожалению, Objective-C не тот язык, с которого можно начать свой путь программиста. Но если вам нравится и хочется творить, то вам пора бежать в магазин, закупаться книгами и начинать свой путь разработчика.

Нужен ли дизайнер, разработчик интерфейсов или кто-то еще?

Очередной, не менее простой вопрос. Если вы программист и умеете писать консольные программы и хотите начать писать приложения под iOS, то на начальном этапе вам такой человек не нужен. Если у вас есть iPhone || iPad || iPod Touch, вы знакомы с iOS, то вам не нужен разработчик интерфейсов. Вообще, у Apple есть такой документ – Human Interface Guidelines . В данном документе описано, где и какой элемент интерфейса надо использовать. Поэтому на начальном этапе можно обойтись и без третьих лиц. Вообще iOS SDK предоставляет достаточно возможностей для разрисовки интерфейса приложения, так что рисовать в PS какие-то там кнопочки или разноцветные тексты, градиентные заливки и прочее вам не придется. Позже мы с вами создадим первый проект, в котором мы познакомимся со всеми этапами создания приложения “Hello, World!”.

Однако, нужно понимать, что когда пойдут серьезные проекты, приложения, которые вы захотите опубликовать в AppStore, то вам уже будет сложнее без дизайнера и разработчика. Сложность может проявиться на разных этапах – либо при разработке приложений, когда вы будете тратить часы в поисках необходимой картинки или сидеть и творить в PS, либо же после того, как опубликуете приложение и начнете получать комментарии от наших любимых юзеров, которые будут жаловаться на ваш убогий дизайн бесплатного приложения. Я столкнулся на обоих этапах с такими проблемами. После получения отстойных комментариев в AppStore я хотел забросить свое приложение, которое между прочим бесплатное, и забыть о неблагодарных пользователях. Однако, полезность самого приложения для меня, а также для многих других пользователей, заставила меня проглотить те гневные комментарии и продолжить разработку приложения. Месяца три назад я начал разрабатывать приложение вместе с дизайнером, который говорит что и куда вставлять, какой цвет выбирать, где и какую картинку рисовать, и это, я хочу сказать, довольно-таки удобно. Поэтому я все же советую в какой-то момент начать использовать услуги дизайнеров, чтобы получать хороший фидбэк от пользователей. И помните – пользователи iOS-устройств хотят видеть хороший дизайн приложения, даже если и его функциональность страдает.

Официальная часть: сертификат разработчика

Наверное, вы уже много слышали о каком-то там сертификате разработчика. Сейчас я постараюсь вас ввести в курс дела – зачем он и нужен ли он вам прямо сейчас. Сертификат разработчика представляет собой некий файл, как и любой другой сертификат. Этот файл выдает вам компания Apple после того, как вы пройдете все этапы регистрации в системе iOS (MacOS ) Developer (Enterprise ) Program .

Что же вам даст наличие данного файла и регистрация в одной из вышеуказанных программ? Ответов на этот вопрос – тьма тьмущая. Поэтому скажу только о самом важном (все нижеописанное дается вам ровно на один год):

  • тестирование ваших приложений на своих девайсах (хотя вроде это хакается и можно и без сертификата)
  • доступ к форуму разработчиков на портале Apple (хотя есть сообщество StackOverflow.com, где гораздо оперативнее можно найти ответ на ваш вопрос)
  • возможность скачать бета-версии (ну и конечно же текущие) iOS и Xcode
  • возможность установить бета-версии iOS на свой девайс
  • возможность опубликовать приложение в AppStore
  • возможность привязать до 100 устройств к своему аккаунту, тем самым разрешив данным девайсам устанавливать бета-версии iOS, тестировать ваши приложения (еще не опубликованные в AppStore) и еще много чего нелегального
  • возможность попонтоваться перед друзьями, что вы официальный разработчик iOS-приложений

Если вы решили, что вам нужен такой сертификат, то будьте готовы расстаться с 100$ (300$ для Enterprise), отправить факс в США, ввести данные вашей банковской карты (внимание! Вашей, именно вашей), ну и дочитать эту главу.

Итак, поехали.

  1. Идем по этой ссылке http://developer.apple.com/programs/ios/
  2. Кликаем на Enroll Now
  3. Читаем внимательно флуд и идем дальше – Continue
  4. Тут у нас 4 пункта:?a. Вы хотите создать новый Apple ID для Apple Developer Program?b. Вы хотите использовать существующий Apple ID?c. Вы уже зарегистрированы, как простой разработчик, а теперь хотите стать официальным разработчиком со всеми вышеописанными плюшками?d. Вы уже являетесь участником iOS или Mac Developer Program и хотите привязать к вашему аккаунту еще одну программу
  5. Друзья, дальше вам самим надо пройти пару шагов по заполнению личных данных. Я уже точно не помню, что там. Возникнут вопросы – задавайте в этом топике, я отвечу по-возможности на всё.
  6. Вам дали ссылку на.pdf файл, который надо заполнить и отправить по факсу в Apple.
  7. Печатаем его, заполняем (очень внимательно и аккуратно).
  8. Отправляем факс в офис Apple в США. (Будьте бдительны, чтобы ваш факс не попал в чужие руки, потому что там вы указываете номер банковской карты и CVV).
  9. Ждем N-ое количество дней (недель), пока Apple обработает ваш запрос.
  10. Получаем письмо, в котором вас поздравляют с тем, что вы зарегистрировались в программе и лишились ста баксов. Ура!

После удачного прохождения квеста у вас будет доступ к http://developer.apple.com/membercenter/ . Пожалуй, обзор той страницы либо требует отдельной статьи, либо требует поиска в гугл/яндекс.

Ну вот, друзья, перейдем к оставшимся на повестке дня вопросам.

Необходимое оборудование для комфортной разработки

Если вы серьезно решили начать разрабатывать приложения под iOS, то крайне рекомендую сразу приобрести компьютер/laptop с MacOs. Наиболее дешевый вариант – Mac Mini, или что-нибудь б/у. Если вы студент и собираетесь таксать оборудование с собой – Macbook Air. Если у вас много денег и вы хотите мощный универсальный ноутбук – для игр, сложных вычислительных задач и программирования – Macbook Pro. Если вы хотите взять настольный компьютер – iMac или Mac Mini. Для разработки – вам подойдет любой компьютер в любой существующей конфигурации. Размер экрана – на ваше усмотрение. Я вот лично сейчас сижу за Macbook 13” и Mac Mini 17”. Меня устраивают оба дисплея. Если что, то можно всегда подключить внешний монитор к ноутбуку.

Не забываем о том, вам рано или поздно понадобится iPhone, iPod или iPad. Не надо доверяться только iOS-симулятору, который распространяется в одном пакете с Xcode. Всегда тестируйте релизные версии на девайсах. Или же – ищите тестеров (ответственных и добросовестных).

Если вы не готовы потратить столько денег на новое оборудование, то можно попробовать поставить хакинтош на ваш компьютер.

Вечный вопрос: Android или iOS?

Возможно, что данный вопрос надо было задать в самом начале, однако он все же расположился в конце данной статьи. Вы уверены, что хотите попробовать себя в область мобильной разработки, но не знаете какую мобильную платформу выбрать? Я не смогу ответить на этот вопрос за вас. Но я знаю одно – если вы хотите разрабатывать приложения под iOS, то вы должны любить продукцию Apple и операционную систему iOS и MacOs. Вы спросите – почему это? Ответ прост – вы должны любить свое дело, вы должны творить. Только тогда вы сможете разработать поистинне классный и полезный продукт. Только в этом случае вы будете изучать с наслаждением Objective-C и iOS. Я считаю, что это очень важно. Если вы обладаете схожими чувствами к продукции Apple, то смело идите в область iOS-разработок. Если вы думаете – я вот знаю Java, но не знаю Objective-C, однако мне больше нравится iOS, чем AndroidOs – то выбирайте iOS. Нет, ну а что вы ожидали, что я начну хвалить Android OS?

Также мне нравится iOS-сфера своим магазином приложений. Там все красиво, правильно и там очень жесткая модерация приложений. Та свалка приложений, которая сейчас в Andoroid OS – это просто ужас, как для пользователей, так и достойных разработчиков.

Что нужно сделать сегодня?

Сегодня вы должны решить: когда вы начнете разрабатывать приложения, хватит ли вам текущего опыта для изучения Objective - C , есть ли у вас необходимое оборудование, а самое главное желание?

Hello, world.

Проверка готовности

Перейдем от теории к практике. Для практического занятия вам понадобится Xcode 4.2 с iOS SDK, желательно сертификат разработчика, знание С, С++, Java или Objective-C (ну может знания и в других языках подойдут) и, наконец, желание начать писать приложения под iOS. Если вам чего-то не хватает, например, сертификата разработчика, то статья будет актуальна для вас все равно. В любом случае, мне кажется, каждому пользователю iOS-девайса должно быть интересно взглянуть на внутреннюю кухню разработки приложений.

Создание нового проекта

Поехали. Нажимаем на иконку Xcode. Откроется окошко подобного содержания:

Выбираем пункт “Create a new Xcode project”. В следующем окне выбираем тип проекта. Нам нужен: “iOS – Application – Single View Application”.

Нажимаем Next. Увидим окно следующего содержания:

Разъясню поля ввода:

  1. Product Name – Название нового проекта – можете ввести любое, но я советую использовать названия, идентичные моим, потому что я периодически буду на них ссылаться.
  2. Company Identifier – Идентификатор вашей компании – можете заполнить его как угодно.
  3. Bundle Identifier – уникальный идентификатор вашего приложения. Это поле можно будет отредактировать позднее.
  4. Class Prefix – префикс, который будет приписываться к названиям всех классов, которые вы создадите в проекте. Я оставил поле пустым (“XYZ” – это просто подсказка).
  5. Device Family – на какие типы устройств можно будет устанавливать проект. Можно выбрать один из трех вариантов: iPad / iPhone / Universal . Их назначение очевидно. Если вы сейчас не можете решить, нужно ли вам создавать универсальное приложение, то можете выбрать любой из других вариантов. Это можно будет исправить на любом этапе жизненного цикла ПО.
  6. Use Storyboard – это связано с созданием модели пользовательского интерфейса. Добавилось вместе с iOS5, так что при использовании этого ужаса ваше приложение можно будет установить только на устройства с осью iOS5 или выше.
  7. Use Automatic Reference Counting – это новая фишка компилятора Apple LLVM 3.0 – автоматически (почти) управляет памятью (следит за утечками, зомби и прочими ужасами). Я бы сказал, что для новичка – идеальный вариант. НО – 1) не все там уж такое автоматическое, 2) доверяете ли вы компилятору больше, чем себе?, 3) Рекомендую управлять памятью вручную.
  8. Include Unit Tests – подключить к проекту юнит-тестирование.

У вас появится окно выбора категории, куда будет помещен проект. Хочу только предупредить, что автоматически будет создана папка с названием вашего проекта в той папке, которую вы выбрали, то есть дополнительно папку под конкретный проект создавать нет необходимости.

Галочку “Create local git repository for this project” не ставим. Лучше потом при необходимости подключим наш проект к репозиторию кода, если вдруг понадобится.

Нажимаем “Create” и видим новое окно, окно нашего рабочего пространства:

И так, у нас создан проект, сгенерировались какие-то файлы, какие-то окошки открыты.

Ознакомимся с файлами в навигационном меню:

  • файлы с суффиксом “.h” – это хэдеры, там, где мы будем давать описание классов
  • файлы с суффиксом “.m” – это implementation файлы, там, где мы будем реализовывать ранее описанные классы
  • файлы с суффиксом “.xib” – это файлы, в которых описывается интерфейс одного окна приложения

Компляция проекта

Компиляция -

  1. трансляция программы на язык, близкий к машинному, и последующая её компоновка.
  2. трансляция программы, составленной на исходном языке, в объектный модуль (осуществляется компилятором) и последующая её компоновка в готовый к использованию программный модуль.
  3. трансляция программы, составленной на исходном языке, и последующая её компоновка в программу на некоем машинонезависимом низкоуровневом интерпретируемом коде (как например в случае языка Java).

Процесс компиляции состоит из следующих фаз:

  1. Лексический анализ. На этой фазе последовательность символов исходного файла преобразуется в последовательность лексем.
  2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в древо разбора.
  3. Семантический анализ. Древо разбора обрабатывается с целью установления его семантики (смысла) - например, привязка идентификаторов к их определениям, типам данных, проверка совместимости типов данных, определение результирующих типов данных выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным древом разбора, новым древом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.
  4. Оптимизация. Удаляются избыточные команды и упрощается (где это возможно) код с сохранением его смысла, то есть реализуемого им алгоритма (в том числе предвычисляются (то есть вычисляются на фазе трансляции) выражения, результаты которых практически являются константами). Оптимизация может быть на разных уровнях и этапах - например, над промежуточным кодом или над конечным машинным кодом.
  5. Генерация кода. Из промежуточного представления порождается код на целевом языке (в том числе выполняется компоновка программы).

Более простым языком от меня. На этапе лексического анализа проверяется, что все символы в вашем исходном коде идут в нужном порядке и связанные символы на следующих этапах будут рассматриваться как единая сущность – лексема. На этапе синтаксического анализа проверяется, что все лексемы расположены в правильном порядке, на нужных местах, в верной последовательности. И, наконец, на этапе семантического анализа проверяются соответствия типов данных.

И так, когда вы нажимаете “Build project”, то сначала выполняется лексический анализ вашего кода, если он успешен, то синтаксический анализ, и затем семантический анализ. В Xcode все время работает некий легковесный процесс, который выполняет эту функцию, тем самым подсказывая разработчику “на лету” . Например, если вы не поставили “;” или вдруг приравняли int некую строчку символов, то Xcode подчеркнет строку красной волнистой линией.

Запуск на симуляторе

И так, попробуем запустить наш проект, для которого мы еще не написали ни строчки кода лично.

Для этого обратимся к меню: Схема компиляции (ей присвоен зеленый цвет на моем скриншоте). Схема – это некая конфигурация проекта. Xcode генерирует ее автоматически. Нажимаем на строку, которая стоит справа от названия проекта (имя девайса), если девайс не подключен, то будет написано “iOS Device”. У вас появится выпадающий список следующего содержания:

В этом списке мы выбираем то, куда будет установлен наш проект: это может быть либо ваш девайс, либо симулятор. Если вы выбрали тип приложения универсальный, то можно будет выбрать тип симулятора: iPhone или iPad. Также можно для симуляторов выбрать версию операционной системы (важно протестировать проект на всех версиях iOS, на которые приложение можно установить). Раз заговорили о минимальной версии iOS, то надо и упомянуть, как определить ее минимальную версию? Все просто – если вы используете методы (фичи), которые были добавлены в версии iOS, например, 4.0 , то планка минимальной требуемой операционной системы поднимается до 4.0 . Давайте опустим планку до 4.0 с 5.0 . Для этого обратимся к меню: “Deployment target” (выделено синим цветом на моем рисунке). Из выпадающего списка выбираем 4.0 . Теперь опять вернемся к меню: Схема компиляции . Наш список теперь выглядит следующим образом:

Выберем “iPhone 4.0 Simulator”. И, наконец, нажимаем на стрелочку, под которой написано “Run”. В “Информационном табло” мы увидим процесс компиляции. После того, как все удачно соберется, у нас откроется окно симулятора iPhone:

Теперь быстро пробежимся по возможностям симулятора.

  • Можно симулировать iPhone, iPhone Retina, iPad.
  • Симулировать различные версии iOS.
  • Снимать скриншоты.
  • Крутить экраны (портретный и ландшафтный режимы)
  • Трясануть
  • Симулировать нехватку памяти.
  • Симулировать сервер печати
  • Геолокационное положение
  • Мультитач жесты(максимум 2 пальца)
  • Прочее

Ко всем этому можно получить доступ из меню программы симулятора:

Пару слов о симуляторе. На симулятор можно устанавливать приложения только через Xcode, их можно удалять прямо из симулятора (как и на реальном устройстве), он поддерживает многозадачность. Но и обладает многими ограничениями, например, нельзя устанавливать сертификат в локальное хранилище сертификатов приложения. Но самый главный недостаток то, что это СИМУЛЯТОР , а не ЭМУЛЯТОР . То есть он всего лишь делает вид, что является iOS-девайсом, просто отрисовывая похожий интерфейс (программный уровень). А вот эмулятор как раз выполняет в точности то, что будет выполнять девайс (на физическом уровне). Какой надо сделать вывод? Обязательно тестируйте на реальном девайсе. У меня бывали случаи, когда на девайсе работает, а на симуляторе нет, и наоборот.

Выводим “Hello, world!”.

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

Данная глава написана в память о Деннисе Ритчи, создателе языка программирования C и ключевой разработчик операционной системы UNIX , а также как соавтор книги «Язык программирования C » .

Цель главы – украсить наш пустой серый экран. Отлично, поехали. Возвращаемся в Xcode, выбираем в навигационном меню “ViewController_iPhone.xib”. Далее выбираем “View” в появившемся списке. Справа выбираем “Attributes Inspector”. Вот как окно выглядит у меня плюс дополнительные комментарии:

Теперь добавим метку UILabel. UILabel – это название класса в iOS SDK, который позволяет отобразить нередактируемый текст на экране. Вообще, все классы, позволяющие что-то отобразить, имеют префикс UI : UIView, UITableView, UITextView, UIButton,…. В окне “Доступные объекты для отображения” ищем строку с именем Label. Как-то только нашли, то нажимаем на нее и перетаскиваем на наш текущий вид экрана.

Синие пунктирные линии помогут вам отцентрировать/откалибровать относительное положение метки. И так, выбираем Label в списке отображаемых объектов, если еще не выбрано, и видим в свойствах пункт: Text. Давайте впишем туда “Hello, World!” и нажмем Enter . Вот у нас изменился текст метки и сжался. Давайте это исправим. В категории свойств выберем “линейку” “Size Inspector”. Там есть поля:

  • x и y – координаты верхнего левого угла метки относительно родительского вида, то есть того вида, куда мы поместили метку – это вид View в нашем случае.
  • width и height – соответственно ширина и высота редактируемого объекта.

Вы можете попробовать редактировать эти значения и проследить изменения. Также редактировать положение и размер можно непосредственное двигая метку (текст) и дергая ее каркас за различные “точки” .

Потратьте еще минут 15-25 и поиграйтесь с различными свойствами в различных категориях:

  1. Выравнивание текста
  2. Размер шрифта
  3. Цвет, тень текста
  4. и др.

Впоследствии мы будем к ним возвращаться и я буду пояснять предназначение тех или иных полей.

Какие стандартные view есть в iOS.

В предыдущем пункте я затронул названия некоторых классов, отвечающих за интерфейс. Собственно приставка UI и означает User Interface. Тут я приведу, возможно не полный, список доступных типов view. Во-первых, все описанные ниже классы наследуются от UIView, т.е. обладают теми же свойствами и методами. Во-вторых, вы всегда можете создать собственный кастомный view. Список ниже:

1) UILabel – метка – основное назначение: отображение одной или нескольких нередактируемых строк текста.

2) UIButton – кнопка – основное назначение: обычная кнопка, посылает сигналы объектам, уведомляя о том, что на нее нажали

3) UISegmentedControl – кнопка с сегментами – основное назначение: кнопка с несколькими активными частями, можно определить, на какую нажали

4) UITextField – текстовое поле ввода – основное назначение: поле для ввода текста пользователем

5) UISlider – слайдер – основное назначение: обычный слайдер, помогает более интуитивно изменять какие-либо настройки

6) UISwitch – On/Off переключатель – основное назначение: имеет два состояни – включен или выключен, назначение очевидно

7) UIActivityIndicatorView – индикатор активности – основное назначение: обычно используется, чтобы сообщить пользователю о том, что приложение либо скачивает данные, либо просто выполняет какие-то вычисления

8) UIProgressView – индикатор состояния (прогресса) – основное назначение: отображать состояние завершенности чего-либо

9) UIPageControl – переключение между страницами – основное назначение: отображение количества страниц, отображение текущей страницы

10) UIStepper (>= iOS 5)- +/- пошаговый контроллер – основное назначение: тоже очевидно

11) UITableView – таблица – основное назначение: отображение таблицы, пожалуй, самый популярный элемент

12) UITableViewCell – ячейка таблицы – основное назначение: отображение строки в таблице, обычно кастомизируется

13) UIImageView – изображение – основное назначение: отображение картинки или изображения

14) UITextView – текстовое поле (скроллируемое) – основное назначение: отображение большого объема текста, который можно прокрутить.

15) UIWebView – web – основное назначение: отображение web-страницы

16) UIMapView – карты – основное назначение: отображение карты

17) UIScrollView – скроллируемый вид – основное назначение: отображение нескольких view, которые не помещаются на одном экране

18) UIDatePicker – вид выбора даты – основное назначение: идеальный вариант для ввода даты

19) UIPickerView – вид выбора барабанный – основное назначение: альтернатива таблице при выборе какой-либо опции

20) UIView – просто вид – основное назначение: очевидно

21) UINavigationBar – навигационная панель – основное назначение: панель, в которую выводится заголовок экрана и дополнительные кнопки управления

22) UINavigationItem – элементы UINavigationBar – основное назначение: очевидно

23) UIToolbar – тулбар – основное назначение: отображение панели, на которую помещаются кнопки для управления приложением

24) UIBarButtonItem – элементы тулбара – основное назначение: очевидно

25) UIBarButtonItem (fixed and flexible space) – элементы тулбара особенные – основное назначение: изменяем расстояние между кнопками на тулбаре

26) UITabBar – таббар – основное назначение: помогает переключаться между различными несвязанными с друг другом экранами

27) UITabBarItem – элемент таббара – основное назначение: очевидно