Какое-то время назад я решил привести пару способов создания приложения для iPhone и iPad, доступных на Windows. Сейчас эта тема всё ещё актуальна. Так что я решил дополнить этот список и включить некоторые другие способы, появившиеся после написания первого сообщения, и те, которые всё ещё находятся в разработке, но уже привлекают, кажутся интересными. Обратите внимание на то, что официальных программ под Windows для разработки приложений на iPhone не существует (и они вряд ли когда-нибудь появятся).
На данной стадии если вы хотите выложить своё приложение в iPhone AppStore от Apple, то вам придётся компилировать его на официальном ПО для iPhone, которое доступно для Mac OS X, использовать Flash’s iPhone Packager, Airplay SDK, либо отправить кому-нибудь свой код для компилирования. Сейчас же, я знаю, есть одно «хакинтошское» решение, но я не буду о нём рассказывать, не только потому, что оно, возможно, нелегальное, но я видел того, кто попробовал так делать… и это превратилось в долгую мороку — на каждое обновление ОС и SDK уходили часы, когда они могли просто купить Mac Mini меньше чем за $700 и не мучиться.
Говорят, что есть способы разработки приложений для iPhone на Windows. Повторюсь, что никакого издания официального SDK для iOS не существует — и я более чем уверен, что не существует никаких официальных способов, несмотря на все маркетинговые речи, которые произносят некоторые продавцы. Если вы увидите, как какой-нибудь продавец утверждает, что их продукт — это официальный SDK для разработки приложений для iPhone на Windows, мой вам совет: держитесь от него подальше.
Я разделяю указанные здесь способы на те, с помощью которых уже были созданы приложения, доступные в продаже, и те, которые, на мой взгляд, особенно заслуживают внимания.
Данные альтернативы для Windows включают игровые движки, html/javascript решения для создания гибридных приложений, а также обычные программы для создания приложений для iPhone/iPad.
Способы создания приложений для iPhone на Windows
- Flash CS5.5 — является очень хорошим решением совместно с Flash iPhone Packager. Упаковщик для iOS позволяет компилировать приложения на платформе Windows. Если вы уже использовали Флэш, то вы являетесь обладателем новейших стандартов Apple. Он хорошо работает, однако не ждите, что игры с высокими техническими требованиями, а также Papervision на нём запустятся. Наличие компьютера с Mac не требуется. Кто-то спрашивал, возможно ли создание iOS флэш-приложений в среде, отличной от официальной среды Adobe… безусловно, вы можете компилировать приложения с помощью компилятора Flex и упаковывать их до тех пор, пока вы следуете рекомендациям ASME.
-
Airplay SDK — Airplay SDK позволяет вам создавать игры и подписывать свои приложения на Windows. Отличное решение как для 2D, так и для 3D игр и приложений, благодаря бесплатному предложению от независимых разработчиков.
Оба этих варианта могут компилировать стандартный код iPhone прямо на вашей Windows. Большое количество приложений, доступных в AppStore, было создано с их помощью. - Unity 3D — игровой движок и редактор, использующий Boo и C# и работающий как на Windows, так и на Mac.
-
Stonetrip S3D — игровой движок и редактор, использующий LUA и работающий на Windows.
Эти игровые движки позволяют вам создавать приложения на Windows, однако для их тестирования/компилирования вам потребуется Mac. - Appcelerator Titanium — Хорошее решение, имеющее довольно широкую и живую аудиторию. Приложения не требуют высокой производительности, так как они создаются с использованием html/javascript и могут быть скомпилированы как стандартные приложения и отсылаться в AppStore.
-
Genuitec MobiOne — это создатель интерфейса, который использует фреймворк PhoneGap для обеспечения стандартной функциональности. Он работает только на Windows и базируется на HTML/Javascript.
Данные способы позволяют создавать приложения с помощью web-технологий (HTML/CSS/Javascript) и в последствии запускать их через Objective-C фреймворк, который отвечает на действия в UIWebView, тем самым предоставляя вам доступ к стандартной функциональности на iPhone. Эти фреймворки бесплатные. Для стандартного тестирования/компиляции потребуется Mac. - Dragonfire SDK — Интересный способ, позволяющий создавать приложения, использующие их собственные SDK на Windows. Далее вы отправляете им свой исходный код, который они компилируют, и вы скачиваете уже готовый файл iOS приложения. Вы загружаете свой код для компилирования на их сервер (при условии, что у вас стоит версия Ultimate). Я его упомянул, так как мне нравится его синтакс, и он довольно популярен, а также является хорошим упаковщиком с удачным симулятором на Windows.
Существует ещё пара других решений, которые либо ещё тестируются, либо являются платными без каких-либо trial-версий (или даже в некоторых случаях без скриншотов), либо просто ещё не вышли. Многие из них, по-видимому, являются упрощёнными версиями Dragonfly SDK, который позволяет разрабатывать iPhone приложения на Windows путём компилирования вашего исходного кода.. Airplay SDK, возможно, на данный момент является наиболее продвинутым «iOS ПО для Windows», доступным бесплатно.
Разработка приложений для iPhone на Windows уже реальна
Если вы действительно решили создавать приложения для iPhone на Windows и даже не хотите покупать Mac Mini, то советую вам использовать html/javascript программы, такие как PhoneGap/Appcelerator либо Airplay SDK, а затем найти кого-нибудь с Mac и попросить их вам помочь. Airplay SDK является единственным бесплатным решением для Windows для создания высококлассных игр на iPhone/iPad. Вы можете использовать Флэш-разработчик, но на данный момент у него имеются ограничения в качестве. Однако скоро выйдет новая версия.
Обновление: к сожалению, Airplay SDK был переименован в Marmalade SDK и больше не доступен бесплатно независимым разработчикам.
Johann Dowa,
ManiacDev.com
Версия для печати
Рубрики:
Теги:
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
Читайте также
Вы можете создать приложение для iOS, даже если вы работаете на ПК под управлением Windows 10.
Мне жаль, что я не знал об этом, когда только начинал, потому что я задержался на 3 года прежде чем укусить пулю и купить Mac.
Если бы я знал о запуске Xcode в Windows или о решениях ниже, я бы начал создавать приложения для iPhone намного раньше!
Содержание
- Взять напрокат Mac
- Виртуализировать MacOS
- Создайте «Хакинтош»
- Сторонние решения
- Как установить xcode в Windows 10 ? [дубликат]
Взять напрокат Mac
Перед тем, как совершить покупку нового Mac, вы можете «арендовать» его для разработки. Вы получите удаленный доступ к Mac и Xcode через свой ПК.
Это будет похоже на то, как рабочий стол Mac находится в окне на рабочем столе Windows.
На самом деле Хорошая вещь в этом варианте заключается в том, что его стоимость действительно низкая, и это самый быстрый вариант для начала работы.
Если вы решите, что разработка приложения не для вас, вы просто отмените свой план.
1. MacStadium
Эти ребята были упомянуты в недавнем программном докладе Apple, когда они представили обновленный Mac Mini! У них есть новейшие доступные компьютеры Mac.
(Используйте код купона «CODEWITHCHRIS», чтобы получить скидку 50% в первый месяц. Если да, сообщите мне об этом в комментариях ниже. Я получу небольшой откиньтесь назад без дополнительных затрат, так что спасибо за поддержку моего сайта!)
Если вы пойдете по этому пути для разработки приложений для iOS, убедитесь, что у вас есть моя шпаргалка Xcode со ссылками и сочетаниями клавиш для пользователей Windows .
Получить шпаргалку Xcode для Windows
Есть пара других компаний, которые предоставляют эту услугу:
2. MacInCloud
Это самый известный сервис из трех. Вам не нужно устанавливать Xcode, потому что он предустановлен. Вы также можете использовать оплату по факту использования, так что это довольно низкие обязательства. Некоторые люди жалуются, что это медленно, но вы можете попробовать это на себе, так как это всего около доллара в час!
3. XcodeClub
XcodeClub управляется Дэниелом, который сам является страстным разработчиком. Судя по отзывам, обслуживание быстрое и дружелюбное. Ценообразование менее гибкое, чем у MacInCloud, и вам придется потратить минимум месяц.
Виртуализировать MacOS
Если вы немного более технически подкованный, вы можете использовать программное обеспечение для виртуализации и запустить «виртуальный Mac» на своем ПК.
Вышеупомянутые службы, по сути, делают то же самое на своих серверах, а затем взимают с вас плату за получить доступ к виртуальной машине.
Установив ее самостоятельно на своем ПК, вы, по сути, исключите среднего человека из уравнения.
К сожалению, это займет немного времени. немного технических ноу-хау, чтобы это настроить и запустить.
Два самых популярных программного обеспечения для виртуализации – VirtualBox и VMWare Workstation.
Вы можете скачать ниже, а затем с помощью Google найдите руководство по установке последней версии MacOS (Mojave) с помощью VirtualBox или VMWare Workstation.
После этого разверните свой новый виртуальный Mac и загрузите Xcode. Это максимально приближает вас к запуску настоящего Xcode в Windows!
4. VirtualBox
VirtualBox – это программное обеспечение с открытым исходным кодом, что означает, что оно бесплатное. Это, вероятно, объясняет, почему она намного популярнее, чем VMWare Workstation, когда дело доходит до запуска MacOS на вашем компьютере с Windows!
5. VMWare Workstation
К сожалению, вам придется заплатить за это программное обеспечение, и на момент написания этой статьи лицензия стоит примерно половину стоимости нового Mac Mini, который идеально подходит для iOS. разработка приложений. Я бы порекомендовал вам сначала попробовать VirtualBox или попробовать купить подержанный Mac Mini.
Создайте «Хакинтош»
Вы также можете создать « Hackintosh », который представляет собой ПК, настроенный для работы с MacOS.
Это требует наибольших усилий из всех представленных до сих пор вариантов, но может работать для тех, кому нужен отдельный физический компьютер под управлением MacOS. .
6. Hackintosh.com
Отличный ресурс для всего, что связано с Hackintosh. Первый раздел How-To содержит ссылки на ряд отличных руководств по созданию собственного Hackintosh и установке High Sierra.
7. Hackintosh Subreddit
Мне нравится искать сообщества Reddit по всему, что меня интересует, потому что всегда происходят интересные обсуждения. Reddit предоставляет возможность вести диалог с единомышленниками, получать помощь и помогать другим!
8. Статьи о Hackintosh на 9to5mac.com
Я включил эту ссылку, потому что она содержит последние новости и статьи о сборках Hackintosh.
Сторонние решения
Наконец, существует множество сторонних решений, которые вы можете использовать для разработки iOS в Windows.
Вы не будете использовать Xcode в этих решениях, но вы будете уметь создавать приложение, которое может работать на устройствах iOS.
Ознакомьтесь с этими замечательными альтернативами Xcode:
9. React Native
Используйте JavaScript для создания собственных мобильных приложений.
10. Xamarin
Используйте C # для создания мобильного приложения, которое можно развернуть изначально для Android, iOS и Windows.
11. Appcelerator
Создавайте собственные мобильные приложения с помощью JavaScript.
12. PhoneGap
Создавайте гибридные кроссплатформенные мобильные приложения с использованием HTML, CSS и JavaScript.
Спасибо за сообщение
Любой способ заставить Xcode работать в virtualBox, который будет поддерживать соединение с iPhone? У меня сейчас виртуальная машина работает нормально, но iPhone не распознается…
Спасибо
Ответ
Вау, я считаю вашу работу очень полезной и начинаю повысить мой интерес к кодированию и разработке приложений
Ответить
Nice Artical. Keep Up Is Good Work ..
Ответьте
, если я использую виртуальную машину для загрузки Xcode с помощью App Store в Mac.
Xcode будет скачиваться бесплатно? или я должен заплатить?
Ответить
Бесплатно
Ответить
Интересно, будет ли Unity еще одним хорошим вариантом, потому что вы можете создавать Приложения для iOS и Android из одной и той же базы кода, но Unity может оказаться излишним и сложным для изучения.
Ответ
Разве вам не нужен Mac для создания сборки ввода-вывода? ? Думаю, да.
Ответить
Большое спасибо за то, что поделились
Ответить
где я могу скачать приложение xcode для окна
Ответ
Как я могу установить Xcode11 на моем iMac, который может работать только до Xcode10.1, потому что у него максимальная версия macOS High Sierra? Есть способ? Спасибо!
Ответ
Обновитесь до Catalina.
Ответ
Крис, Virtualbox неплох, но БЕСПЛАТНЫЙ проигрыватель VMWare, который вам не удалось Следует упомянуть гораздо лучший менеджер виртуальных машин, а не какой-то школьный проект с открытым исходным кодом.
Ответ
Лучше всего использовать hackintosh. У меня есть один, который я использую для разработки. Виртуальные машины действительно медленные и не очень удобные для Macstadium, они дороги и не дают вам возможности тестировать свои приложения на устройствах Apple, которые у вас есть, а также требуется подключение к Интернету.
Ответить
У меня есть iPad, но нет ПК или MacBook. Как это сделать?
Ответить
использовать realvnc для iOS для подключения к MacStadium
Ответить
Требуется доступ к xcode с моего Apple IPAD для ПК с Windows 10
Ответить
У меня Apple Ipad, и мне нужно использовать xcode в своих окнах, как я могу это сделать
Ответить
вы можете создать виртуальную машину с ISO, как я
Ответить
Где взять файл iso?
Ответить
Купить в Appstore или позвонить другу 🙂
Ответить
как получить программное обеспечение xcode?
Спасибо
Ответить
Что наиболее эффективно для неискушенного технического специалиста, но желающего научиться создавать и применять? MacStadium или арендовать Mac?
Ответ
Определенно, Windows является наиболее предпочтительной удобной платформой, к которой имеет доступ огромное количество пользователей, поскольку она слишком легко доступна для новички. Он предоставляет коды X-box для систем на базе Windows.
Ответ
Спасибо!
Я предпочитаю использовать virtualBox. Я уже работаю с React Native и Xcode, используя свой собственный Mac, но в компании, в которой я работаю, я использую окна, и я думаю, что Virtual Box – лучший вариант. Другим вариантом, который я использовал в другой компании, в которой я работал, был Ionic (это мобильный друг angular, как React native – мобильный друг React). Единственная проблема с ionic, которую я видел в то время, заключается в том, что он генерирует приложение, и нам нужно запускать его на нашей машине, что снова возвращает нас в студию Android или xcode, поэтому виртуальный ящик – лучший вариант для тех, у кого нет Mac. .
Ответить
Я использую ноутбук Dell, так как же сделать приложение с Xcode?
Ответить
Не будет Flutter быть отличным инструментом для этого?
Ответить
Отличный список, я хотел попробовать разработать свои собственные мобильные приложения, и мне хотелось сделать это с Windows. Ваш список – это именно то, что мне нужно, спасибо.
Ответ
Отличный синопсис – спасибо, что поделились.
Ответ
Как установить xcode в Windows 10 ? [дубликат]
Можно ли загрузить Xcode в Windows, ребята? Можете ли вы дать мне несколько хороших ссылок с подробной информацией о том, как его установить?
спасибо.
Xcode производится Apple для Apple аппаратное обеспечение, поэтому вам не повезло.
Когда Swift имеет открытый исходный код, вы, вероятно, сможете использовать его с различными IDE, которые существуют.
ответ дан 15 декабря 2015 в 23:07
Xcode производится Apple для оборудования Apple, так что вам не повезло.
Когда Swift работает с открытым исходным кодом, вы, вероятно, сможете использовать его с различными IDE, которые существуют.
Единственный способ заставить XCode работать в Windows 10 – это создать виртуальную машину для OS X внутри вашей ОС Windows 10. Это можно сделать через VirtualBox, который является бесплатным. К сожалению, поскольку это виртуальная машина, она будет работать намного медленнее, чем если бы она была на своей собственной ОС, поэтому я бы не рекомендовал идти по этому пути, если у вас нет действительно хорошей машины, поэтому ваши лучшие варианты изучают hackintosh, или фактическое оборудование Apple. Я сам рекомендую реальное оборудование Apple, потому что с hackintosh все время что-то идет не так, когда Apple обновляет
ответил 15 декабря 2015 г. в 23:24
-
Современные процессоры предоставляют функции аппаратной виртуализации (Intel VT-x и AMD AMD-V), позволяя виртуальным машинам работать с почти собственной производительностью. Это не проблема. Однако установка OS X на виртуальную машину не распространяется на лицензионное соглашение Apple. – IInspectable, 16 дек. ’15 в 1:16
-
Это в основном относится к ЦП, у графических процессоров есть собственные технологии виртуализации, которые, помимо прочего, необходимо учитывать.. И Apple позволяет установить El Capitan на 2 виртуальных машинах, если он соответствует определенным критериям, в которые я не буду вдаваться, для этого и предназначено лицензионное соглашение – Knight0fDragon, 16 декабря 2015 г., 1:30
добавить комментарий |
Единственный способ заставить XCode работать в Windows 10 – это создать виртуальную машину для OS X внутри вашей ОС Windows 10. Это можно сделать через VirtualBox, который является бесплатным. К сожалению, поскольку это виртуальная машина, она будет работать намного медленнее, чем если бы она была на своей собственной ОС, поэтому я бы не рекомендовал идти по этому пути, если у вас нет действительно хорошей машины, поэтому ваши лучшие варианты изучают hackintosh, или фактическое оборудование Apple. Я сам рекомендую реальное оборудование Apple, потому что с hackintosh все время что-то идет не так, когда Apple обновляет
«Под Windows можно писать для iPhone?»
Анонимный разработчик
«Мы не планируем публиковаться в AppStore, это ведь возможно? И еще мы хотим версию под Android…»
Анонимный заказчик
Если вы решились разрабатывать приложения для iPhone/iPad, то, скорее всего, вас заинтересуют следующие вопросы:
- как можно заработать на приложениях?
- как зарегистрироваться в iOS Developer Program и что дает регистрация?
- обязательно ли нужен Mac?
- какие инструменты можно использовать для разработки?
Как заработать?
Платные приложения в AppStore — от $0,99 до $999,99
Тут все очень просто/сложно. Пишете приложение, выкладываете в AppStore, выставляете цену, получаете деньги от довольных покупателей. 30% процентов от цены забирает Apple. Есть шанс как захватить мир, так и попусту потратить свое время — все зависит от вас.
Верхняя планка цены реальна — в AppStore было уже как минимум два приложения за тысячу долларов:
«BarMax CA» — приложение для студентов-юристов;
«I Am Rich» — приложение, показывающее изображение красного, видимо, драгоценного камня. Из магазина оно было убрано через день после публикации, но 8 счастливчиков все-таки успели его приобрести. Сейчас оно вернулось в AppStore уже с ценой в 10 долларов, одной из фич указано, что приложение продается всего за 1/100 от оригинальной цены.
Реклама в приложениях — iAd
Тут тоже все достаточно прозрачно: размещаете в своем приложении рекламный баннер, Apple делится с вами выручкой за показ рекламы и за клики по баннеру. На хабре уже писали об этом сервисе и даже рассказывали как добавлять баннеры в свои приложения. Остается добавить, что стоимость рекламы 1 цент — за показ, 2 доллара — за клик. Разработчик получает 60 процентов от вырученной суммы.
Торговля в приложении — In-App Purchases
Apple предоставляет возможность торговать вам в своих приложениях различными житейскими ценностями — ресурсами в играх, доступом к заблокированным секциям приложений и так далее. Отличная статья на эту тему есть на хабре — iPhone разработка: Интегрируем In-App Purchases. Да, Apple забирает себе положенные 30 процентов выручки.
Сервис подписок
Тем, кто в детстве выписывал «Мурзилку», должна быть понятна суть этого варианта заработка. Обычная подписка на журналы, газеты, музыку, видео… Издатель устанавливает цену, Apple берет себе стандартные 30 процентов. Сервис был запущен 15 февраля 2011 года, подробности можно почитать в официальном пресс-релизе.
Разработка приложений под заказ
Тут все тоже предельно просто — клиент платит деньги, вы разрабатываете приложение. Обычно это имиджевые, корпоративные приложения или представление каких-либо сервисов клиента для iOS.
Последний путь заработка наиболее прост в плане оплаты работы. Так как все происходит по обычной схеме, без финансовых отношений с Apple (кроме платы за регистрацию). В остальных случаях необходимо озаботиться вопросами получения заработанных денег. Комментарии с положительным/отрицательным опытом по данному вопросу приветствуются.
Как зарегистрироваться в iOS Developer Program
У вас есть два пути:
- iOS Developer Program — 99$ в год
- iOS Enterprise Developer Program — 299$ в год
Разница между ними в следующем: при участии в Enterprise программе вы не можете, в отличие от обычной программы, выкладывать свои приложения в AppStore, зато можете разрабатывать in-house приложения — приложения, для внутреннего использования в своей компании, без открытого доступа. Если вы решите разрабатывать in-house приложение для своих клиентов, то им рекомендуется вступить в эту программу. В центре поддержки iOS Developer Enterprise Program поясняется этот вопрос (последний вопрос в списке)
В остальном, программы дают одинаковые возможности:
- доступ к инструментам разработки и SDK (включая beta-версии);
- доступ к Apple Developers Forums;
- доступ к обучающим ресурсам (программы-примеры, статьи, видео);
- возможность использовать Ad Hoc для распространения приложений;
- возможность тестировать свои приложения на iPad, iPhone, iPod-touch;
- возможность получать техническую поддержку.
Небольшое замечание по Ad Hoc — это способ распространения приложений без AppStore, прямой установкой файла-сборки приложения через iTunes. И тут возникает вопрос: чем это отличается от тех in-house приложений, которыми манит нас Enterprise программа? Тем, что в стандартной программе вы можете зарегистрировать в год не более 100 устройств для установки на них своих приложений, то есть ни о каком коммерческом распространении тут речь идти не может. Более того, Ad Hoc распространение ориентированно в первую очередь на тестирование продуктов — программы, установленные таким образом, могут работать на устройствах только в течение 6 месяцев.
При регистрации вы можете регистрироваться либо как компания, либо как индивидуальные разработчик.
При регистрации компании нужно быть готовыми предоставить определенные документы.
Для Российских компаний нужно предоставить выписку из Единого Государственного Реестра Юридических Лиц (ЕГРЮЛ) и ее перевод. Название компании при регистрации должно совпадать с названием в выписке. В этой статье можно подробнее узнать о регистрации компании — Регистрация приложения в AppStore — мы сделали это!
Обычно вся процедура регистрации занимает 3-4 недели.
Куда проще регистрироваться индивидуальным разработчикам — после заполнения всех форм на сайте попросят распечатать, заполнить документ-заявку (требуются паспортные данные, данные карточки, адрес проживания и т.д.) и отослать факсом в Apple. После рассмотрения этого документа Apple списывает с вашего счета 99 долларов и вы становитесь зарегистрированным разработчиком. Вся процедура занимает 3-4 дня. Если у вас возникли проблемы с поиском факса, то можно воспользоваться каким-нибудь online-ресурсом, например — www.myfax.com/free
Обязательно ли нужен Mac?
Вам обязательно понадобится Mac OS X, так как ни на какой другой платформе вы не сможете работать с iOS SDK. Есть много различных вариантов разработки iOS приложений, но минимум для сборки и загрузки приложения в AppStore вам будет необходима Mac OS X. Да, последнее время появляются различные сервисы, которые
и пирожки за вас есть будут
предлагают постить приложения за вас и различные другие услуги, и о них на хабре тоже писали. Но, на мой взгляд, все это пока несерьезно и пользоваться услугами подобных контор, при разработке сколько-нибудь значимого приложения не стоит. Хотя, конечно, все зависит от задачи, если вы сможете зарабатывать, используя подобные сервисы, то почему бы и нет:)
Способы заполучить Mac OS X:
- купить Mac (спасибо, Кэп!)
- hackintosh.com
- виртуальная машина
Mac mini сейчас вполне доступная вещь, хотя, конечно, всегда хочется большего, а там цены у Apple уже начинают кусаться.
Относительно двух других вариантов: я слышал отзывы людей, которые вполне счастливы с хакинтошем или с Mac OS X на VMWare, но и отрицательного опыта тоже накоплено достаточно. Тут все зависит от железа, прямоты рук и вашего желания.
В целом, если вы хотите разрабатывать под iPhone, операционная система препятствием стать не должна.
Разница между web и native приложениями
Хочу пояснить разницу между native и web приложениями для iPhone/iPad, пока мы не перешли к инструментам разработки. Первые распространяются через AppStore (или in-house приложения), вторые — всего лишь web-сайт или его часть, специальным образом сконфигурированный под iPhone.
Доступные web-приложения можно посмотреть тут — www.apple.com/webapps
Для публикации своего web-приложения в этом каталоге необходима регистрация в iOS Developer Program. При публикации вас просят указать url приложения и некоторую дополнительную информацию (сайт компании, загрузить иконку и так далее).
Как понимаете, каких-то особенных, отличных от обычных инструментов web-разработчика для написания таких приложений не нужно, хотя сейчас развелось довольно много фреймворков, позволяющих упростить создание подобных приложений и сделать их больше похожими на native приложения.
Среди пользователей iДевайсов web приложения особенной популярностью не пользуются, а многие, по крайней мере в России, даже и не подозревают о них. Так что дальше будем рассматривать только вопросы разработки нативных приложений.
Какие инструменты можно использовать для разработки?
Тут я коснусь только нескольких инструментов — после снятия Apple запрета на ненативные инструменты разработки, чуть ли не каждый день появляются новые IDE и фреймворки.
Нативные средства разработки
Это прежде всего язык Objective-C и среда разработки Xcode (за компанию с Interface Builder, iPhone симулятором и другими приложениями из пакета разработчика). Еще можно писать на C и C++, но без Objective-C вам в некоторых моментах будет все-таки не обойтись.
На хабре довольно много статей об этом языке — стоит только пролистать блог Разработка под Apple iOS . У Objective-C есть определенный шарм (хотя на этот счет высказываются различные мнения), он немного сложен в начале освоения, -парадигма, унаследованная от Smalltalk дает о себе знать — но потом затягивает.
Основной аргумент в пользу использования инструментов от Apple — нативные средства разработки при прочих равных в любом случае дадут на выходе код быстрее и качественнее, чем любые другие инструменты.
Недавно JetBrains анонсировали свою среду разработки для Objective-C — appCode (жаль, что они оказались от супер-названия CIDR — одна компания, имеющая продукт с названием Cider, попросила их не использовать похожую аббревиатуру), так что даже тут появится выбор. Конкуренция, надеюсь, приведет к повышению качества.
MonoTouch
monotouch.net
MonoTouch позволяет разрабатывать приложения для iДевайсов на C#. Ощутимый минус для .NET разработчиков цена — $399 за индивидуальную лицензию.
Что привлекает меня в этом пути: в связке с Mono for Android можно потенциально покрыть довольно большой сегмент мобильного рынка (iOS/Android/WP7), без больших изменений кода.
Flash
Adobe Flash Pro CS5 поддерживает разработку под iPhone. Другое дело, что пока этот путь основательно не разработан и определенная сырость в подходе присутствует.
Titanium & PhoneGap
www.appcelerator.com
www.phonegap.com
Два фреймворка-хэдлайнера в мобильной кроссплатформенной разработке. Краткое описание можно найти в этой статье. Позволяют использовать javascript и HTML5 для разработки native приложений сразу под несколько платформ, в том числе и iOS.
Unity3D
unity3d.com
Отличное средство для разработки игр. Поддерживает множество языков и платформ. Но за все хорошее надо платить — лицензия на Unity Pro стоит $1500 плюс $400-$1500 нужно будет отдать за аддон для разработки под iOS.
Подробнее цены посмотреть можно тут — store.unity3d.com/shop
Сравнение возможностей различных лицензий тут — unity3d.com/unity/licenses
Для себя я пока выбираю Xcode и Objective-C, но пристально смотрю в сторону кроссплатформенной разработки.
Еще одно небольшое замечание, если вы решитесь разрабатывать приложения под заказ
Deadline
Срок сдачи работы не всегда зависит от вас. Перед появлением в AppStore приложение проходит ревью, которое длится минимум 5 дней. Если приложение было отклонено по каким-либо причинам, то, после внесения изменений, необходимо будет отстоять всю очередь снова. Так что обещать клиенту выпустить приложение в AppStore к определенной дате, если у вас нет в запасе двух-трех недель, — поступок довольно безрассудный. Лучше обещайте показать приложение на устройстве к оговоренному сроку и объясните ситуацию с ревью. Для установки приложения на устройство нужно знать его UDID. То есть, даже если вы работаете удаленно, то вы всегда можете собрать приложение и отправить заказчику, чтобы он посмотрел его на своем девайсе.
Спасибо, что прочитали статью!
Do you want to develop software for Mac OS X or iOS? It’s easy to create apps for Linux and Windows on any platform, but developing software for Mac requires a tool set called XCode, designed and built by Apple specifically for Mac OS X.
What is Xcode?
Xcode is an integrated development environment, or IDE, that Apple designed specifically for Mac OS X. An IDE integrates a lot of tools that a developer can use to help them write code, like automatic code completion, version control support, syntax highlighting, debugging, compiling, and more. It puts all these tools in the same interface so all you have to do is click a button for some tasks instead of remembering and then running a command in the terminal.
Xcode has support for many programming languages, including C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit, and Swift. Both Objective-C and Swift are Apple programming languages, making Xcode the default tool for creating iPhone and Mac OSX desktop apps.
Xcode is only made for Mac OS X. So if you only have a Windows-based PC, you will have to use some workarounds to run Xcode. And if you want to build iPhone apps or desktop applications for Mac OS X, you may need access to a Mac OS X computer. Fortunately, there are many ways to work around this issue if you have a PC, which we will cover in the upcoming sections.
Rent a Mac in the cloud
A Mac is an expensive piece of hardware. Why buy one if you are only going to use it to develop a Mac OS X or iPhone app? Other people have had this same thought, and modern cloud computing has made it possible to rent a Mac only when you need it. You can even rent a Mac virtual machine by the hour.
Virtual machines make it possible to install operating systems that run in the cloud. Since they are virtual, they can be ready to use in seconds, and when done with them, the virtual machine can be destroyed, with no trace of sensitive data left behind. For years, you could get virtual machines that ran Windows or Linux. Now you can rent Mac OS X virtual machines at places like MacStadium, MacinCloud, and XcodeClub.
While renting a Mac OS X virtual machine by the hour is economical, if you are using it for a specific task like building an app, planning ahead can save you time. If you don’t have an Apple account already, make sure that’s the first thing you sign up for on your virtual machine. If you plan on using Xcode to develop desktop or iPhone apps on your rented Mac, then you will want to check that the software is installed. Xcode is free for the Mac OSX, but it doesn’t come preinstalled. Some cloud providers will pre-install it so you don’t have to spend your time downloading and installing it. More details on installing Xcode are in the next section, Run a Virtual Mac.
Once you rent your Mac, you will sign into it using RDP, which already comes on your Windows installation, or by using a VNC client. You will then enter the IP address of the Mac you rented in either the RDP or VNC client. Once connected to the virtual machine, you will use your username and password to log in. This will take you to the Mac OSX login screen. Here you will use the password again to log in to the desktop.
Run a virtual Mac
Setting up virtual box
You can also create the virtual machine itself and run it locally on your Windows PC. This is surprisingly easy to do with virtualization software like VMWare WorkStation or the open source alternative VirtualBox. You will be doing what Mac cloud providers are doing, but on your own, so you won’t have to pay a rental fee.
For the purpose of this guide, we’ll be using VirtualBox to set up the virtual machine. If you use a different virtual computer application, the process is similar. Since VirtualBox is open source and free to use, it’s worth downloading it if you don’t already have a copy installed.
Running a virtual computer is quite a demanding process, and you’ll need to have a fairly powerful PC for it to operate successfully. You’ll also need a PC with hardware similar to that of a standard, Apple-constructed iMac, MacBook, or Mac Pro.
To successfully emulate a Mac using a Windows PC, you’ll need the following:
- A Dual-Core Intel processor
- At least 2GB of RAM (4GB+ recommended)
- Hardware Virtualization
You’ll also need an installation file for Mac OS X. You can purchase this online from the Apple Store or, if you already own a MacBook, iMac, or Mac Pro, you can use the install disc you received with your computer.
Once you’ve installed VirtualBox, open the application and choose to install Mac OS X Server 64 Bit. Provide the virtual computer with at least 2GB of RAM (If you have more than 8GB of RAM, choose 4GB+.) and more than 30GB of hard disk space.
VirtualBox will automatically configure the operating system, but you’ll still need to make a few changes manually. Open the Settings menu and make the following changes:
- On the System tab, uncheck Enable EFI
- On the Processor tab, select at least two CPUs
- On the Display tab, increase the video memory to at least 128MB
Installing Mac OS X
Now you will need a copy of the Mac OS X operating system. You can get that from the App Store or by borrowing a copy. You may also be able to find virtual disk images that already have the Mac OS X installed. For these, all you have to do is mount the virtual image in Virtual Box, and you will have a virtual Mac running.
If you have the install image for Mac OS X, you will have to go through the installation process. Just mount the virtual installation disk to the virtual machine you created for your new machine in Virtual Box. If the virtual machine is already running, you may have to restart it for it to pick up the installation disk.
Once the virtual installation disk is running on your virtual Mac, you should be able to follow the wizard to install Mac OS X to it. This process may take a few minutes, and you will need to either have or create a new valid Apple ID in order to complete the installation. Once the operating system finishes installing, you can move on to installing Xcode.
Installing Xcode
Once you’ve configured your Mac OS X virtual machine, installing Xcode is relatively easy. Before you install Xcode, you’ll want to configure your virtual machine to your preferred resolution and settings using the System Preferences menu.
From here, installing Xcode is simple. Open the App Store application from the dock and type “Xcode” into the search bar. You might need to re-enter your account details or enter them for the first time if you didn’t do so during Mac OS X configuration.
Navigate to the Xcode app and click Install Now to download it. If you don’t have an Apple account, you’ll need to create one in order to download the Xcode toolset for your virtual machine.
Xcode is quite a large application, and downloading it could take from a minute to several hours, depending on your Internet connection speed. Once downloaded, open Applications and click “Xcode” to launch the installer.
Upon completion of the installation process, you can use XCode in your virtual machine to program apps for Mac OS or iOS. You can also download other Mac apps to use on your virtual machine.
Build a “Hackintosh”
If you don’t have a Mac, you always have the option of building one. Although we said that Mac OS X and Xcode are only designed to run on Apple hardware, it’s possible to install Mac OS X on a standard PC, though it may take some work.
People that swear by Apple products liked its integration, but Apple is also a closed system. Apple hardware is custom-built for the computer, while much of the hardware running Linux or Windows is interchangeable. Apple software must run on Apple hardware.
Before 2006, Mac computers actually used a different type of processor than the standard PC. Apple had the CPU specifically created for Apple devices. In that environment, it was almost impossible to get Mac OS X to run on a PC, but that didn’t stop the “Hackintosh” community. In 2006, Apple started using an Intel CPU, which makes creating a “Hackintosh” a little simpler. Apple has moved to a custom CPU in their recent hardware releases. But all recent OS X releases can run on an Intel processor, so the steps for turning a standard PC into a machine that can run the Mac operating system should be the same. Another option is creating a dual-boot computer and installing both Windows and Mac OS X on the same machine. When you boot the computer, you will have the option of starting either the Windows or the Mac desktop.
But creating a “Hackintosh” is quite advanced and beyond the scope of this article. That said, converting a standard PC to run Mac may be limited in the future, once Apple’s new CPU becomes the norm. You may have to settle for an older version of Mac OSX that still supports the Intel processor.
Buy a secondhand Mac
If you plan on developing Mac OS X or iPhone apps frequently and if you don’t want to deal with setting up your own virtual machine, logging into your computer on the cloud, or configuring a PC to run Mac OS X, you might want to break down and just buy a Mac.
You can find great deals on old MacBook Pros on sites like eBay. Upon the release of a new generation of MacBooks, Apple fans rush to get the newest model and often put their old machines up for sale. If you buy a MacBook that is only a few years old, it will not only still have some AppleCare left, but also not much of the hardware will have changed. You should be able to update to the latest version of Mac OS X and have a machine you can develop Mac OS X and iPhone apps on for a fraction of the price.
Buy a Mac Mini
Another direction you can take as a Windows user who wants to develop apps for Apple products is buying a Mac Mini. The Mac Mini is a small, portable computer that runs Mac OS X. The Mac Mini also has all the ports you need to connect to hardware like monitors, mice, keyboards, and external hard drives, just like a full-size computer. So you can build a whole computer system around a Mac Mini or use it remotely and connect to it with RDP or VNC from your Windows PC just like you would a virtual machine. It also costs a fraction of what a MacBook Pro or iMac would.
Other options for developing Mac apps
In the options above, we focused on making sure we had a Mac OS X environment to develop on. But you may not need Mac OS X or Xcode to write code that will run on a Mac or on an iPhone. There are other options.
Swift runs on Windows and Linux
In recent years, both Microsoft and Apple have at least partially embraced open source software. One way that Apple did this was by making the Swift programming language open source. So you don’t actually need to be running Mac OS X in order to write code in Swift. Swift now compiles and runs on both Linux and Windows. Swift even supports some of the Windows Desktop GUI. To start developing with Swift on Windows, visit Introducing Swift on Windows.
Create iOS apps using cross platform tools
If the reason you are exploring using Mac OS X and Xcode is iPhone app development, you’re in luck. There are plenty of cross platform frameworks you can use that make it possible to develop iPhone apps on either Mac, Windows, or Linux.
Mobile developers usually either have to specialize in developing iPhone apps or Android apps. The platforms use completely different programming languages, so cross platform tools make it possible to use a single code base to compile apps for both the iOS and Android operating systems.
There are quite a few of these frameworks available. If you are running Windows, Xamarin may be the best option. With Xamarin, you can develop a phone app in the Windows-friendly C# programming language. If you already know web development technologies like HTML, CSS, and JavaScript, either PhoneGap or Ionic would be the right choice because they use web-based technologies to generate phone apps. If you have skills in JavaScript in general and React in particular, then try React Native. React Native uses React and JavaScript to interact with the native operating system in either Android or iOS.
Use an online Swift sandbox to test your code
If you want to try programming in Swift, Apple’s most popular programming language, you don’t even need a specific type of operating system. You can program online from your phone if you want. Sites like Online Swift Playground and Swift Fiddle will let you write, run, and test your Swift code in the browser.
Conclusion
If you want to develop apps for Mac OS X or the Apple iPhone, you don’t necessarily need a Mac computer. There are quite a few options for Windows users. You can rent a Mac computer through a cloud provider. You can create a Mac virtual machine and run OS X virtually. You can even hack a standard PC so that Mac OS X can run on it. Swift is also cross-platform now, so you can write Swift code on Windows and Linux. And if you are developing phone apps, there are plenty of frameworks available that let you build mobile apps for both Android and iOS on Windows, Mac, or Linux.
Do you want to develop software for Mac OS X or iOS? It’s easy to create apps for Linux and Windows on any platform, but developing software for Mac requires a tool set called XCode, designed and built by Apple specifically for Mac OS X.
What is Xcode?
Xcode is an integrated development environment, or IDE, that Apple designed specifically for Mac OS X. An IDE integrates a lot of tools that a developer can use to help them write code, like automatic code completion, version control support, syntax highlighting, debugging, compiling, and more. It puts all these tools in the same interface so all you have to do is click a button for some tasks instead of remembering and then running a command in the terminal.
Xcode has support for many programming languages, including C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit, and Swift. Both Objective-C and Swift are Apple programming languages, making Xcode the default tool for creating iPhone and Mac OSX desktop apps.
Xcode is only made for Mac OS X. So if you only have a Windows-based PC, you will have to use some workarounds to run Xcode. And if you want to build iPhone apps or desktop applications for Mac OS X, you may need access to a Mac OS X computer. Fortunately, there are many ways to work around this issue if you have a PC, which we will cover in the upcoming sections.
Rent a Mac in the cloud
A Mac is an expensive piece of hardware. Why buy one if you are only going to use it to develop a Mac OS X or iPhone app? Other people have had this same thought, and modern cloud computing has made it possible to rent a Mac only when you need it. You can even rent a Mac virtual machine by the hour.
Virtual machines make it possible to install operating systems that run in the cloud. Since they are virtual, they can be ready to use in seconds, and when done with them, the virtual machine can be destroyed, with no trace of sensitive data left behind. For years, you could get virtual machines that ran Windows or Linux. Now you can rent Mac OS X virtual machines at places like MacStadium, MacinCloud, and XcodeClub.
While renting a Mac OS X virtual machine by the hour is economical, if you are using it for a specific task like building an app, planning ahead can save you time. If you don’t have an Apple account already, make sure that’s the first thing you sign up for on your virtual machine. If you plan on using Xcode to develop desktop or iPhone apps on your rented Mac, then you will want to check that the software is installed. Xcode is free for the Mac OSX, but it doesn’t come preinstalled. Some cloud providers will pre-install it so you don’t have to spend your time downloading and installing it. More details on installing Xcode are in the next section, Run a Virtual Mac.
Once you rent your Mac, you will sign into it using RDP, which already comes on your Windows installation, or by using a VNC client. You will then enter the IP address of the Mac you rented in either the RDP or VNC client. Once connected to the virtual machine, you will use your username and password to log in. This will take you to the Mac OSX login screen. Here you will use the password again to log in to the desktop.
Run a virtual Mac
Setting up virtual box
You can also create the virtual machine itself and run it locally on your Windows PC. This is surprisingly easy to do with virtualization software like VMWare WorkStation or the open source alternative VirtualBox. You will be doing what Mac cloud providers are doing, but on your own, so you won’t have to pay a rental fee.
For the purpose of this guide, we’ll be using VirtualBox to set up the virtual machine. If you use a different virtual computer application, the process is similar. Since VirtualBox is open source and free to use, it’s worth downloading it if you don’t already have a copy installed.
Running a virtual computer is quite a demanding process, and you’ll need to have a fairly powerful PC for it to operate successfully. You’ll also need a PC with hardware similar to that of a standard, Apple-constructed iMac, MacBook, or Mac Pro.
To successfully emulate a Mac using a Windows PC, you’ll need the following:
- A Dual-Core Intel processor
- At least 2GB of RAM (4GB+ recommended)
- Hardware Virtualization
You’ll also need an installation file for Mac OS X. You can purchase this online from the Apple Store or, if you already own a MacBook, iMac, or Mac Pro, you can use the install disc you received with your computer.
Once you’ve installed VirtualBox, open the application and choose to install Mac OS X Server 64 Bit. Provide the virtual computer with at least 2GB of RAM (If you have more than 8GB of RAM, choose 4GB+.) and more than 30GB of hard disk space.
VirtualBox will automatically configure the operating system, but you’ll still need to make a few changes manually. Open the Settings menu and make the following changes:
- On the System tab, uncheck Enable EFI
- On the Processor tab, select at least two CPUs
- On the Display tab, increase the video memory to at least 128MB
Installing Mac OS X
Now you will need a copy of the Mac OS X operating system. You can get that from the App Store or by borrowing a copy. You may also be able to find virtual disk images that already have the Mac OS X installed. For these, all you have to do is mount the virtual image in Virtual Box, and you will have a virtual Mac running.
If you have the install image for Mac OS X, you will have to go through the installation process. Just mount the virtual installation disk to the virtual machine you created for your new machine in Virtual Box. If the virtual machine is already running, you may have to restart it for it to pick up the installation disk.
Once the virtual installation disk is running on your virtual Mac, you should be able to follow the wizard to install Mac OS X to it. This process may take a few minutes, and you will need to either have or create a new valid Apple ID in order to complete the installation. Once the operating system finishes installing, you can move on to installing Xcode.
Installing Xcode
Once you’ve configured your Mac OS X virtual machine, installing Xcode is relatively easy. Before you install Xcode, you’ll want to configure your virtual machine to your preferred resolution and settings using the System Preferences menu.
From here, installing Xcode is simple. Open the App Store application from the dock and type “Xcode” into the search bar. You might need to re-enter your account details or enter them for the first time if you didn’t do so during Mac OS X configuration.
Navigate to the Xcode app and click Install Now to download it. If you don’t have an Apple account, you’ll need to create one in order to download the Xcode toolset for your virtual machine.
Xcode is quite a large application, and downloading it could take from a minute to several hours, depending on your Internet connection speed. Once downloaded, open Applications and click “Xcode” to launch the installer.
Upon completion of the installation process, you can use XCode in your virtual machine to program apps for Mac OS or iOS. You can also download other Mac apps to use on your virtual machine.
Build a “Hackintosh”
If you don’t have a Mac, you always have the option of building one. Although we said that Mac OS X and Xcode are only designed to run on Apple hardware, it’s possible to install Mac OS X on a standard PC, though it may take some work.
People that swear by Apple products liked its integration, but Apple is also a closed system. Apple hardware is custom-built for the computer, while much of the hardware running Linux or Windows is interchangeable. Apple software must run on Apple hardware.
Before 2006, Mac computers actually used a different type of processor than the standard PC. Apple had the CPU specifically created for Apple devices. In that environment, it was almost impossible to get Mac OS X to run on a PC, but that didn’t stop the “Hackintosh” community. In 2006, Apple started using an Intel CPU, which makes creating a “Hackintosh” a little simpler. Apple has moved to a custom CPU in their recent hardware releases. But all recent OS X releases can run on an Intel processor, so the steps for turning a standard PC into a machine that can run the Mac operating system should be the same. Another option is creating a dual-boot computer and installing both Windows and Mac OS X on the same machine. When you boot the computer, you will have the option of starting either the Windows or the Mac desktop.
But creating a “Hackintosh” is quite advanced and beyond the scope of this article. That said, converting a standard PC to run Mac may be limited in the future, once Apple’s new CPU becomes the norm. You may have to settle for an older version of Mac OSX that still supports the Intel processor.
Buy a secondhand Mac
If you plan on developing Mac OS X or iPhone apps frequently and if you don’t want to deal with setting up your own virtual machine, logging into your computer on the cloud, or configuring a PC to run Mac OS X, you might want to break down and just buy a Mac.
You can find great deals on old MacBook Pros on sites like eBay. Upon the release of a new generation of MacBooks, Apple fans rush to get the newest model and often put their old machines up for sale. If you buy a MacBook that is only a few years old, it will not only still have some AppleCare left, but also not much of the hardware will have changed. You should be able to update to the latest version of Mac OS X and have a machine you can develop Mac OS X and iPhone apps on for a fraction of the price.
Buy a Mac Mini
Another direction you can take as a Windows user who wants to develop apps for Apple products is buying a Mac Mini. The Mac Mini is a small, portable computer that runs Mac OS X. The Mac Mini also has all the ports you need to connect to hardware like monitors, mice, keyboards, and external hard drives, just like a full-size computer. So you can build a whole computer system around a Mac Mini or use it remotely and connect to it with RDP or VNC from your Windows PC just like you would a virtual machine. It also costs a fraction of what a MacBook Pro or iMac would.
Other options for developing Mac apps
In the options above, we focused on making sure we had a Mac OS X environment to develop on. But you may not need Mac OS X or Xcode to write code that will run on a Mac or on an iPhone. There are other options.
Swift runs on Windows and Linux
In recent years, both Microsoft and Apple have at least partially embraced open source software. One way that Apple did this was by making the Swift programming language open source. So you don’t actually need to be running Mac OS X in order to write code in Swift. Swift now compiles and runs on both Linux and Windows. Swift even supports some of the Windows Desktop GUI. To start developing with Swift on Windows, visit Introducing Swift on Windows.
Create iOS apps using cross platform tools
If the reason you are exploring using Mac OS X and Xcode is iPhone app development, you’re in luck. There are plenty of cross platform frameworks you can use that make it possible to develop iPhone apps on either Mac, Windows, or Linux.
Mobile developers usually either have to specialize in developing iPhone apps or Android apps. The platforms use completely different programming languages, so cross platform tools make it possible to use a single code base to compile apps for both the iOS and Android operating systems.
There are quite a few of these frameworks available. If you are running Windows, Xamarin may be the best option. With Xamarin, you can develop a phone app in the Windows-friendly C# programming language. If you already know web development technologies like HTML, CSS, and JavaScript, either PhoneGap or Ionic would be the right choice because they use web-based technologies to generate phone apps. If you have skills in JavaScript in general and React in particular, then try React Native. React Native uses React and JavaScript to interact with the native operating system in either Android or iOS.
Use an online Swift sandbox to test your code
If you want to try programming in Swift, Apple’s most popular programming language, you don’t even need a specific type of operating system. You can program online from your phone if you want. Sites like Online Swift Playground and Swift Fiddle will let you write, run, and test your Swift code in the browser.
Conclusion
If you want to develop apps for Mac OS X or the Apple iPhone, you don’t necessarily need a Mac computer. There are quite a few options for Windows users. You can rent a Mac computer through a cloud provider. You can create a Mac virtual machine and run OS X virtually. You can even hack a standard PC so that Mac OS X can run on it. Swift is also cross-platform now, so you can write Swift code on Windows and Linux. And if you are developing phone apps, there are plenty of frameworks available that let you build mobile apps for both Android and iOS on Windows, Mac, or Linux.
Develop iOS Apps on Windows With Cross-Platform Tools
Cross-platform tools are awesome: you code your app once, and export it to iOS and Android. That could potentially cut your app development time and cost in half. Several cross-platform tools allow you to develop iOS apps on a Windows PC, or allow you to compile the app if there’s a Mac in your local network.
Well, not so fast…
The cross-platform tool ecosystem is very large. On the one side you have complete Integrated Development Environments (IDEs) like Xamarin, that allow you to build cross-platform apps with C#.
The middle ground is covered by tools like PhoneGap, Cordova, Ionic and Appcelerator, that let you build native apps with HTML5 components. The far end includes smaller platforms like React Native that allow you to write native apps with a JavaScript wrapper.
The one thing that stands out for all cross-platform tools is this: they’re not beginner friendly! It’s much easier to get access to a Mac, learn Swift, and build a simple app, than it is to get started with Xamarin.
Most of the cross-platform tools require you to have a basic understanding of programming, compilation options, and the iOS and Android ecosystems. That’s something you don’t really have as a beginner developer!
Having said that, let’s look at a couple of options:
If you’re familiar with Windows-based development tools and IDEs, and if you already know how to code, it’s worthwhile to check out Xamarin. With Xamarin you code apps in C#, for multiple platforms, using the Mono and MonoTouch frameworks.
If you’re familiar with web-based development, check out PhoneGap or Ionic. You’ll feel right at home with HTML 5, CSS and JavaScript. Don’t forget: a native app works different than a website…
If you’re familiar with JavaScript, or if you’d rather learn to code JavaScript than Swift, check out React Native. With React Native you can code native apps for iOS and Android using a “wrapper”.
Always deliberately choose for cross-platform tools because it’s a smart option, not because you think a native platform language is bad. The fact that one option isn’t right, doesn’t immediately make another option smarter!
If you don’t want to join the proprietary closed Apple universe, don’t forget that many cross-platform tools are operated by equally evil companies like Google, Facebook, Microsoft, Adobe and Amazon.
An often heard argument against cross-platform tools is that they offer limited access to and support for smartphone hardware, and are less “snappy” than their native counterparts. Keep in mind that any cross-platform tool will require you to write platform-specific code at one point, especially if you want to code custom features.
Последнее обновление: 13.12.2022
Рассмотрим построение проекта на Maui и C# для iOS.
Взаимодействие iOS и Maui
Весь код для непосредственного взаимодействия с платформой iOS расположен в проекте в папке Platforms/iOS/
Здесь нас будут интересовать два файла: AppDelegate.cs и Program.cs.
Работа приложения iOS начинается с кода, расположенного в файле Program.cs:
using ObjCRuntime; using UIKit; namespace HelloApp; public class Program { static void Main(string[] args) { UIApplication.Main(args, null, typeof(AppDelegate)); } }
Метод Main класса Program служит точкой входа в приложения. В нем же в свою очередь вызывается метод UIApplication.Main()
, который определяет суть приложения и который
обращается к классу AppDelegate из файла AppDelegate.cs:
using Foundation; namespace HelloApp; [Register("AppDelegate")] public class AppDelegate : MauiUIApplicationDelegate { protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); }
А класс Appdelegate, в свою очередь, переопределяет метод CreateMauiApp(), в котором вызывается метод CreateMauiApp() и
таким образом реализуется связь с кодом приложения MAUI.
Компиляция проекта для iOS из Visual Studio на Windows
Рассмотрим, как создавать приложения под iOS из Visual Studio на Windows. Прежде всего, следует отметить, что технически для компиляции приложения под iOS
необходим MacBook. Кроме того, на MacOS должны быть установлены
все необходимые инструменты для разработки под Maui, как описывалось в прошлой теме, и также должна быть установлена последняя версия XCode.
Для подключения к MacOS Visual Studio применяет SSH.
Возьмем простейший проект Maui, который создается по умолчанию. Прежде всего нам надо открыть доступ извне на
самой машине под управлением Mac OS. Для этого на MacOS перейдем к настройкам общего доступа, среди которых надо включить опцию «Удаленный вход»:
В этом окне надо отметить IP-адрес в рамках подсети, по которому мы будем подключаться к макбуку. В моем случае 192.168.0.102.
Это были все необходимые настройки для Mac OS. Теперь перейдем к Visual Studio. Перейдем к пункту меню Tools -> iOS -> Pair to Mac
Открывшееся окно отобразит список доступных хостов MacOS для подключения:
Выберем в этом окне нужное подключение и нажмем на кнопку Connect. После этого откроется диалоговое окно, в котором надо будет ввести аутентификационные данные для подключения к Mac OS (то есть логин и пароль пользователя
на машине Mac OS):
Если вы вдруг не уверены в правильности вводимого логина, то его можно узнать на Mac OS, введя в терминал команду whoami.
При первом подключении Visual Studio может загружать и установливать некоторые необходимые пакеты для связи с MacOS.
После успешного логина и подключения все окна можно закрыть. А Visual Studio с помощью значка зеленого монитора на панели инструментов укажет, что подключение успешно установлено
И затем мы сможем использовать удаленную машину Mac OS для компиляции приложения, а в Visual Studio мы сможем выбрать нужный симулятор iOS и запустить проект:
После этого запустится на симуляторе наш проект:
Стоит отметить, что несмотря на то, что мы можем запустить приложения на симуляторе непосредственно в Windows, но все равно нам необходим Mac OS
для компиляции проекта.
Настройка компиляции под iOS
Если мы перейдем к свойствам проекта в visual Studio, то в секции Application/iOS Targets мы можем настроить минимальную и целевую версии iOS, под которые выполняется
построение проекта.
Здесь нам доступны следующие опции:
-
Target the iOS platform: при установке этого флажка .NET MAUI при построении проекта будет также создавать версию приложения для iOS.
-
Target .NET Runtime: применяемая версия .NET
-
Target iOS Framework: применяемая версия iOS
-
Minimum Target iOS Framework: минимальная версия iOS, под которую создается приложение
Кроме того, внизу свойств проекта с помощью пункта iOS можно настроить различные параметры публикации проекта.
Компиляция проекта для iOS на Mac OS
При компиляции проекта MAUI под iOS на Mac OS все естественно несколько проще. Если мы используем Visual Studio for Mac, то также мы можем
выбрать из панели запуска нужный симулятор iOS, либо даже подключиться к реальному устройству с iOS через WiFi:
При выборе симулятора iOS будет запущено приложение на выбранном симуляторе XCode.
Честно говоря, хотя вы, возможно, не захотите полностью работать с этим языком в этой среде для создания приложений или чего-то еще, вы можете обнаружить полезный факт, что программирование на этом языке в среде Windows предназначено только для обучения и изучения синтаксиса. Следует отметить, что никто не может Купить устройство Apple Чтобы иметь дело с этим языком, поэтому, если вы один из тех, кто работает в Окружающая среда Windows И кто может захотеть представиться на Swift Language Для начала вы нашли нужную статью.
Swift Language — это язык программирования Высокопроизводительная система с очень чистым и современным синтаксисом, обеспечивающая беспрепятственный доступ к существующим программам на C и Objective-C, по умолчанию безопасная в памяти. Несмотря на то что Из этого Свифта Однако, вдохновленный Objective-C и многими другими языками, он сам по себе не является языком, производным от C.Как полный, независимый язык, Swift объединяет основные функции, такие как управление потоком, структуры данных и функции, с высокоуровневыми структурами. такие как объекты, протоколы, замыкания и обобщения. Swift включает модули, устраняя необходимость в заголовках и повторении кода, если это необходимо.
Итак, Swift — один из самых популярных языков на данный момент, и не зря. Приложения для Mac и iOS захватывают большую часть рынка. Возможность создавать приложения для iOS изначально важна для людей, которые не хотят погружаться в глубины Objective C.
Поскольку Swift является домом для Apple, вам нужен Mac, верно? Ошибка. Хотя нет способа связать Swift в Windows «вне приложения», это не означает, что пользователи Windows не могут изучить Swift.
Вот как создать, скомпилировать и запустить простую программу Swift в Windows 10.
Что такое Свифт?
Прежде чем мы начнем, давайте посмотрим, что такое Swift на самом деле. Swift — это язык программирования, разработанный Apple. По словам Криса Латтнера, для этого потребовались идеи «из Objective-C, Rust, Haskell, Ruby, Python, C #, CLU и многих других языков программирования».
Это относительно молодой язык, выпущенный для публики в 2014 году, хотя он уже получил широкое признание. ситуация Индекс TIOBE В рейтинге лучших языков программирования в 2017 году Swift занял 11-е место, что делает его одним из самых быстрорастущих языков всех времен.
Короче говоря, если вы программируете для Mac или iOS, Swift для вас! Для более глубокого изучения использования Swift ознакомьтесь с этими причинами, по которым стоит изучить Swift.
Во-первых, нам понадобится редактор для написания нашего кода. Вы можете использовать любую удобную для вас среду IDE, хотя это не обязательно, и подойдет любой текстовый редактор. Выбор в основном зависит от личных предпочтений, хотя, если вам нужна помощь, использование этого руководства может помочь вам решить, что может помочь.
Сегодня мы будем использовать Notepad ++, потому что он бесплатный, простой и расширяемый. Скачать Блокнот ++ И вы должны его открыть. Давайте окунемся в мир программирования прямо сейчас!
Приложение Simple Swift для Windows
Для нашего тестового проекта сегодня мы собираемся создать простую программу, которая запускается в командной строке Windows. Начните с открытия нового файла Notepad ++. Мы начнем с вывода вопроса на экран, дождемся, пока пользователь напишет свой ответ, а затем воспользуемся этим ответом для предоставления ответа.
print("What is your name?")
Это будет отображаться, когда программа запущена. Теперь, когда мы задали вопрос, мы должны предоставить возможность пользователю ответить. Для этого мы используем метод readline () и сохраняем ответ как переменную с именем response.
var response = readLine()
Если вы знакомы с другими языками программирования, вы можете заметить здесь небольшие отличия. Во-первых, мы можем сохранить данные, полученные из readLine, как переменную вместо того, чтобы указывать, что это будет строка. Еще одно изменение для программистов, перешедших с JavaScript или C #, — это отсутствие точек с запятой для обозначения конца строк.
может быть Пользователи Python Здесь уже больше дома!
добавить вывод
Теперь, когда эта информация хранится в переменной, мы хотим использовать ее и отобразить для пользователя. Что может быть лучше, чем пожелать отличного дня?
print("Hello (response!), I hope you are having a great day!")
Даже если у вас есть опыт работы на других языках, вы увидите здесь некоторые различия. Вместо использования оператора + вне кавычек для отображения вашей переменной вы можете использовать (имя_переменной) в кавычках. Еще одно преимущество Swift — использование необязательных значений. Эти значения трудно понять на первый взгляд, но они добавляют больше функциональности к использованию переменных в Swift.
В этом случае мы просто хотим отобразить значение как есть, поэтому мы добавляем восклицательный знак после имени переменной. отклик! Чтобы указать, что это не необязательное значение. Необязательное значение — это переменная, которой может быть присвоено или не присвоено значение. не требует. Если ему не присвоено значение, оно не будет установлено ни с чем.
Определите вопросительный знак (?) После типа значения он не является обязательным, а восклицательный знак означает, что это не так.
Ваш код будет выглядеть так:
Чтобы сохранить код, используйте Файл -> Сохранить как и выберите файл Swift. Из списка Сохранить как тип. Если в вашем списке отсутствует тип файла Swift, выберите вместо него «Все файлы» и добавьте расширение файла. swift после выбранного имени файла.
Быстрая компиляция в Windows 10
Теперь, когда у нас есть простое приложение, нам нужно его скомпилировать и запустить. Хотя встроенного способа программирования Swift в Windows 10 нет, есть обходной путь. Хан Санджин создал переводчик для Swift, и он доступен Скачать с Github. Загрузите и установите приложение Swift для Windows, следуя инструкциям по ссылке.
После установки откройте его. Нажмите кнопкуПеревести файли выберите приложение, которое вы создали ранее. Нажмите Компилировать И подождите, пока приложение скомпилируется.
Для этого апплета это должно быть почти мгновенным, хотя это может занять некоторое время, в зависимости от того, насколько сложен ваш код!
В диалоговом окне должно появиться сообщение «Преобразовано успешно». Если нет, просмотрите свой код, чтобы убедиться, что вы не допустили ошибок. После того, как код будет скомпилирован, нажмите «Выполнить», чтобы запустить программу. Программа откроется в командной строке Windows и будет выглядеть так:
Стоит отметить, что вы должны использовать приложение Swift для Windows для запуска вашего кода, EXE-файл, созданный сам по себе, не будет запускаться, даже если приложение открыто.
Проект SwiftForWindows с открытым исходным кодом предоставляет простую в использовании среду разработки для программирования приложений Swift для Windows. Проект работает с компилятором Swift для Cygwin, MSVC и MinGW.
Начните писать код на Swift в Windows уже сегодня
Если вы решите, что Swift для вас, существует множество инструментов, которые могут вам помочь. Если у вас есть базовое представление об окружающей среде, почему бы не попробовать Несколько стартап-проектов для возрождения ваших знаний؟
В статье рассказывается:
- Необходимые знания и навыки для разработки iOS-приложений
- Основы разработки приложений под iOS
- Пошаговая инструкция по разработке приложения для iOS-приложения
- Пример разработки iOS-приложений на языке Swift
- Различия в разработке мобильных приложений для iOS и Android
- 5 конструкторов для быстрой разработки приложений для iOS
- Программы для разработки iOS-приложений на Windows
- Цена разработки приложений для iOS
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Разработка iOS-приложений – перспективное направление в сфере IT. Если вы уже программируете какое-то время, то наверняка задумывались над тем, чтобы попробовать себя в создании мобильной программы для iPhone, но, возможно, что-то вас останавливало. А ведь вы уже давно могли бы освоить эту нишу и начать зарабатывать хорошие деньги.
Чтобы не терять времени, начинайте прямо сейчас, а наша подробная инструкция вам поможет. Ниже вас ждет информация: от основ до мелких нюансов, вооружившись которой вы будете знать, какие знания и навыки требуются для создания мобильных приложений под iOS, а также из каких этапов состоит данный процесс. Если у вас есть идея своего продукта, то это уже большой шаг, а всё остальное – дело техники!
Создание любых приложений, в том числе для устройств на iOS, требует достаточно обширных знаний. Математику и логику программисту также нужно знать, даже если на начальном этапе это не понадобится. Развитие современных технологий дало разработчикам возможность не изучать досконально архитектуры ПК, тем не менее понимание основ (системы счисления и способы их преобразования, скорость работы подпрограмм, эффективность различных алгоритмов) в этой области необходимо.
Программисту, специализирующемуся на iOS-приложениях, нужно на профессиональном уровне разбираться в самих операционных системах от Apple (как macOS, так и iOS). Добавим обязательное требование к iOS-разработчику, заключающееся в знании языков программирования, созданных для этой архитектуры (Objective-C, Swift). Навыки владения Delphi, C++, C# или VB.NET здесь особо не нужны.
Безусловно, знать хотя бы основы того же C++ не помешает, тем более что его элементы встречаются и в «яблочных» языках. И все же наибольшей популярностью в разработке для Apple-устройств пользуется Objective-C. Этот язык появился еще в начале 1980-х годов (то есть гораздо раньше C++). Более молодой Swift создатели выпустили в свет в 2014-м. И Objective-C, и Swift активно используются в разработке. Первый нужен для поддержки старого ПО, на втором же пишутся все новые приложения. По этой причине знать желательно оба языка.
Опытным разработчикам будет гораздо легче осваивать программирование iOS-приложений. Но начать развитие в этом направлении можно, даже не имея никаких навыков в разработке компьютерных программ. Для создания приложений под iOS существует среда PaintCode, появившаяся благодаря активному развитию технологий NoCode.
Скачать файл
А вот английский язык необходимо знать, так как вся актуальная документация по разработке на сайте Apple написана именно на нем. Да и в целом в программировании английский играет ключевую роль.
Основы разработки приложений под iOS
Приложения, разработанные для iOS, обладают множеством особенностей, которые в процессе разработки нужно учитывать.
- Создание iOS-приложений требует предварительного тщательного анализа отзывов и пожеланий целевой аудитории.
- Программирование для устройств Apple выполняется в среде Xcode IDE, которая работает только в OS X.
- Для размещения готового приложения в AppStore необходимо строго соблюдать требования этого магазина.
- Выбор языка для начала. Начинать разрабатывать можно как простые, так и кросс-платформенные приложения. В первом случае используется один из двух основных языков для разработки под iOS — Objective-C и Swift. Во втором случае может быть использован код на Java, C++, Python и т. п.
- Выбор типа программирования (нативное, гибридное, «чистый web»). Выбор здесь определяется самой концепцией приложения. Если от будущей программы не требуются постоянная доступность, автономность работы в условиях отсутствия интернета и наличие уведомлений для пользователя, лучшим вариантом будет веб-приложение. Благодаря запуску прямо из браузера такую программу можно использовать на любой платформе. Среди других преимуществ отметим универсальность, автоматические обновления, дешевизну разработки.Гибридную или нативную разработку стоит выбрать при создании полноценного мобильного приложения. В первом случае создаются сразу несколько версий программы соответственно для нескольких операционных систем. Это дешевле программирования исключительно под iOS, но и дает в итоге меньшую производительность и безопасность приложения.Выбор гибридного типа разработки обоснован, если:
- необходимо создать простое приложение;
- предполагается недорогое использование на двух платформах;
При этом, как указывалось ранее, нужно быть готовым к плохой производительности и к постоянной зависимости от интернета, поскольку гибридные программы работают на связке HTML5 + JS.
Нативный подход позволяет обойтись без «костылей». Приложение разрабатывается только на стандартном для iOS языке.
Когда стоит выбрать последний вариант?
- Приложение создается для работы на одной платформе.
- Предполагается использование функций, специфичных для данной платформы.
- Требуется постоянное обновление программы, скоординированное с выходом обновлений ОС или выпуском новых версий устройств Apple.
- Стоимость размещения приложения в AppStore. На проверку магазином заявки на публикацию уходят обычно сутки. Далее после одобрения создатель программы должен подписать соглашение и заплатить 99 долларов в качестве взноса за iOS Developer Program. Причем, платеж не единоразовый — его необходимо проводить ежегодно.
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 18715
Пошаговая инструкция по разработке приложения для iOS-приложения
- Выбор идеи. Первый этап является ключевым и одновременно самым интересным. Он определит популярность приложения среди аудитории AppStore. Здесь самое сложное для разработчика — определиться, что будет представлять собой программа: логическую игру, агрегатор онлайн-магазинов и т. д. Необходимо решить, какую именно задачу должно решать приложение. Быстрый ответ на этот вопрос будет означать, что разработчик выбрал правильное направление.
- Выбор инструментария. Сформулировав идею, не стоит сразу писать для нее код. В разработке мобильных приложений iOS важное значение имеет дизайн (внешний вид). И для этих целей отлично подойдет векторный редактор Sketch. Причем оценивать варианты наработок можно сразу же на устройстве благодаря плагину Sketch Preview и бесплатному просмотрщику Skala Preview. После создания дизайна и назначения функций кнопкам программист может приступать непосредственно к коду.
- Этап разработки. Приложение для iOS разрабатывается, как правило, на Objective-C, хотя все более популярным среди разработчиков становится Swift. Этот язык примечателен более простым синтаксисом и, как следствие, он проще в освоении. Тем не менее, для самостоятельной разработки приложений под iOS Swift требуется тщательное штудирование специализированных учебников и справочников. За время такого обучения другой разработчик может уже реализовать намеченную идею, создав аналогичное приложение.
Поэтому желательно не обучаться самостоятельно по книжкам, а пройти соответствующий курс, в процессе прохождения которого есть возможность уже создать первое приложение.
- Выбор названия. Любопытный факт: имя определяет большую часть успеха приложения. Именно с названием (не считая иконки) впервые сталкивается пользователь, когда находит приложение, например, через поиск. Поэтому к неймингу нужно отнестись серьезно:
- для игры подойдет огромное множество вариантов, пришедших в голову создателю;
- узкоспециализированное приложение желательно назвать в соответствии с функцией (например, вариант для заметок — «Notes»);
- лучше подбирать англоязычное название, понятное иностранным пользователям (например, приложение из категории «музыка» логично назвать «Music»).
Читайте также
На основе выбранного имени разработчику не составит труда создать пиктограмму приложения. Ничего страшного, если иконка окажется похожей на другой продукт, хотя стремиться к этому точно не стоит.
- Размещение в магазине. Готовое к загрузке и тщательно протестированное приложение можно публиковать в AppStore. Но перед этим необходимо купить подписку разработчика за 99 долларов в год, о чем мы уже упоминали ранее. Далее рекомендуется внимательно изучить гайдлайны магазина.
Точный инструмент «Колесо компетенций»
Для детального самоанализа по выбору IT-профессии
Список грубых ошибок в IT, из-за которых сразу увольняют
Об этом мало кто рассказывает, но это должен знать каждый
Мини-тест из 11 вопросов от нашего личного психолога
Вы сразу поймете, что в данный момент тормозит ваш успех
Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.
Только до 13 февраля
Осталось 17 мест
На изучение всех пунктов и подпунктов уйдет достаточно много времени. Удостоверившись в удовлетворении всех требований Apple, программист может приступать к загрузке своего приложения в AppStore, а после этого ожидать одобрения модераторов и при необходимости исправлять найденные замечания.
Пример разработки iOS-приложений на языке Swift
В качестве примера возьмем простое приложение, которое рассчитывает индекс массы тела и количество калорий, требуемое для поддержания массы. Расчет будет вестись с использованием стандартной формулы ИМТ и формулы Гарисса Бенедикта.
- В первую очередь необходимо создать проект в среде Xcode. Сделайте это, нажав комбинацию клавиш Cmd+Shift+N или выбрав в меню File — New пункт Project.
- Выберите вариант Tabbed Application и нажмите Next.
- Придумайте название приложения в соответствии с приведенными критериями и впишите его в поле Product Name. Нажмите Next и сохраните проект в определенной папке. Параметры Organization Name и Organization Identifier можно оставить как есть. Важно убедиться, что в поле Language выбран Swift.
- После сохранения проекта вы увидите рабочее пространство среды разработки. Слева и справа расположены панели, соответственно, Navigator и Utilites. В них имеется набор вкладок, позволяющих использовать различные функции. К примеру, в первой вкладке панели Navigator отображается перечень файлов проекта, а третья вкладка выполняет поиск по проекту.
- В первой вкладке Навигатора отыщите Main.storyboard и нажмите на него. Данный файл определяет имеющиеся в приложении экраны (контроллеры), в которые можно добавлять элементы. Между экранами также могут задаваться связи. Выбранный контроллер выделяется синей рамкой, а в панели Utilites отображаются его свойства (к примеру, размер). Для изменения размера экрана достаточно выбрать другое значение в поле Size.
- Запустите готовый шаблон приложения и оцените его внешний вид в симуляторе, выбрав вверху слева тип устройства и нажав на Play (либо Cmd + R). Перед вами отобразится приложение из двух экранов, переключаться между которыми можно с помощью таб-бара.
- Указанные табы необходимо переименовать. Сперва кликните по каждому табу либо выберите его из иерархического списка элементов управления. Выбранный элемент должен подсветиться зеленым цветом.
- Далее нужно выбрать функцию Attributes Inspector в панели Utilites. Переименуйте табы, поменяв значение первого таба на «BMR/BMI», а второго таба — на «ккал». На данном этапе первый экран содержит различные надписи. Их нужно удалить, выделяя мышкой и нажимая клавишу Delete.
- Добавьте собственные элементы управления к сцене. Для этого выберите нужные объекты из библиотеки Object Library, расположенной в нижней части панели Utilites. Отыщите объект Label и переместите его на экран «BMR/BMI». Предварительно дважды щелкните по сцене для приведения ее масштаба к стандартному. Панель Utilites среди прочего содержит функции изменения текста, шрифта и т. д.
- Переместите несколько других лейблов, пропишите им текст как на изображении. В последнем лейбле необходимо установить параметру Lines значение 2 для автоматического переноса текста на новую строку.
- Далее добавьте 3 текстовых поля (Text Field), установив их параметры Keyboard type в значение Number Pad. Сам текст оставьте по умолчанию.
- Следующим шагом нужно добавить элементы управления, позволяющие пользователям выбирать пол и количество тренировок в неделю. Это можно сделать путем добавления элемента Segmented Control из библиотеки Object Library на экран. В данном элементе есть возможность изменять количество сегментов и устанавливать текст для каждого сегмента.
- Добавьте кнопку в проект и задайте ей заголовок. Этот элемент называется button. Затем добавьте еще один лейбл со значением параметра Lines, равном 4.
- Откройте Assistant Editor, выбрав контроллер BMI/BMR и щелкнув по двум пересекающимся кольцам вверху справа. Отобразится код выбранного контроллера.
- Добавьте элементы управления. Кликните по первому текстовому полю для ввода возраста, зажмите Ctrl и повторно кликните по этому полю. Удерживая клавишу мыши, перетащите элемент внутрь класса. Должна всплыть подсказка “Insert Outlet, Action, …”. Как только она появилась, отпустите клавишу мыши. Отобразится окно создания связи. Впишите в поле имени значение ageTextField и нажмите Connect.
- Таким образом, вы создали переменную ageTextField. Повторите данную операцию для оставшихся текстовых полей, лейблов и элементов segmented controls, предполагающих текстовое значение результата. Далее переместите кнопку. Тип соединения следует указать Action, а в поле имени вписать calculateTapped.
- Затем в метод calculateTapped нужно скопировать указанный ниже код, предназначенный непосредственно для расчета целевых значений и вывода результата на экран.
- Проведите итоговую проверку работоспособности приложения, запустив его.
Различия в разработке мобильных приложений для iOS и Android
Для создания нативного приложения с идеальным дизайном нужно учитывать принципиальные различия между системами iOS и Android. Данные платформы различаются не только внешним видом приложений, но также и структурой.
Знание приведенных ниже отличительных признаков обеспечит лучший опыт пользователя через создание лучшего дизайна.
- Навигационные паттерны. Пользователи мобильных приложений довольно часто перемещаются между экранами. И шаблоны данного действия, рекомендуемые при разработке приложений, различаются у обеих операционных систем.
Это важно учитывать разработчикам. Допустим, все устройства на базе Android имеют общую панель навигации, расположенную снизу и содержащую кнопку «Назад». Используя эту кнопку, пользователи легко возвращаются на предыдущий экран или этап. Практически все Android-приложения поддерживают эту возможность.
Дизайнерский подход Apple в этом смысле отличается. В мобильных устройствах на базе iOS нет глобальной навигационной панели, а соответственно отсутствует и кнопка «Назад». Поэтому пользователи нативных приложений для этой системы по умолчанию не могут возвращаться на предыдущий экран данным способом.
Это значит, что при создании дизайна в рамках разработки iOS-приложений с нуля необходимо такую возможность предоставлять, создавая отдельную навигационную панель для каждого приложения. Кнопка «Назад» при этом размещается в левом верхнем углу.
Вместо этого для перехода к предыдущему этапу в любом приложении Apple внедряет на своих устройствах свайп слева направо. На устройствах Android же данный жест переключит вкладки. А для возврата на предыдущий экран, как уже было сказано, используется глобальная навигационная панель с кнопкой «Назад».
Это существенное различие между двумя платформами необходимо всегда учитывать для согласованности с другими мобильными приложениями.
- Другие отличительные признаки навигационных паттернов в приложениях для iOS и Android. У системы Android имеется свой свод рекомендаций — так называемые Material Design Guidelines. Там для разработчиков предлагаются на выбор несколько вариантов навигации. Например, в приложениях широко применяется шаблон, комбинирующий навигационную панель с вкладками.Панелью навигации служит меню, появляющееся слева или справа при нажатии на кнопку с тремя горизонтальными чертами (меню «гамбургер»). Вкладки, размещаемые под заголовком экрана, предназначены для организации контента на верхнем уровне, давая пользователю самостоятельно переключать визуальное представление данных или функциональные элементы всего приложения.
Читайте также
В Guidelines также предлагается нижняя навигация, панели которой служат для переключения видов верхнего уровня одним нажатием. Для нативных приложений это достаточно важный компонент. Одновременное использование вкладок и нижней навигации не рекомендовано, так как это может запутать пользователя.В Apple разработаны собственные Human Interface Guidelines, где какой-либо аналог стандартной навигационной панели отсутствует. Вместо этого для глобальной навигации предполагается использование панели вкладок, размещаемой снизу экрана. Через этот элемент пользователи могут быстро переключаться между основными блоками приложения.
Как правило, в панель вкладок добавляется не более 5 пунктов назначения. Аналогом данного элемента в Material Design служит нижняя навигация, однако чаще всего такое решение используется именно в iOS-приложениях.
Подходы двух мобильных платформ имеют и сходства, среди которых — наличие вкладок, сегментированного элемента управления и нижней навигационной панели. Основные различия же между решениями iOS и Android имеются именно в навигации.
Помимо этого, мобильные системы отличаются друг от друга концепцией. Так, в Apple придерживаются принципа, исходя из которого все главные элементы должны располагаться на переднем плане. Меню «гамбургер» хранит лишь второстепенные функции, не выполняемые пользователем регулярно. Для приложений Android же в порядке вещей скрывать первичную навигацию в этом меню.
- Нативные слои «bottom sheets» и «action sheets». Первый вариант используется в продуктах под Android. В свою очередь существует 2 типа нижних листов: модальные и постоянные. Модальные слои могут вмещать в себе либо контент, предполагающий различные действия, либо список приложений, появляющийся после нажатия кнопки «Поделиться». Аналогичную роль в приложениях iOS выполняют, соответственно, элементы «action sheets» и «activity views». Тем не менее, их следует отличать от «bottom sheets» в Android.
- Сенсорные цели и сетки. Apple для своих мобильных ОС рекомендует устанавливать сенсорные цели (touch target) со следующими параметрами: 44px @1x. Для устройств Android рекомендованные значения выглядят так: 48dp / 48px @1x. Кроме того, в соответствии с Material Design Guidelines при разработке приложений элементы интерфейса желательно согласовывать с квадратной базовой сеткой 8dp.
- Типографика. Две платформы отличаются друг от друга и стандартными шрифтами. В iOS это San Francisco, в Android — соответственно, Roboto. Также на Android-устройствах и, в частности, в Google Chrome в качестве стандартного устанавливается шрифт Noto специально для языков, не поддерживаемых Roboto. Программист в процессе создания приложения для той или иной платформы должен учитывать специфичные особенности типографики.
Правильный выбор между iOS и Android:
- Не следует концентрироваться на какой-то определенной системе. Разработчики на протяжении года могут создавать программы для Android, а затем легко переключиться на разработку под iOS. В любом случае все накопленные знания пригодятся. Часть практических навыков, приобретенных на Android, будут применимы и в среде разработки iOS-приложений.
- Прежде всего, программисту нужно знать общую терминологию, облегчающую общение с другими разработчиками мобильных приложений. Так, наименование многих компонентов или архитектур, специфичных для iOS, будут понятны специалистам по Android.
- Не стоит игнорировать специальные курсы по разработке приложений для iOS. Обучение этим навыкам с преподавателями позволит в течение нескольких месяцев изучить актуальные языки программирования, найти единомышленников в сообществах и в целом освоиться в новой профессии. Подобные программы существуют при университетах, а также в рамках курсов дополнительного образования. Как правило, там обучают разработке и для iOS, и для Android.
5 конструкторов для быстрой разработки приложений для iOS
- Appy Pie. Эта платформа сегодня развивается наиболее стремительно и уже успела оставить отчетливый след в сфере разработки iOS-приложений. Для начинающих Appy Pie подойдет в том числе. Благодаря своей гибкости в оплате тарифов данная среда разработки будет полезна также представителям малого и среднего бизнеса. В частности, здесь можно начать разрабатывать приложения на бесплатной основе, а уже в процессе выбрать подписку, наиболее удовлетворяющую бюджету.
- Shoutem. Продукт был выпущен на рынок в 2011 году и с тех пор непрерывно развивается, став одним из лучших на рынке. Платформа предлагает на выбор множество гибко настраиваемых шаблонов, в результате использования которых можно добиться уникальности во внешнем виде и дизайне приложения и высокой функциональности.Shoutem идеально подходит для разработки приложений по управлению мероприятиями. Также здесь имеется функция Social Wall («социальная стена»), благодаря которой можно эффективно взаимодействовать с другими пользователями.
- Swiftic. Продукт появился на свет в 2010 году, поначалу являясь израильским аналогом Como. На сегодняшний день платформа выросла до очень больших масштабов — на ее базе создано более миллиона мобильных приложений. В среде Swiftic имеется большое разнообразие блоков и компонентов, с помощью которых можно создавать планировщики, формировать карты лояльности, собирать целые интернет-магазины.
Платформа отлично подходит также для создания приложений по организации мероприятий и встреч. Здесь же реализована возможность сбора оценок и комментариев от пользователей. Основными владельцами приложений, созданных на Swiftic, являются рестораны, музыкальные группы и организаторы мероприятий.
- GoodBarber. Данная платформа способна приятно удивить практически всем. Продукт, созданный на острове Корсика, включает в себя очень качественные шаблоны и имеет привлекательный внешний вид. Помимо этого, в GoodBarber реализованы соцсети, чаты, iBeacons, геофенсинг и множество других новейших функций.
- BuildFire. Высочайшая надежность этой платформы подтверждена уже более чем 30 тысячами клиентов, реализовавших в BuildFire свои приложения. В основном это предприятия, бренды и инфлюенсеры. Данная среда разработки считается одним из лидеров в области ускоренной разработки мобильных приложений.
Программы для разработки iOS-приложений на Windows
Рассмотрим в данном разделе решения, позволяющие программировать для iOS в системе Windows.
- Genuitec MobiOne. Программа работает на базе HTML/JS и с использованием фреймворка PhoneGap. Таким образом, программисты могут разрабатывать в среде Windows приложения, пользуясь функционалом веб-технологий, и затем запускать их через фреймворк Objective-C, отвечающий на действия UIWebView.
Благодаря последнему предоставляется доступ к стандартным возможностям устройств на iOS. Фреймворки бесплатны, но для тестирования и компиляции понадобится компьютер или ноутбук от Apple.
- Flash CS5.5. Flash CS5.5 в связке с Flash iPhone Packager неплохо решает поставленную задачу. С помощью упаковщика для системы iOS компиляция приложений возможна в среде Windows. Flash iPhone Packager обеспечивает соблюдение новейших стандартов Apple. Тем не менее, в этом случае не стоит рассчитывать на нормальную работу приложений с высокими аппаратными требованиями (Papervision, например).
Компьютер от Apple при разработке приложения данными средствами не понадобится. На вопрос, можно ли создавать приложения на Flash для iOS в отсутствие официальной среды разработки Adobe, ответ безусловно будет положительным. Компиляция при этом осуществляется с помощью Flex. Упакованные приложения должны соответствовать рекомендациям ASME.
- Stonetrip S3D. Это не только среда разработки, но и игровой движок, созданный под Windows. Здесь используется язык LUA. Как для компилирования, так и для тестирования понадобится компьютер от Apple.
- Airplay SDK. Программа дает возможность разрабатывать и выпускать 2D и 3D игры для iOS в системе Windows. Бесплатность решения обеспечивается независимыми разработчиками.
- Unity 3D. В данном редакторе, также включающем в себя игровой движок, используются языки программирования Boo и C#. Это дает возможность работать как под Windows, так и под Mac.
- Appcelerator Titanium. Неплохое решение, которое поддерживается достаточно большим и активным сообществом. Для создания приложений здесь применяются веб-технологии HTML/JS, поэтому высокая производительность от компьютера не требуется. Скомпилированные приложения могут загружаться в AppStore стандартным образом.
- Dragonfire SDK. Этот интересный продукт позволяет разрабатывать приложения с собственными SDK в среде Windows. После этого останется загрузить на сервер платформы исходный код для компиляции и скачать уже готовое iOS-приложение одним файлом. Единственное условие для такой операции: необходима версия Ultimate. В продукте реализована качественная симуляция работы приложения.
Читайте также
К этому списку можно было бы добавить еще несколько любопытных решений, но они либо полностью платные, либо еще находятся в разработке на стадии тестирования. Значительная часть разрабатываемых продуктов по сути являются упрощенными вариантами Dragonfire SDK.
То есть предполагается возможность создания iOS-приложений в системе Windows путем компиляции исходного кода разработчика. Из перечисленных выше решений наиболее богатый функционал отмечен у бесплатной программы Airplay SDK.
Цена разработки приложений для iOS
На конечную стоимость разработки приложения для iOS влияет не только набор функций, но и множество других факторов. Сумма будет зависеть в том числе от оказания помощи при оформлении документации, от сложности дизайна, от необходимости в разработке серверной части и от наличия техподдержки.
И все же попытаемся определить, сколько стоит разработка приложения для iOS хотя бы примерно в зависимости от требуемых характеристик.
- Стандартное оффлайн-приложение с простейшим функционалом (например, визитная карточка): ценовой диапазон — 150-450 тысяч рублей, средний срок выполнения — 1 неделя.
- Приложение, подразумевающее взаимодействие через интернет с серверной частью (модерация сообщений, наполнение сайта контентом и т. п.): ценовой диапазон — 450-950 тысяч рублей, средний срок выполнения — 2-3 недели.
- Чат-бот или интерактивный помощник: ориентировочная стоимость — 1 млн рублей, средний срок выполнения — 1 месяц.
- Приложение, реализующее принцип IoT (например, для связи с другими устройствами посредством Bluetooth или Wi-Fi): ценовой диапазон — 1-1,5 млн рублей, средний срок выполнения — 1,5 месяца.
- Мессенджер: ценовой диапазон — 1,5-2,5 млн рублей, средний срок выполнения — 2 месяца.
- Приложение, реализующее технологии дополненной и виртуальной реальности: ценовой диапазон — 1,8-2,5 млн рублей, средний срок выполнения — 2 месяца.
- Приложения для оказания услуг (доставка продуктов, заказ такси, взаимодействие с курьерами и т. д.): ценовой диапазон — 2-3 млн рублей, средний срок выполнения — 2 месяца.
- Интернет-магазины и каталоги продукции с поиском, скидочной механикой, эквайрингом и личным кабинетом клиента: ориентировочная стоимость — 2 млн рублей, средний срок выполнения — 2 месяца.
- Приложения для соцсетей, различные по функционалу: ценовой диапазон — 2-4 млн рублей, средний срок выполнения — 3 месяца.
- Корпоративные приложения, интегрированные с множеством других сервисов, обладающие высокими требованиями к защите информации и безопасности данных: наиболее дорогой в разработке сегмент мобильного ПО.
В заключение предупредим будущих разработчиков, что создание приложения для мобильных платформ — задача не столь тривиальная, как может показаться. Многие важные детали выявляются уже в процессе активного использования продукта. И работа над приложением будет продолжаться и дальше. К этому нужно быть готовым.