Программирование на windows для ios: 7 способов создания приложений для iPhone на Windows

Содержание

7 способов создания приложений для iPhone на Windows

Какое-то время назад я решил привести пару способов создания приложения для 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

  1. Flash CS5.5 — является очень хорошим решением совместно с Flash iPhone Packager. Упаковщик для iOS позволяет компилировать приложения на платформе Windows. Если вы уже использовали Флэш, то вы являетесь обладателем новейших стандартов Apple. Он хорошо работает, однако не ждите, что игры с высокими техническими требованиями, а также Papervision на нём запустятся. Наличие компьютера с Mac не требуется. Кто-то спрашивал, возможно ли создание iOS флэш-приложений в среде, отличной от официальной среды Adobe… безусловно, вы можете компилировать приложения с помощью компилятора Flex и упаковывать их до тех пор, пока вы следуете рекомендациям ASME.
  2. Airplay SDK — Airplay SDK позволяет вам создавать игры и подписывать свои приложения на Windows. Отличное решение как для 2D, так и для 3D игр и приложений, благодаря бесплатному предложению от независимых разработчиков.
    Оба этих варианта могут компилировать стандартный код iPhone прямо на вашей Windows. Большое количество приложений, доступных в AppStore, было создано с их помощью.
  3. Unity 3D — игровой движок и редактор, использующий Boo и C# и работающий как на Windows, так и на Mac.
  4. Stonetrip S3D — игровой движок и редактор, использующий LUA и работающий на Windows.
    Эти игровые движки позволяют вам создавать приложения на Windows, однако для их тестирования/компилирования вам потребуется Mac.
  5. Appcelerator Titanium — Хорошее решение, имеющее довольно широкую и живую аудиторию. Приложения не требуют высокой производительности, так как они создаются с использованием html/javascript и могут быть скомпилированы как стандартные приложения и отсылаться в AppStore.
  6. Genuitec MobiOne — это создатель интерфейса, который использует фреймворк PhoneGap для обеспечения стандартной функциональности. Он работает только на Windows и базируется на HTML/Javascript.
    Данные способы позволяют создавать приложения с помощью web-технологий (HTML/CSS/Javascript) и в последствии запускать их через Objective-C фреймворк, который отвечает на действия в UIWebView, тем самым предоставляя вам доступ к стандартной функциональности на iPhone. Эти фреймворки бесплатные. Для стандартного тестирования/компиляции потребуется Mac.
  7. 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

Компиляция iOS приложений для Windows Store / Блог компании Microsoft / Хабр

В апреле этого года на конференции //Build был сделан очень интересный анонс, который показал возможность компиляции и сборки ObjectiveC кода для Windows Store. С радостью хочу сообщить что теперь эта технология и инструменты стали публичными, вы можете уже сейчас загрузить компоненты сборки ObjC/iOS приложений для Visual Studio 2015 и собрать приложение для Windows Store.

C чего начать

По адресу https://github.com/Microsoft/WinObjC/releases опубликован SDK который содержит компоненты для сборки приложения iOS для Windows Store. Для того чтобы попробовать их в деле вам понадобится Windows 10 и Visual Studio Community 2015. Распакуйте содержимое winobjc.zip и откройте файл samples\HelloUI\HelloUI-WinStore10.sln. Далее делаем активным проект Hello-UI-Winstore (в Solution Explorer вызвать контекстное меню, «Set as StartUP Project») и нажимаем F5.

Добро пожаловать в мир кросс-компиляции ObjectiveC для Windows.

Пакет, который подготовила команда Microsoft содержит компилятор ObjectiveC, компоненты интеграции с Visual Studio 2015, основные части SDK iOS и дополнительные инструменты конвертации приложений.

C основными возможностями SDK вы можете ознакомиться из примера samples\WOCCatalog\WOCCatalog-WinStore10.sln.

В этом примере показаны основные варианты использования интерфейсных компонент:

Взаимодействие с OpenGL:

Кстати говоря, этот SDK также может собирать приложения для Windows 8.1 и Windows Phone 8.1.

Несколько необычно видеть стандартные интерфейсные элементы iOS на Windows Phone.

Конвертация проектов iOS

Для того чтобы превратить проект iOS в проект Visual Studio можно воспользоваться специальной утилитой
\
bin\vsimporter.exe.
Например, сделаем git clone https://github.com/ericjohnson/canabalt-ios.git и запустим в каталоге исходного кода этого проекта vsimporter. В результате у вас появится файл Canabalt-WinStore10.sln, открываем его в Visual Studio 2015 и собираем проект:

Почему-то он работает повернутый на 90 градусов.

Или например:

git clone https://github.com/haqu/tweejump.git
cd tweejump
winobjc_sdk_path\bin\vsimporter.exe

Результат компиляции для Windows 10:

Что пока в активной разработке?

Проект WinobjC находится в активной разработке и некоторые возможности не работают:
  1. Нет поддержки ARM, только x86.
  2. Оптимизации компилятора не работают. Скорее всего они приведут к крашу clang, пока можно использовать только debug сборки.
  3. Autolayout
  4. Storyboard support
  5. MapKit
  6. AssetsLibrary
  7. AddressBook
  8. Ads
  9. Objective-C annotations
  10. Media Capture

Если у вас есть вопросы и вы хотели бы узнать больше об этом проекте, обращайтесь на форумы http://stackoverflow.com/, маркируйте свои вопросы тегом WinObjC и почитайте вики https://github.com/Microsoft/WinObjC/wiki.

31 ссылка для тех, кто хочет освоить iOS-разработку — Академия Яндекса

Развитие языка Swift снизило и так невысокий порог вхождения в iOS-разработку. Изучать сам язык, среду разработки и практики написания кода на нём — одно удовольствие. Но это не значит, что писать для платформ Apple просто или непрестижно: iOS-разработчики востребованы в большинстве крупных компаний. Ссылки на статьи и другие материалы в этом списке подобрал Артур Антонов — разработчик в команде приложения Яндекс.Переводчик. Советы будут полезны будущим стажёрам Яндекса, а также всем остальным, кто хочет делать приложения в режиме полного цикла, знать инструменты и основные фреймворки, придумывать архитектуру сервисов, писать производительный код без багов и угадывать мысли цензоров App Store. 

Инструменты платформы

Если вы только начинаете знакомиться с SDK, набором библиотек для iOS или хотите систематизировать знания в области создания приложений — пройдитесь по этим ссылкам.

Документация Apple, конечно же

Когда в марте 2008 года Apple представила первый SDK (тогда ещё для iPhone OS), больше ста тысяч человек загрузили его за первые две недели после релиза. Но тогда мало кто подозревал, какой бум iOS ждёт нас впереди. Сейчас Apple предлагает очень много полезной информации: ссылки на API, статьи, код. Лучше сначала ознакомиться с содержанием, а потом возвращаться в документацию по необходимости. 

Статьи про отдельные библиотеки iOS

Полезнее документации, инструкций и учебников может быть только советы опытных разработчиков. Авторы журнала NSHipster — именно такие ребята. Стоит отметить очень удобную навигацию по темам и классные рекомендации книг. 

Рассылка про iOS-разработку

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

На кого стоит подписаться в твиттере

Твиттер — источник остросоциальных тем, новых мемов и идей для iOS-разработки. По ссылке вы найдёте список из 52 сильнейших специалистов индустрии: подписывайтесь, чтобы первыми узнавать важные новости, участвовать в обсуждениях и просто быть в теме.

Интерфейс

Фреймворк UIKit позволяет строить интерфейсы iOS-приложений и обрабатывать действия пользователя. В прошлом году Apple представила SwiftUI, который однажды должен заменить UIKit — но переходный период будет долгим, и ещё в течение нескольких лет большинству разработчиков потребуется знать оба фреймворка.

Документация по UIKit

Официальная документация от Apple очень подробная и становится со временем всё лучше: её точно будет полезно изучить новичкам, но даже при наличии опыта получится найти что-то интересное. Она покрывает большинство тем — от структуры приложения и методов пользовательского ввода до защиты данных и взаимодействия с самой iOS. Обратите внимание на раздел про UIView и его наследников.

Видеокурс по созданию приложения с UIKit

Если вам пока сложно разобраться с UIKit самостоятельно, обратите внимание на этот англоязычный видеокурс. Он создан для абсолютных новичков: опыт в создании iOS-приложений или знание Swift не понадобятся. Первые уроки в игровой форме рассказывают про основные понятия и термины. Все видео короткие — самые длинные идут около 9 минут — и бесплатные.

Туториалы по созданию интерфейса

Статьи про UI в. iOS-приложениях. Тут и про добавление разных элементов (например, контекстного меню или навигации), и про начало работы с анимацией, и про SnapKit для iOS. Основная ценность статей заключается в том, что это полноценные инструкции: со всеми подробностями и комментариями для новичков. Тексты, конечно, тоже на английском языке.

Туториалы по SwiftUI

UIKit — это прошлое и настоящее, а SwiftUI (по крайней мере, по замыслу Apple) — будущее. Apple предлагает начать создавать красивые, динамичные и быстрые приложения с новым декларативным фреймворком. Авторы собрали целый учебник: множество туториалов с разделением на секции и шаги. Каждый шаг проиллюстрирован скриншотом страницы или кода — словом, точно не запутаетесь. В конце каждого туториала можно пройти короткий тест, который проверит, насколько хорошо вы разобрались в теме.

Архитектура

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

Примеры SOLID

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

GoF-паттерны с примерами

На этом сайте собрана исчерпывающая информация о паттернах проектирования. Автор предлагает начать с основ: изучить историю создания, задуматься о пользе, почитать критику и узнать всё о классификации. Самое ценное здесь — это сам каталог паттернов.

Clean Architecture

Статья на Хабре, которая призвана донести до сообщества детали концепции Clean Architecture и популярные заблуждения, связанные с ней.

Обзор архитектурных паттернов в iOS

iOS-разработчик из Badoo сравнивает популярные архитектурные практики и рассказывает о своих выводах. Всего автор разбирает четыре архитектурных паттерна: MVC, MVP, MVVM и VIPER. Впечатления от каждого из них в формате «ожидание/реальность» от практикующего разработчика — полезное чтение для новичков в этой теме.

Список опенсорсных iOS-приложений

Действительно огромный список опенсорсных приложений для iOS, watchOS и tvOS. Они распределены по категориям, и к каждому приложению есть небольшое описание Посмотрите, как устроены приложения, или примите участие в развитии любого из проектов на GitHub.

Многопоточность

Концепция многопоточного программирования отлично укладывается в общую идеологию iOS. Запускать процессы в отдельных потоках можно с помощью понятного набора инструментов, который только улучшился с развитием языка Swift. Эта часть списка посвящена Grand Central Dispatch — технологии Apple для управления параллельными операциями. Можно почитать и о некоторых других опциях — знания в области многопоточности пригодятся и на собеседовании, и в продакшене.

Введение в многопоточность iOS

Туториал по улучшению отзывчивости приложений при помощи GCD. Это первая часть большого учебника, которая поможет разобраться, как использовать GCD, а также познакомит с основными функциями, плюсами и минусами API. В рамках туториала авторы предлагают не просто почитать теорию, но и попробовать применить её на практике. Для этого вместе с учебными материалами вы получите почти готовый проект под названием GooglyPuff. Сможете оптимизировать его с помощью GCD — и миссия выполнена!

Архивный гайд от Apple

Несмотря на то, что это руководство за 2012 год, мы советуем не обходить его стороной. Возможно, будет полезно даже начать с него, если вы впервые знакомитесь с темой многопоточности. Внутри вас ждёт подробное описание главных процессов: вы познакомитесь с основами асинхронного проектирования приложений, узнаете про выполнение задач с помощью объектов Objective-C и асинхронную обработку системных событий. Бонус — словарь с основными терминами.

objc.io про многопоточность

objc.io — проект трёх разработчиков из Берлина: Криса Эйдхофома, Даниэля Эггерта и Флориана Куглера. В далёком 2013 году они создали этот сайт, чтобы обсуждать темы, актуальные для всех разработчиков iOS и macOS. Прошло много времени, ребята выпустили целых пять книг и написали множество материалов — самостоятельно и с крутыми экспертами. По ссылке — выпуск на тему многопоточности. Вместе с автором библиотеки PSPDFKit Питером Штейнбергером и опытным разаботчиком Тобиасом Кранцером они рассказывают об основных методах, проблемах и подводных камнях параллельного программирования.

Отладка

Отладка здесь — это не только поиск багов. Инструментарий iOS-разработчика позволяет вам делать структуру кода более прозрачной и видеть больше свойств приложения прямо во время программирования.

Cессия WWDC

Видео доклада с WWDC 2018 — это целый час ценнейшей информации про методы отладки Xcode. Вы узнаете, как использовать популярный дебаггер LLDB и брейкпоинты для исправления ошибок в вашем приложении и что нужно сделать, чтобы получить максимум от инструментов отладки Xcode. Всё это с примерами и подробными объяснениями.

Выпуск objc.io про отладку

Целый урок про отладку приложений от objc.io. Начинается он с разбора кейса — автор рассказывает о процессе и инструментах, которые он использовал для отслеживания ошибки регрессии в UIKit. После этого полезного чтения вас ждут не менее интересные размышления про LLDB и технологии DTrace и Activity Tracing.

Отладка приложений под iOS

Роман Ермолов руководит группой разработки приложения Яндекс для iOS. В этом докладе от 2015 года он говорит про интересные возможности LLDB, отладку иерархии UIView и отладку без исходников. Бонус — реальные примеры и дискуссия по теме в конце доклада.

Как работает LLDB

Во всех вышеперечисленных источниках много внимания уделяется именно этому отладчику. Хотите разобраться во всех нюансах его работы? Тогда вам точно пригодится этот доклад с WWDC 2019. Вы узнаете про разные способы отображения значений, форматирование пользовательских типов данных и (самое интересное!) расширение LLDB с помощью собственных сценариев Python 3.

Устройство Objective-C Runtime

Майк Эш — программист и пилот планера, который живет в Вашингтоне. Впечатляет? Это вы ещё не видели его блог! В нём он делится полезным софтом, делает остроумные посты в формате Q&A по пятницам и рассказывает о полётах. В этом старом (2009 год), но всё ещё полезном материале он рассуждает об Objective-C Runtime. Максимально подробное объяснение поможет разобраться в теме даже новичкам.

Оптимизация

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

Обзорная статья Apple

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

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

Если вы хотите больше узнать про инструментарий Xcode, посмотрите видео с WWDC-2019. Это получасовой рассказ с примерами, который поможет разобраться с такими вещами, как шаблоны для профилирования производительности приложений и поиск «узких» мест в коде. Все описанные спикером инструменты призваны существенно повысить скорость отклика вашего приложения.

Сессия WWDC о подходах к оптимизации

Ещё одно видео с конференции Apple, но уже за 2018 год. Оно позволит глобально взглянуть на тему оптимизации: спикеры говорят об общем подходе и стратегиях, которых стоит придерживаться. Однако тут тоже не обошлось без практических советов, основанных на опыте авторов: они приложили руку к нескольким популярным приложениям от самой Apple. В видео рассказывается о том, как научиться пользоваться пакетом Instruments и другими возможностями Xcode.

Книга о внутреннем устройстве iOS и macOS

Продолжаем погружаться в тему — нужно ещё больше теории. По ссылке вы найдёте почти 800 страниц авторства Джонатана Левина с информацией практически обо всём, что когда-либо интересовало вас в работе с iOS. Чтобы разобраться в принципах работы системы, автор активно пользуется реверс-инжинирингом (обратной разработкой) и учит читателей делать то же самое. Вас ждёт большое количеством практических примеров, иллюстраций, скриншотов и ссылок на открытый исходный код от Apple.

Доклад об оптимизации запуска приложения

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

Публикация в App Store

Многие разработчики, включая сотрудников Яндекса, недооценивали сложность процесса подписи iOS-приложения и модерации в App Store. Казалось бы, у вас всё готово: программа работает, вы хотите начать распространять её среди клиентов. Но у Apple есть правила, которым ваш код должен соответствовать.

Как загрузить приложение в App Store

Начните с пошаговой инструкции. Она выгодно отличается от публикаций на других ресурсах своей актуальностью: это популярный гайд от разработчиков Густаво Амброзио и Тони Дабура, обновлённый в 2020 году — с информацией из последней версии Xcode.

Подробный разбор подписи приложения

Ещё одна классная статья на сайте objc.io. Автор считает, что механизм подписи и подготовки кода — одна из самых сложных вещей, с которыми сталкивается iOS-разработчик. Поэтому он подробно описывает процесс: почитайте, чтобы понимать, что и зачем вы делаете. Но учитывайте, что статья написана в далёком 2014 году.

Обзор инструментов Xcode для подписи приложения

Для тех, кто хочет совсем углубиться в тему и разобраться: презентация Apple про функции Xcode, которые упрощают процессы управления сертификатами, подпись приложений и настройку параметров сборки проекта. Это видео с конференции WWDC 2016. Именно тогда компания представила обновлённый способ управления конфигурацией подписи с включенным по умолчанию автоматическим режимом.

Непрерывная интеграция

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

Разработка под ios на windows

Оглавление ← →

Дата изменения 30.05.2018

Для разработки приложений на платформе Thunkable используется браузерная среда разработки Thunkable X и приложение-клиент Thunkable Live, которое необходимо установить на iPhone из магазина приложений App Store.

Для входа в среду разработки Thunkable выполните следующие шаги:

  1. Откройте официальный сайт thunkable.com и для входа в систему нажмите кнопку Sign In, расположенную на главной странице.
  2. На появившейся странице выбора операционной системы (iOS или Android) выберите iOS.
  3. На следующей странице нужно осуществить вход в среду разработки при помощи своей учётной записи Google (Sign in with Google).
  4. В случае успешного входа на экране отобразится браузер проектов Projects, в области которого отображается ярлык для создания нового проекта «Create New App» и ярлыки всех ранее созданных проектов.

Рис. 1. Браузер проектов.

На ярлыке проекта отображается:

  • Пиктограмма проекта (по умолчанию или своя)
  • Название (Google MAP1)
  • Пиктограмма для входа в режим редактирования названия проекта
  • Количество внешних копий проекта shares (если он был открыт для общего доступа)
  • Дата и время изменения проекта

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

Для создания нового проекта необходимо щёлкнуть по ярлыку «Create New App». Появится диалог, в котором нужно дать название проекту. После его ввода загрузится среда разработки Thunkable X в режиме редактора вида.

Рис. 2. Интерфейс среды разработки Thunkable X в режиме редактора вида.

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

В верхней части окна расположена панель управления

Рис. 3. Панель управления.

  • Live Test — вызывает диалог для синхронизации текущего проекта с приложением ThunkableLive при тестировании на iPhone
  • Share — поделиться ссылкой на проект. Переход пользователя по этой ссылке даст ему возможность получить копию проекта с его ресурсами, данными, ключами API и паролями. Если в вашем проекте не используются компоненты, в свойствах которых прописаны ваши личные пароли и ключи API, то делиться таким проектом безопасно.
  • Make Copy — скопировать проект. Крайне важная функция, которой стоит пользоваться как можно чаще. В процессе работы было замечено то, что при некоторых невыясненных обстоятельствах в редакторе блоков могут самопроизвольно удаляться блоки. Для восстановления пробуем Ctrl+Z.
  • Download — отправка на указанный почтовый адрес ссылки для загрузки и установки приложения для iOS или Android
  • Publish — публикация приложения в магазине приложений App Store (для публикации необходима регистрация в программе разработчика Apple)
  • Help — выпадающее меню помощи с ссылками на документацию (Documentation), пошаговое руководство для начинающих (Tutorial) и форум сообщества (Community)
  • Account — выпадающее меню учётной записи с ссылками для входа в среду разработки под Android (Sign into Android) и выходом из среды разработки (Sign out)

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

Среда разработки имеет два режима работы — редактор вида (Design) и редактор блоков (Blocks), переключение между которыми осуществляется при помощи вкладок.

На вкладке Design расположены:

  • ссылка с названием проекта (Firebase), при щелчке на которой на панеле свойств отобразятся настройки:
    • проекта — App Settings
    • базы данных — Firebase Settings
    • платёжного сервиса — Stripe Settings
  • пиктограммы управления видом панели Design:
    • расширенная область компонентов
    • половинная область компонентов
    • скрытая область компонентов
  • древовидные списки видимых и невидимых компонентов приложения — VISIBLE COMPONENTS и INVISIBLE COMPONENTS.
  • область для загрузки ресурсных файлов Files (фотографии, звуки, музыка и др.), в которую можно либо перетащить необходимые файлы, либо загрузить при помощи ссылки Choose a File
  • палитра компонентов Components

Палитра компонентовComponents

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

  • User Interface (пользовательский интерфейс) — элементы управления:
    • Button — кнопка
    • Label — область текста
    • TextInput — текстовое поле ввода
    • List Viewer — область для отображения текстового списка
    • Web Viewer — область для отображения web-данных
    • Switch — кнопка-переключатель
    • Slider — ползунок
  • Screen / Layout (экран / компоновки) — экраны и компоновщики:
    • Tab Navigator — компонент для организации смены экранов при помощи вкладок
    • Stack Navigator — компонент для смены экранов путём их наложения друг на друга
    • Drawer Navogator — навигация при помощи списка окон, расположенной на выдвижной панели
    • Screen — экран
    • Row — компоновщик элементов в строку
    • Columns — компоновщик элементов в столбец
  • Voice / Audio / Artificial Intelligence (голос / аудио / искуственный интеллект) — компоненты для работы со звуком:
    • Sound — проигрыватель звуков (mp3, wav)
    • Text To Speech — синтезатор речи
    • Speech Recognizer — распознаватель речи
    • Assistant — голосовой помощник (отвечает на голосовые вопросы пользователей)
    • Translator — Yandex-переводчик
  • Image / Video / Artificial Intelligence (изображения / видео / искуственный интеллект) — компоненты для работы с графикой:
    • Image — компоненд для отображения изображения
    • Photo Libraty — компонент для создания галереи фотографий
    • Camera — компонент для работы с камерой iPhone или iPad
    • Image Recognizer — компонент для работы со службой распознавания изображений Microsoft
    • Lottie — компонент для работы с json-анимациями Adobe After Effects
  • Data / Storage (данные / хранилища) — работа с данными:
    • Local Storage — локальное хранилище для сохранения информации в телефоне, не требующее доступа к сети Интернет
    • Realtime DB — высокопроизводительное облачное хранилище Firebase
    • Spreadsheet — работа с таблицами AirTable
    • Web API — веб-сервис для работы с данными при помощи HTTP-запросов GET, POST, PUT и DELETE
    • Media DB — для работы с облачной базой данных мультимедиа CloudMan
  • Map / Location (карты / местоположение) — работа с картой
    • Map — компонент для работы с картой
    • Location Sensor — компонент для работы с датчиком местоположения
  • Sensor (датчик):
  • Social (социальное)
    • Share — компонент для обмена сообщениями с использованием коммуникационных приложений Slack, Facebook, iMessage, WhatsApp и др.
  • Authentication (проверка подлинности)
    • Sing In — компонент для работы с учётной записью Firebase — регистрация, вход, выход, сброс пароля
  • Monetization (монетизация)
    • Payment — компонент для работы с платёжной системой Stripe

В ценральной части расположено рабочее поле редактора вида, над которым располагаются ссылки для быстрого выбора экрана (Screen1) и создания нового «+»

Панель свойств Properties

Предназначена для настройки внешнего вида и поведения выбранного компонента путём редактирования его свойств.

Редактирование свойств возможно в двух режимах — Simple (простой) и Advanced (расширенный), переключение между которыми осуществляется при помощи одноимённых кнопок.

Редактор блоков Blocks

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

В левой части вкладки находится палитра блоков, а в правой — рабочее поле для создания программной логики путём объединения блоков друг с другом. При щелчке по названию категории блоков справа появляется палитра блоков данной категории.

Рис. 4.

iOS-разработка для начинающих: учимся создавать приложения для iOS с нуля

Редактор блоков.

Блоки распределены по категориям:

  • Logic — логические (if, true, false)
  • Control — управляющие (циклы и прочее)
  • Math — математические
  • Text — текстовые
  • Lists — для работы со списками
  • Colors — для работы с цветом
  • Objects — для работы с объектами и форматом JSON
  • Variables — переменные
  • Functions — функции

Под этим списком располагаются блоки компонентов приложения (Button1, Screen1).

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

  • Команды контекстного меню редактора:
    • Undo — отменить предыдущее действие (Ctrl+Z)
    • Redo — возвратить предыдущее действие (Ctrl+Shift+Z)
    • Clean up Blocks — упорядочить все блоки по вертикали (расчистка блоков)
    • Collapse Blocks — свернуть все блоки
    • Expand Blocks — развернуть все блоки
    • Delete N Blocks — удалить N блоков
  • Команды контекстного меню блока:
    • Duplicate — дублировать блок. Блок дублируется вместе со всеми присоединёнными к нему блоками (Ctrl+C, Ctrl+X — вырезать блок)
    • Add Comment — добавить комментарий
    • Remove Comment — удалить комментарий
    • Collapse Block — свернуть блок
    • Expand Block — развернуть блок
    • Delete N Blocks — удалить N блоков
    • Help — открыть страницу справки по данному блоку
    • Create ‘get this’ или ‘set this’ — создать парный блок.

      Если контекстное меню вызвано для для блока установки значения свойства (set), то будет создан блок получения значения свойства (get) и наоборот.

    • Inline Inputs — изменить форму блока на однострочную
    • External Inputs — изменить форму блока на многострочную
    • Highlight function definition — подсветить блок определения функции, относящейся к данному блоку её вызова
    • Create ‘имя функции’ — создать блок вызова функции, соответствующий данному блоку определения функции

В правой нижней части редактора блока находятся следующие элементы управления для выполнения команд:

  • Центрировать рабочее поле
  • Увеличтить масштаб
  • Уменьшить масштаб
  • Корзина для удаления блоков. Блоки можно также удалить путём перемещения их на панель выбора блоков категории, когда рядом с курсором отображается крестик

Перечни свойств, расположенные на вкладке Properties и Blocks, не идентичны. Блоки имеются далеко не для всех свойств.

На следующем занятии мы создадим простое приложение и установим его на iPhone.

Оглавление ← →

Microsoft представила революционный инструмент для разработки iOS-приложений под Windows

Чтобы создать какую-то игру или программу для iPhone, iPad и iPod Touch под управлением операционной системы iOS требуется обязательное наличие компьютера Mac и среды для разработчиков Xcode, которая доступна для загрузки бесплатно. Таким образом «яблочная» корпорация замкнула круг, вынуждая девелоперов и разработчиков ПО использовать компьютеры Mac, а не более дешевые аналоги на Linux или Windows. Разработчикам последних до сегодняшнего дня приходилось использовать виртуальные машины, которые в большинстве своем работают медленно и кривовато. На прошедшей вчера конференции Build 2017 американская корпорация Microsoft официально представила новый инструмент для программистов. Он носит название Xamarin Live Player.

При помощи нового программного обеспечения от Microsoft для Windows 10 можно разрабатывать iOS-приложения и заниматься отладкой при помощи среды для программирования Visual Studio. Совместное использование двух этих инструментов позволяет создавать программ и игры для iPhone, iPad и iPod Touch без использованию компьютеров Mac и среды Xcode.

Корпорация Microsoft позиционирует свое новое программное обеспечения в качестве средства для программирования программ и игр для iOS без использования Mac. Так, программа Xamarin Live Player содержит в себе пакет SDK и необходимые эмуляторы, позволяющий разрабатывать и тестировать написанный код в обход операционной системы macOS. Новое детище компании должно упростить процесс разработки ПО под iPhone и iPad, а также увеличить число специалистов, занятых программированием под мобильную платформу iOS.

Программа Xamarin Live Player представляет собой специальный эмулятор, который устанавливается на iPhone и iPad. С его помощью производится тестирование и отладка написанных приложений, причем запускается оно за считанные секунды и позволяя вносить изменения в код без дополнительных компиляций и развертываний. Интересной особенностью, о которой однозначно следует упомянуть, является возможность прямо «по воздуху» тестировать ПО без использования проводов. Минус новинки от Microsoft заключается в использовании интерпретатора для .NET, применение которого может привести к более медленной работе написанных приложений под iOS.

С появлением этого программного обеспечения под Windows 10 разработка программ и игр для iOS теперь может вестись на любом компьютере, тогда как Mac понадобится лишь на окончательном этапе для публикации приложения в магазине App Store.

Внимание! До 26 июля все желающие могут бесплатно получить спортивный браслет Xiaomi Mi Band 5, потратив на это всего 2 минуты.

Присоединяйтесь к нам в Google News, Twitter, Facebook, ВКонтакте, YouTube и RSS чтобы быть в курсе последних новостей из мира технологий будущего.

Как грамотно начать погружаться в разработку под iOS и что для этого нужно?

Здравствуйте, друзья.

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

Тостер по моей теме читал, поэтому вопросов а-ля «какие книги читать?» задавать не буду.

1. Насколько срочно мне понадобится MacBook для погружения в разработку? Однозначно знаю, что без него в итоге никуда. Дело в том, что купить не проблема (не миллионер, но для серьёзных профессиональных перемен готов потратить 1000-1500$ на рабочую технику), но есть ли смысл, не зная ещё абсолютно ничего по теме, в таких начальных тратах? Достаточно ли, скажем, установить на Windows 7 (если что: HP, 2 x 1.7 ГГц, 2 ГБ памяти, встроенное видео) какой-либо эмулятор и хотя бы первые пару месяцев разобраться с начальной базой и основными понятиями?

2. Насколько мощный нужен MacBook для iOS-разработчика? Скажем, достаточно ли будет MacBook Air 13″ (Intel Core i5, 4 Гб, 128 Гб (SSD), Intel HD Graphics 5000)? Или смотреть какой MacBook Pro 13» Retina (Intel Core i5, 8 Гб, 128 Гб (SSD), Intel Iris graphics 5100)? Или, может, ещё что мощнее нужно (процессор i7, памяти 16 Гб, видео не встроенное)? Понятное дело, что если деньги позволяют, лучше брать пошустрее, но, к сожалению, покупать MacBook топовой конфигурации — ну совсем сейчас неудобно в финансовом плане. С другой стороны, взять старенький MacBook у кого-то с рук, чтобы потом менять его через полгода — тоже не очень хочется.

3. Нужен ли сам девайс с iOS для старта обучения разработки? Или на Windows 7 / OS X можно будет как-то эмулировать iPhone, чтобы смотреть, что получается? Или это как-то вообще по-другому делается? 🙂 Опять же, купить не большая проблема, но нужно ли мне это сейчас? И, если он необходим, ещё один смежный вопрос: покупать что-то свежее (5 / 5s) или не важно (4s)?

4. Есть ли необходимость в классических курсах по Objective-C? Или же лучше самостоятельно разбираться с нуля? Живу в Минске, курсы ничего особенного не представляют, всё обычное (подходы, методики, общий уровень). Ещё знаю, что программирование — это постоянное самообучение. Вопрос: есть ли смысл пройти месячные курсы, чтобы получить стартовую базу, а уже дальше двигаться самостоятельно? Или же без проблем можно старт взять дома?

5. Как планировать процесс самообучения? Ничего нового: прочитал — попробовал сделать, непонятно — поискал в интернете, сильно непонятно — вперёд на форум? Просто примерно так давно я учил HTML. Но, понятное дело, Objective-C дело серьёзное, как и все смежные технологии, и будет ли толк с такого обучения? Или нужна какая-то конкретная система и четкая градация повышения своего уровня (сначала прочесть книгу, потом пройти курс, потом изучить эту смежную технологию и так далее)? Подскажите, пожалуйста, как входили в iOS-разработку именно вы.

Будущие коллеги, уверен, что во время процесса обучения у меня будет возникать уйма вопросов, ради которых стыдно создавать новые темы. Если у кого-нибудь из вас есть возможность пару раз в неделю поотвечать на мои вопросы и кратко проконсультировать по какой-нибудь теме — дайте, пожалуйста, об этом знать в ответах (оставьте ваши любые контактные данные и условия (бесплатно/платно и так далее)). У всех свои дела, альтруистов очень мало — всё понимаю, поэтому мои обращения к вам будут максимально редкие и по делу.

Спасибо большое за ваше внимание и интерес к моим вопросам. Хорошей недели всем! 😉

10 навыков и знаний необходимых начинающему iOS разработчику / Хабр

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

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

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

Материал адресован в первую очередь тем, кто хочет начать обучение, восполнить пробелы или понять свою готовность работать iOS разработчиком. Буду стараться пояснить все простыми словами.

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

Первые шаги


Перед тем как углубляться в последующие темы, я рекомендую подготовить фундамент, а именно 
- пройти (прослушать и воспроизвести все задания) бесплатный курс CS 193P от Stanford University и прочитать на сайте Apple документацию по Swift.

Абсолютно нормально, если вы при этом поймете или запомните не все темы, зато у вас появится основа — структурированные базовые понимания устройства iOS приложений и конструкций языка Swift. Уделив время этим вещам на старте, вам будет сильно проще добавлять знания по каждой из тем.

1. Auto Layout, Storyboard, верстка из кода


Создание интерфейса приложения на основе макета — базовый навык для iOS программиста. Знать стоит не только основные компоненты, из которых собирается интерфейс (UIView, UILabel, UIButton, UIImageView и т. д.), но и то как их расположить на экране, чтобы добиться желаемого положения и размера на разных по размеру экранах, в том числе при повороте устройства. 

Для простоты я бы выделил 3 способа создания интерфейса:
  • визуальный способ через Interface Builder
  • полностью описать интерфейс из кода
  • комбинированный вариант, когда часть содержимого экранов заведена через Interface Builder, а их настройка вынесена в код.


Навыков верстки интерфейса только через через Interface Builder на StoryBoard вам может быть недостаточно. Помимо того, что через StoryBoard вы сможете сделать далеко не все, нужно понимать, что над крупными приложениями работают несколько разработчиков, и для объединения результатов их работы используется система контроля версий (чаще всего это Git). Когда несколько человек работают над одним участком кода, результат их работы не всегда возможно объединить автоматически. Если интерфейс был сверстан программистом из кода, проводить слияния проще и быстрее чем в случае, когда код был сгенерирован Interface Builder-ом.


Чтобы освоить тему, рекомендую:


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

2. Жизненный цикл ViewController


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

Материалы по теме:


3. Работа с UITableView и UICollectionView


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

Материалы по теме:


4. Grand Central Dispatch


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

Grand Central Dispatch — одна из важных и довольно непростых тем, которую вам точно стоит знать, если вы собираетесь программировать под iOS.

Материалы по теме:


5. Работа с сетью, получение данных из JSON


Какие из ваших любимых приложений продолжают работать без подключения к Интернету? Думаю, что если откинуть игры, вы увидите, что большая часть приложений работает с данными из сети. Что в этом случае должен уметь начинающий iOS разработчик? Думаю, что создать сетевой запрос, получить и обработать данные. Знаний о URLSession для начала должно хватить. Это самый базовый подход, и я рекомендую в первую очередь освоить применение именно его. Возможно будет не лишним знать о существовании такой популярной библиотеки как Alamofire, но это не должно быть в ущерб URLSession.

Чаще всего данные, которые приходят в приложения по сети, передаются в формате JSON. Нужно уметь эти данные получить и обработать, к примеру, вывести на основе их какой-нибудь список. При этом желательно, чтобы вы умели делать это не только с помощь одной из популярных библиотек, к примеру, SwiftyJSON, но также владели стандартными средствами языка, были знакомы с Codable.

Довольно подробно про работу с URLSession рассказано в статье от Audrey Tam. Материалов по работе с JSON довольно много, можно посмотреть статью Anand Nimje.

Чтобы освоить тему на практике рекомендую сделать приложение с прогнозом погоды, в котором есть поле ввода названия города, создается запрос к API (подойдет OpenWeatherMap), и на основе полученного JSON выводится информация о погоде.

6. Знания Swift


Тут очень поможет прочтение документации. Изучение Swift может занять время, но на выходе вы должны взять с собой и свободно ориентироваться в следующих темах: 
  • классы
  • структуры
  • перечисления
  • протоколы
  • коллекции
  • методы работы с коллекциями (перебор, сортировка, фильтрация, map, reduce и т.д.)
  • работа с опционалами и исключениями

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

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

Параллельно с прочтением документации по Swift можно смотреть видео марафон по Swift Алексея Скутаренко. Этот марафон не заменит прочтение документации из-за того, что в нем раскрыты не все темы, а еще он опубликовал 4 года назад, и за это время в Swift произошли небольшие изменения. Алексей проделал грандиозный труд, полезного материала и мыслей там много.

7. Сильные и слабые ссылки, ARC, утечки памяти


Как сделать так, чтобы у приложения не было проблем с нехваткой памяти?
Что такое ссылки, какие бывают типы ссылок? Что именно делает ARC, и как избежать Retain Cycle, и что это вообще такое? Тема не сложная, но крайне важная. Ознакомиться можно, к примеру, в SwiftBook.

8. Протоколы и делегаты


При разработке под iOS вы часто будете встречать делегирование, а точнее передачу отвественности от одного объекта к другому. 
Для примера классическая задача — таблица с ячейками, в каждой из которых есть кнопка «добавить элемент в избранное». Вы должны уметь создать для этой ситуации протокол, назначить делегат, реализовать у него поддержку протокола. 

Материалы по теме:

9. Архитектурные подходы: MVC, MVVM, MVP, VIPER


Для простоты создания и поддержки программных продуктов при разработке их разделяют на отдельные блоки. К примеру, один блок отвечает только за работу с данными, а другой за внешний вид. У такого подхода есть ряд преимуществ, к примеру, вы сможете изменить внешний вид, не трогая логику, или при необходимости сможете поменять источник данных, опять же не меняя остальные части приложения. Очевидно, что эти подходы используются не только в iOS, скажу больше — они пришли сюда из других платформ. Есть несколько устоявшихся подходов к разделению ответсвенности между разными блоками, для работы с iOS я рекомендую хорошо разобраться с MVC и MVVM.

Вместо нормального объяснения разделения отвественности в архитектуре я часто слышу на собеседованиях, что-то вроде «MVC это плохо, потому что это Massive View Controller, а MVVM гораздо лучше».

Материалы по теме:


10. Хранение данных, Core Data


Как мы говорили выше, многие приложения работают с данными из сети. Нужно уметь сохранять эти данные на устройстве, а также сохранять то, что вводил пользователь. В базовый набор способов для хранения данных для начинающего iOS программиста, на мой взгляд, входят
  • Keychain для чего-то небольшого и секретного
  • UserDefaults для небольших настроек
  • Core Data для хранения объектов, связей между ними

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

Материалы по теме:


Итог


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

Напишите свое законченное приложение


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

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

P.S.


Пожалуйста, расскажите в комментариях, какие темы вы считаете важными для освоения начинающими iOS разработчиками

7 способов создания приложений для iPhone на Windows

Какое-то время назад я решил пару способов создания приложения для 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

  1. Flash CS5.5 — является очень хорошим решением для iPhone Packager. Упаковщик для iOS позволяет компилировать приложения на платформе Windows. Если вы уже использовали Флэш, то вы являетесь обладателем новейших стандартов Apple.Он хорошо работает, однако не ждите, что игры с высокими техническими требованиями, а также Papervision на нём запустятся. Наличие компьютера с Mac не требуется. Кто-то спрашивал, возможно ли создание iOS флэш-приложений в среде, отличной от официальной среды Adobe … безусловно, вы можете компилировать приложения с помощью компилятора Flex и упаковывать их до тех пор, пока вы следуете рекомендации ASME.
  2. Airplay SDK — Airplay SDK позволяет вам создавать игры и подписывать свои приложения на Windows.Отличное решение как для 2D, так и для 3D игр и приложений, благодаря бесплатному предложению от независимых разработчиков.
    Оба этих варианта могут компилировать стандартный код iPhone прямо на вашу Windows. Большое количество приложений, доступных в AppStore, было создано с их помощью.
  3. Unity 3D — игровой движок и редактор, использующий Boo и C # и работающий как на Windows, так и на Mac.
  4. Stonetrip S3D — игровой движок и редактор, использующий LUA и работающий на Windows.
    Эти игровые движки позволяют вам создавать приложения на Windows, однако их тестирования / компилирования вам потребуется Mac.
  5. Appcelerator Titanium — Хорошее решение, имеющее довольно широкую и живую аудиторию. Приложения не требуют высокой производительности, так как они могут быть скомпилированы с использованием html / javascript и могут быть скомпилированы в стандартных приложениях и отсылаться в AppStore.
  6. Genuitec MobiOne — это создатель интерфейса, который использует фреймворк PhoneGap для стандартной функциональности.Он работает только на Windows и базируется на HTML / Javascript.
    Данные способы позволяют создавать приложения с помощью веб-технологий (HTML / CSS / Javascript) и затем запускать их через Objective-C фреймворк, который отвечает на действия в UIWebView, тем самым предоставляя вам доступ к стандартной функциональности на iPhone. Эти фреймворки бесплатные. Для стандартного тестирования / компиляции потребуется Mac.
  7. Dragonfire SDK — Интересный способ, позволяющий создавать приложения, используя их собственные SDK на Windows.Далее вы отправляете им свой исходный код, который они компилируют, и вы скачиваете уже готовый файл приложения iOS. Вы загружаете свой код для компилирования на их сервер (при условии, что у вас стоит версия Ultimate). Я его представил, так как мне нравится его синтаксис, и он довольно популярен, а также является хорошим упаковщиком с удачным симулятором на Windows.

Существует ещё пара других решений, которые либо ещё тестируются, либо являются платными без каких-либо пробных версий (или даже в некоторых случаях без скриншотов), либо просто ещё не вышли.Многие из них, по-видимому, являются упрощенными версиями 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 и больше не доступен бесплатно для разработчиков.

Иоганн Дова ,
ManiacDev.com

.

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


.