Что нужно для разработки под iphone

Что необходимо для разработки приложений для 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. Процессор критичен для запуска системы, а объем памяти напрямую сказывается на скорости работы гостевой ОС. Если у Вас мало памяти, разработка превратится в пошаговую стратегию.

Читайте также:  Что за usb разъема iphone 5

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

Это промежуточный, компромиссный вариант. Хакинтошем называется компьютер, совместимый по железу с продукцией 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 довольно затратное на начальном этапе дело. Если у Вас нет уверенности в своих силах, попробуйте начать программировать под виртуалкой.

Источник

О том, как я написал простое приложение для Android/iOS

Хочу сразу отметить, что это не статья от профессионала, скорее взгляд любителя на мобильную разработку, скажем так, «с нуля». Мое основное занятие — это создание сайтов. В данное время я работаю у провайдера интернета и занимаюсь поддержкой внутреннего биллинга/сайта и так далее (PHP и немного Perl), довольно скучное занятие, скажу я вам. В общем, я обычный провинциальный «программист».

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

Придя на работу в один из серых скучных дней, я решился и написал в поиске Google «как сделать мобильное приложение». Это было очень наивно. Кажется, я даже попробовал задать вопрос на Toster, «с чего начать разработку под мобильные приложения», тогда я еще не понимал насколько глупым воспринимается этот вопрос профессионалами.

Довольно быстро я разделил для себя разработку на две части, это был Android и iOS, потому что они совсем разные (поиск подсказал.

Как-то я наткнулся на Phonegap, насколько я понял, пишем на Javascript+html+css, а потом получаем готовое приложение для Android/iOS, но почему-то мне не хотелось пользоваться подобными решениями, во-первых: были непонятные отзывы, кто-то хвалил, кто-то ругал, а во-вторых: мне хотелось попробовать как это изнутри, каково это сделать «нативное» приложение.

План и подготовка

Собственно, идея довольно проста:

  • Логин экран с логином/паролем
  • Основной экран с информацией об абоненте (ФИО, № договора, баланс, статус (Активен, Отключен), есть ли авария на доме, кнопка Активировать обещанный платеж
  • Экран с платежами (зачисления на счет)
  • Экран со списаниями по счету
Читайте также:  What is iphone 5 sprint

Для функционирования приложения я написал простейшее API на PHP, скрипт который по определенному запросу отвечал строкой в JSON-формате. Сделать это оказалось элементарно.

Начать решил с Android.

Android

Начал я с установки Android Studio, первоначально смутило количество кнопочек/иконок, но за пару дней я уже был как рыба в воде. Для начала надо было понять как вообще делаются приложения, очень помогает изначальное «Hello world!» которое создается по-умолчанию. Выглядело все достаточно просто и понятно. Погуглив «Как начать разработку в Android Studio», я понял, что надо скачать SDK. Открыв SDK-manager я не понял вообще ничего, ну, точнее, не понял что именно надо делать, поэтому поставил все галочки и ждал пока все скачается. Для чего оно мне нужно я совсем не понимал, общее представление конечно было «чтобы работала поддержка такой-то версии», но почему надо все отдельно качать и выбирать среди сотен галочек — бррр.

Вторым достаточно сложным этапом было запустить приложение на симуляторе. Погуглив, пришлось повозиться с AVD, конечно, потыкашись как слепой котенок я сделал несколько виртуальных устройств. На одном даже запустилось приложение. Честно сказать, симулятор у Android Studio совсем не User-friendly, очень долго я с ним воевал, пытался запускать по-разному, хотел чтобы кнопки управления были на экране и работали, но почему-то не работали. Видимо, сказывалось отсутствие опыта.

Как оказалось, для Android пишут на Java. Про Java я знал только то, что это язык программирования и это не Javascript.
Решил разбить большую задачу на более мелкие.

Теперь возникла ситуация когда у меня, в принципе, все готово, но я не знал как вообще делается приложение, поэтому, погуглив, я понял что никакой нормальной информации на русском языке мне не найти (либо я плохо искал). Информация либо устаревшая, либо не то что мне требуется. Спас меня youtube и знание английского языка. Сделав несколько запросов в ютюбе можно найти массу информации, да еще и с самим процессом — это очень помогло, если бы не обучающие видео, думаю, приложение я бы делал несколько месяцев.

Выбирая минимальную версию Android я остановился на 4 что-то там 🙂 (Охват аудитории 90%+ если верить Google).

Опять же разбив свои задачи на более мелкие я искал туториалы в youtube, например: «how to get json in android» или «menu in android studio». Конечно, пришлось пересмотреть штук 30 разных видео и все они были на английском (одно на немецком и одно на китайском — когда показывают не так сложно самому дойти что же говорят :)).

Разработка под Android заняла примерно неделю с момента установки Android Studio. После чего отобрав планшет у сына я смог протестировать свое приложение на реальном устройстве — просто подсоединив его к компьютеру.

Публикация в Google Play

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

Отдохнув пару дней и поразмыслив, решил что пора реализовать тоже самое приложение под iOS. Но, оказалось, что бесплатная среда разработки xCode может быть запущена исключительно в среде Mac. Пришлось скачать образ виртуальной машины MAC OS Yosemite и запустить ее через VMWare. Сделать это было очень просто и фактически не требовало от меня никаких телодвижений кроме как «ждать».

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

Язык программирования выбрал Swift. Версию iOS минимум 7.1+

Читайте также:  Хорошая читалка для айфон

В принципе разработка под iOS была более простой, хотя баги симулятора присутствовали, но весь процесс оказался более удобным, нежели под Android. Опять же я открыл youtube и смотрел видео/читал руководства о том, как сделать какую-то вещь. Например, нагуглил прекрасный скрипт который делает slide menu, которого у меня не было в Android. В общем, еще один марафон и за неделю было готово улучшенное приложение, добавил возможность пополнить счет с помощью карты предоплаты и совместил платежи/списания в одно окно.

Использовал тоже самое API (тот же скрипт, что и для Android).

Публикация в iOS

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

Опять же, при создании аккаунта был выбор между «компания» и «индивидуальный разработчик», но начитавшись страшилок про 4+ месяца проверки компаний я решил регистрироваться как индивидуальный разработчик. Сделать это было не сложно, главное оплатить 99$ за аккаунт разработчика iOS со своей кредитной карты чтобы имя совпадало (подсказал поиск). Платеж проходил 2 дня.

После чего пришлось искать целое видео «how to publish in app store» и следовать инструкции, настолько там все непонятно. Какие-то сертификаты, туда — сюда. В общем, не очень удобно, хотя и сделать надо лишь один раз :).

Приложение ушло на проверку и ждало очереди около полутора недель. После чего было принято. Кстати, как показали логи, проверка была примерно такая: Логин -> Баланс -> Платежи -> Баланс. И все, хотя была еще страница «Пополнить баланс», но ее не проверяли (а зря, я там накосячил и пришлось выкладывать новую версию программы 1.1 которую тоже проверяли больше недели).

Выводы

1. Как оказалось это не сложно даже для человека который никогда не использовал Java/Swift/Mac OS.

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

3. Очень быстрое устаревание руководств/видео уроков. Платформы настолько быстро развиваются, что надо сразу проверять актуальность информации. На русском языке ее очень мало, после нескольких попыток я даже бросил искать и сразу начал штудировать stackoverflow и англоязычный интернет. Youtube со своими видео-уроками просто спас меня! Я открывал видео на одном мониторе и работал на втором. Без базового английского — никуда.

4. Сервисы вопрос-ответ реально помогают! Иногда, впадая в ступор я задавал вопросы и почти сразу получал ответы — очень удобно если находишься в тупике.

5. Apple более чутко относится к публикации приложений, но особых проблем кроме длительного времени я не заметил. Android же делают все очень быстро (зато пускают всех подряд, как я понял).

6. В общей сложности я потратил почти месяц (на разработку около двух недель с перерывами). Стоило ли оно того — думаю да, было очень интересно. Если у вас есть желание — попробуйте, все оказалось не так сложно. У меня нет смартфона Android/iPhone, но и без них все оказалось просто. Симуляторы работают достоверно.

Приложение называется dagotel, но оно создано для клиентов, поэтому дальше логина не пустит. Разве что посмотреть скриншоты.

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

Источник

Оцените статью