Можно ли делать приложения для ios на windows

Разработка приложений для 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

Версия для печатиВерсия для печати

Рубрики: 

Теги: 

Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Читайте также

«Под 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. То есть, даже если вы работаете удаленно, то вы всегда можете собрать приложение и отправить заказчику, чтобы он посмотрел его на своем девайсе.

Спасибо, что прочитали статью!

Вы можете создать приложение для iOS, даже если вы работаете на ПК под управлением Windows 10.

Мне жаль, что я не знал об этом, когда только начинал, потому что я задержался на 3 года прежде чем укусить пулю и купить Mac.

Если бы я знал о запуске Xcode в Windows или о решениях ниже, я бы начал создавать приложения для iPhone намного раньше!


Содержание

  1. Взять напрокат Mac
  2. Виртуализировать MacOS
  3. Создайте «Хакинтош»
  4. Сторонние решения
  5. Как установить 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 обновляет

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?

Code on computer screen

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?

Code on computer screen

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.

Для того чтобы разрабатывать приложения для iOS, раньше обязательно был необходим компьютер Mac или соответствующая виртуальная машина, запущенная на компьютере Windows. Однако на прошедшей на днях конференции Build 2017 Microsoft решила это изменить и представила инструмент для создания приложений под iPhone и iPad на Windows.

Для разработки iOS-приложений больше не нужен Mac. Фото.

Новое приложение называется Xamarin Live Player и позволяет разрабатывать iOS-приложения прямо на Windows 10. Предполагается, что сначала разработчики будут осуществлять первичную деятельность в Xamarin, а затем производить отладку при помощи Visual Studio. При этом им не понадобится компьютер Mac с приложением Xcode.

Очевидно, новый инструмент позволит значительно увеличить количество iOS-разработчиков, которые, например, не могли позволить себе покупку компьютера Mac. Правда, для публикации приложения в App Store все равно потребуется компьютер от Apple. Кроме того, есть мнение, что разработанные с помощью Xamarin приложения будут работать медленнее, чем таковые с Xcode.

Содержание

  1. iOS-разработка: способы быстрого старта
  2. Путь от Apple
  3. Xcode
  4. Swift 4
  5. «Гибридное», «не совсем нативное» приложение
  6. Ionic
  7. PhoneGap / Cordova
  8. Xamarin
  9. React Native
  10. Веб, чистый веб
  11. Что нужно знать перед тем, как писать под iOS
  12. Как заработать?
  13. Как зарегистрироваться в iOS Developer Program
  14. Обязательно ли нужен Mac?
  15. Разница между web и native приложениями
  16. Какие инструменты можно использовать для разработки?
  17. Компиляция iOS приложений для Windows Store
  18. C чего начать
  19. Добро пожаловать в мир кросс-компиляции ObjectiveC для Windows.
  20. Конвертация проектов iOS
  21. Лёгкий способ писать iOS приложения на вебе
  22. 1. Окружение.
  23. 2. Технологии
  24. Ошибки и заметки на будущее

iOS-разработка: способы быстрого старта

Когда мы задумываемся о разработке под iOS, чаще всего в голове возникает пятизначная сумма входного порога: как минимум нужно iOS-устройство на последней версии ОС и Mac. Если вы уже пишете под iOS, вам наверняка известны альтернативные варианты, а если нет — посмотрите, вдруг пригодится? Приведенный ниже обзорный пост — как раз на этот случай. Под катом вы найдете довольно простую информацию, так что если хотите хардкорчика, вам не сюда!

Путь от Apple

Путь настоящего джедая тру iOS-разработчика лежит в плоскости следования идеям Apple. Свежий SDK, свежая же версия Xcode, документация от Apple по технологиям Apple, форумы разработчиков на технологиях Apple – если вдуматься, а что ещё нужно для создания отличного приложения, кроме толики времени? Польза очевидна: разработка идет самым близким к платформе и к идеологии Apple образом, с использованием всех новинок, предлагаемых Apple в текущем (и будущих) iOS API, так что постоянное изучение нового приносят больше хорошего, чем плохого.

Новинки Apple озвучивает регулярно. На последней конференции для разработчиков WWDC 2017 были показан новый SDK и новая версия среды для разработке Xcode. Список изменений довольно обширен (тем более в преддверии выхода iOS 11):

Xcode

Текстовый редактор в Xcode переписали на Swift, сделав его надёжнее и быстрее. Можно ли это почувствовать? Да! Подсветка синтаксиса работает (почти) моментально, открытие и навигация по файлу теперь без заметных задержек, а сообщения об ошибках больше не перекрывают исходный код. В beta все выглядит очень приятно, посмотрим, что нас ждет в релизе!

В Xcode появилась поддержка Markdown. Разметку можно использовать при документировании кода, и функциональность эта, на первый взгляд, косметическая, довольно заметно облегчает чтение кода, особенно чужого:

image loader
(Источник)

Редактор, кстати, научился подсвечивать блоки кода, удобно при изучении большого объёма кода.

image loader
(Источник)

Ещё одной важной фичей Xcode 9 стал рефакторинг кода на Swift, Objective-C, Objective-C++, C. Рефакторинг позволяет переименовывать классы, переменные, а также дробить методы на менее крупные.

image loader
(Источник)

Из менее выделяющихся, но тем не менее полезных фич, можно назвать:

Swift 4

Это изменение стоит особняком. Все, кто уже пережил чувство «в Swift 2 было, в Swift 3 пропало?!», могут ощутить дежавю, но сейчас ожидаются изменения, скорее, в лучшую сторону (впрочем, замечу вполголоса, когда это было не так, по мысли авторов-то?)

94aa0e9eca6b4df1a38b33a47537013a

«Гибридное», «не совсем нативное» приложение

Уточню: термин, вынесенный в заголовок, даже по сути своей не очень верен. Приложения, которые мы получим в результате, самые что ни на есть нативные в смысле того, что они исполняются на той же iOS, на том же железе, что и любое другое ПО для iOS, просто сам процесс разработки позволяет использовать не только предложенные Apple технологии и языки программирования. Если человек умеет писать, скажем, на JavaScript, и не хочет разбираться в Swift, то Apple ему ничем не поможет (кроме, конечно, хорошего учебника по Swift), а вот вариант написать, условно говоря, приложение на JavaScript, а потом запустить его на iOS, как если бы оно было написано в Xcode (получив, таким образом, некий «гибридный» вариант) существует, и вполне востребован.

Ionic

image loader
Ionic – один из самых известных фреймворков для кросс-платформенной разработки. Он построен на базе Apache Cordova, что обеспечивает доступ к различным функциям устройства, таким как геолокация, push-уведомления, камера и прочим, и позволяет разработчикам создавать приложения для iOS и Android с веб-технологиями, такими как HTML, CSS и JavaScript.

В дополнение к фреймворку, Ionic может похвастаться целой экосистемой, облегчающей разработчикам-новичкам процесс изучения и вхождения. Ionic Cloud предоставляет разработчикам различные инструменты для управления, развертывания и масштабирования приложений на Ionic. Ionic Creator представляет собой визуальный редактор, который позволяет разработчикам быстро прототипировать и создавать мобильные приложения методом drag&drop. Наконец, существует Ionic View — бесплатное приложение для iOS и Android, которое позволяет разработчикам легко делиться своим Ionic-приложением с пользователями, тестерами и клиентами без необходимости развертывать приложение в магазине приложений конкретной мобильной платформы. Разработчики просто отправляют пользователям приглашение из приложения Ionic View, и как только оно принято, пользователь может загрузить и запустить конкретное приложение в своей копии Ionic View — так, как если бы приложение было установлено на его телефоне из магазина приложений.

Увы, есть и «ложка дегтя». Приложения, написанные с использованием Ionic, используют WebView, в результате мы получаем самое натуральное веб-приложение, со своей обычной (обычно не самой впечатляющей) скоростью работы. За счет этого трудно считать его подходящим для создания тяжелых приложений, таких, как игры, либо программы с интенсивным использованием графики. Разработка с Ionic требует хороших знаний Angular, по крайней мере при желании «выжать» из фреймворка как можно больше.

PhoneGap / Cordova

image loaderPhoneGap исходно был создан компанией Nitobi. В 2011 году, Adobe приобретает Nitobi и бренд PhoneGap. Adobe затем передает одну из версий PhoneGap (назвав её Cordova), в Apache Foundation, оставив себе бренд PhoneGap и его как продукт. В результате Cordova можно рассматривать как движок, стоящий под капотом PhoneGap (а также некоторе другие гибридные фреймворки). PhoneGap, в свою очередь, добавляет к возможностям Cordova свои, дополнительные, функции.

PhoneGap во многих отношениях очень похож на Ionic. Он так же дает разработчикам возможность создавать кросс-платформенные приложения при помощи веб-технологий, и так же построен на базе Apache Codova. Однако PhoneGap не привязан к какому-то определенному Javascript-фреймворку, поэтому разработчики имеют бОльший выбор, на чем и как они будут создавать свои приложения. У PhoneGap имеется десктопное приложение, мобильное приложение, и облачный сервис под названием PhoneGap Build, который позволяет собирать и деплоить приложение.

Увы, подобно Ionic, PhoneGap использует WebView (который в iOS работает довольно медленно), так что со скоростью у приложений, созданных на базе этого фреймворка, дела не всегда обстоят блестяще.

Xamarin

image loaderОснованная в 2011 году компания Xamarin, выпускающая семейство продуктов Xamarin через пять лет своего существования была купена компанией Microsoft. Сегодня продукты Xamarin представляют на рынке очень интересный подход к разработке кросс-платформенных мобильных приложений: приложения пишутся на C#, затем Xamarin компилирует его в нативное приложение для iOS, либо для Android, при этом в качестве базовой технологии Xamarin использует Mono, чем кросс-платформенность и обеспечивается. Разработчики Xamarin говорят, что полученные на выходе приложения используют нативное API платформы, для которой приложение компилируется, так что поведение полученного приложения никак не отличается от поведения любого другого приложения на этой же платформе. Разработку, кстати, можно вести при помощи Visual Studio (что совсем неудивительно).

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

React Native

image loaderПроект React Native появился на свет в Facebook, и построен на основе React. Наше JS-приложение крутится на встроенном в iOS движке: на нем выполняется код и производятся все манипуляции с нативными виджетами ОС. React Native сопоставим с Xamarin, при этом приложения, созданные с помощью React Native, очень похожи на нативные приложения iOS и Android (потому что они собственно, оперируют нативными UI-элементами).

Синтаксис React довольно прост, что облегчает изучение фреймворка, а Стандартная библиотека UI-компонентов в поставке React Native содержит много полезных компонентов, однако самым большим отличием React Native от других JavaScript-фреймворков называют возможность использования кода на на Objective-C и Swift (чаще для для улучшения производительности или более тонкого взаимодействия с мобильной платформой). На практике это означает, что разработчики могут использовать существующие собственные библиотеки в своих приложениях React Native.

Веб, чистый веб

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

Разница между открытием той же страницы в браузере будет в оформлении экрана: элементы управления браузера (в т.ч. и адресная строка) будут спрятаны, а содержимое страницы окажется выведенным на весь экран устройства. Из неудобств нас, конечно, ждет довольно долгое время открывания такого «приложения» (что связано со скоростью ответа удаленного веб-сервера), но для ряда применений это, думаю, вовсе не проблема.

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

Если вы любите мобильную разработку так же, как любим ее мы, рекомендую обратить внимание на следующие доклады Mobius 2017 Moscow (да-да, в ноябре Мобиус едет в Москву, если вы еще не знали):

Источник

Что нужно знать перед тем, как писать под iOS

«Под Windows можно писать для iPhone?»
Анонимный разработчик

«Мы не планируем публиковаться в AppStore, это ведь возможно? И еще мы хотим версию под Android. »
Анонимный заказчик

Как заработать?

Тут все очень просто/сложно. Пишете приложение, выкладываете в 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

При регистрации вы можете регистрироваться либо как компания, либо как индивидуальные разработчик.
При регистрации компании нужно быть готовыми предоставить определенные документы.
Для Российских компаний нужно предоставить выписку из Единого Государственного Реестра Юридических Лиц (ЕГРЮЛ) и ее перевод. Название компании при регистрации должно совпадать с названием в выписке. В этой статье можно подробнее узнать о регистрации компании — Регистрация приложения в AppStore — мы сделали это!
Обычно вся процедура регистрации занимает 3-4 недели.
Куда проще регистрироваться индивидуальным разработчикам — после заполнения всех форм на сайте попросят распечатать, заполнить документ-заявку (требуются паспортные данные, данные карточки, адрес проживания и т.д.) и отослать факсом в Apple. После рассмотрения этого документа Apple списывает с вашего счета 99 долларов и вы становитесь зарегистрированным разработчиком. Вся процедура занимает 3-4 дня. Если у вас возникли проблемы с поиском факса, то можно воспользоваться каким-нибудь online-ресурсом, например — www.myfax.com/free

Обязательно ли нужен Mac?

Вам обязательно понадобится Mac OS X, так как ни на какой другой платформе вы не сможете работать с iOS SDK. Есть много различных вариантов разработки iOS приложений, но минимум для сборки и загрузки приложения в AppStore вам будет необходима Mac OS X. Да, последнее время появляются различные сервисы, которые и пирожки за вас есть будут предлагают постить приложения за вас и различные другие услуги, и о них на хабре тоже писали. Но, на мой взгляд, все это пока несерьезно и пользоваться услугами подобных контор, при разработке сколько-нибудь значимого приложения не стоит. Хотя, конечно, все зависит от задачи, если вы сможете зарабатывать, используя подобные сервисы, то почему бы и нет:)

Разница между 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 и фреймворки.

Нативные средства разработки
MonoTouch
Flash

Adobe Flash Pro CS5 поддерживает разработку под iPhone. Другое дело, что пока этот путь основательно не разработан и определенная сырость в подходе присутствует.

Titanium & PhoneGap

Два фреймворка-хэдлайнера в мобильной кроссплатформенной разработке. Краткое описание можно найти в этой статье. Позволяют использовать javascript и HTML5 для разработки native приложений сразу под несколько платформ, в том числе и iOS.

Unity3D

Для себя я пока выбираю Xcode и Objective-C, но пристально смотрю в сторону кроссплатформенной разработки.

Еще одно небольшое замечание, если вы решитесь разрабатывать приложения под заказ

Deadline

Срок сдачи работы не всегда зависит от вас. Перед появлением в AppStore приложение проходит ревью, которое длится минимум 5 дней. Если приложение было отклонено по каким-либо причинам, то, после внесения изменений, необходимо будет отстоять всю очередь снова. Так что обещать клиенту выпустить приложение в AppStore к определенной дате, если у вас нет в запасе двух-трех недель, — поступок довольно безрассудный. Лучше обещайте показать приложение на устройстве к оговоренному сроку и объясните ситуацию с ревью. Для установки приложения на устройство нужно знать его UDID. То есть, даже если вы работаете удаленно, то вы всегда можете собрать приложение и отправить заказчику, чтобы он посмотрел его на своем девайсе.

Источник

Компиляция iOS приложений для Windows Store

image loader

В апреле этого года на конференции //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 и откройте файл samplesHelloUIHelloUI-WinStore10.sln. Далее делаем активным проект Hello-UI-Winstore (в Solution Explorer вызвать контекстное меню, «Set as StartUP Project») и нажимаем F5.

image loader

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

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

image loader

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

image loader

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

image loader

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

image loader

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

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

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

image loader

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

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

Источник

Лёгкий способ писать iOS приложения на вебе

Всем привет. Не так давно Габриель подарил нам игру 2048. Это тот самый удивительный случай, когда клон игры становится более популярный, чем оригинал. Не малая часть успеха Габриеля — открытый код и, вуаля, MIT лицензия. Набрав чуть больше 20к очков, захотелось поделиться результатом с друзьями, кроме как сделать скриншот не получилось. Глянул аппстор на наличие клона с геймцентром или чем-то подобным — пусто. И тут подумал, почему бы нет?
Забегая вперёд, на создание приложения и всех «ништяков» к нему ушло 4 дня. На выходе универсальный код, который от части работает и в вебе и легко портируется на иос/андроид. Однако, давайте по порядку.

image loader

Как вы уже поняли, речь пойдёт о разработке нативных приложений на веб технологиях. Для тех, кто в танке, работает всё достаточно просто. Создаётся проект с нативными SDK, цель которого — разместить на весь экран WebView и открыть конкретный html в нём. Т.е. получается, что всё приложение сводится к браузеру с зашитой адресной строкой. Можно долго спорить, хорошо это или плохо. В сети кучища холиваров по этому поводу, кто-то предпочитает html5, кто-то нативный код. Я пишу и так и так, но тут, имея исходники 2048 именно на вебе, было бы глупо переписывать всё на нативный objc. Да и потом, если речь идёт о небольшом приложении, основная задача которого — фронтенд + работа с сервером, опять же глупо городить objc, когда можно обойтись html5.
Скажем так, wunderlist прекрасно работает на веб технологиях. Как и официальный gmail клиент.

Наша команда на основном рабочем месте делает b2b проекты. Это такие проекты, где при минимальной посещаемости делается хорошая ебида. Так и у нас, минимальные значения уников в сутки. Поэтому мы можем «играть» технологиями. Пока некоторые верстают под ie8, своим клиентам мы сказали, что только firefox или chrome, и они безоговорочно поставили сотрудникам эти браузеры. Поэтому мы достаточно давно юзаем всякие html5 штуки и радуемся. Однако, когда в голову пришла идея сделать такой проект, я даже не представлял, насколько это будет интересно и ново, не смотря на то, что в общем я знал и частично применял почти все технологии, описанные ниже.
Начнём с окружения, далее пройдёмся по технологиям и обсудим ошибки, сделаем выводы.

image loader

1. Окружение.

Отцом WebView для мобильников, несомненно, является phoneGap. Он не плохо документирован (чего там документировать то?) и достаточно прост. Что же он делает? Как и другие фреймворки, позволяющие делать нативные приложения на базе веб технологий, phonegap проталкивает нативные возможности в JS код и обратно. Т.е. вы пишите как писали раньше, адаптируете дизайн под мобильное устройство + имеете JS вызовы, позволяющие работать с камерой, нотификейшенами, контактами, СМС и прочим. Список возможностей и платформ доступен на спецстранице. Построен он на базе Cordova.
Так же советаю посмотреть в сторону Sencha, ребята пошли немного дальше и дают возможность не просто получить доступ к нативным фишкам телефонов/планшетов через JS, но так же дают нативные UI. Т.е. делая одно приложение, выглядеть оно будет как нативное и в андройде и в ios`е. Однако, сенча это extjs со всеми вытекающими. Это как с кинзой, есть люди, которые без ума от неё и люди, которые её терпеть не могут ) Однако для общего ознакомления я советую посмотреть и её.
Так же я бы хотел подробней остановиться на Cordova. Фонгэп, это больше окружение. Там есть платная поддержка, облачные сервисы для генерации приложений итд итп. Cordova же это платформа. Непосредственно нативные модули и JS обвязка.

В данном случае, мы не будем использовать ничего из вышеперечисленного. Во-первых, хотелось попробовать сделать всё с нуля. Для себя я решил, дальнейшие приложения только Cordova, идеальное соотношение гибкости и скорости. Во-вторых, у меня не получилось быстро разобраться с окружением фонгэпа или кордовы. Не говоря уже про сенчу. Все они предлагали делать приложения с вшитыми html, а мы сейчас рассмотрим ситуацию, когда код лежит на внешнем сервере.
Почему именно внешний сервер? Мне хотелось сделать приложение, которое я бы смог обновлять не тогда, когда его промодерируют в appstore (обычно занимает неделю), а тогда, когда я нахожу в нём баги. Давайте по порядку.

1.1 TopCoat

В сети много фреймворков для создания мобильных UI, в том числе с аля-нативными UI. Уже говорили про сенчу, так же стоит обратить внимание на PhoneJS, JQ Mobile, Intel AF и многие другие. Гугл подскажет )
В данном случае я выбрал topcoat. Я уже встречался с ним на другом проекте и мне он очень понравился. Во-первых, это не плохие кастомные UI, которые отлично смотрятся и на андроиде и в иосе. Во-вторых, топкоат очень простой, отсюда гибкий. После Bootstrap было немного не привычно, в виду отсутствия сетки, напирмер, итп. Но к этому быстро привыкаешь )
Топкоат имеет ветку с иконками icomatic, не рекоммендую. Font Awesome лучший.

1.2 iScroll

UPD: Хабрапользователь radist2s подсказал, что iScroll в целом и не нужен, если требуется реализовать близкий к нативному скролинг. Оказывается, достаточно заюзать
Несомненно, свайпы и скролинг — визитная карточка мобильных решений. iScroll даёт очень близкий к нативному скролинг. В сети распространена iScroll4 не меньше, чем последняя iScroll5. Соответственно, новая более продвинутая и безбажная. На оффсайте много примеров, в общем всё понятно.

1.3 Zepto

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

1.4 Lodash

Просто вспомогательная надстройка над JS. Мы часто юзаем backbonejs в проектах, lodash там дефакто обязателен. Ну и на практике он ни сколько не медленнее нативного кода. Порой быстрее.

1.5 Moment

Работа с датами/временем в JS. Без комментариев, без этой библиотеки головной боли было бы в разы больше.

Я не стал использовать Backbone в проекте, хотя он тут очень даже просится. Опять же, экономим на спичках. Бэкбон удобен и незаменим в более-менее сложных приложениях, однако тут он ни к чему. По крайней мере мне так казалось )
Не могу не отметить rad-js, это кастомные backbone объекты, заточенные под разработку мобильных приложений. Приятная штука, но достаточно замудрённая. Так же очень жаль, что RAD во многом используется старый код. Например, цепляет старый iScroll и undercore, вместо lodash. Опять же, в данном проекте её использование показалось лишним.
С окружением разобрались. У нас нет MVC или подобного фреймворка, весь функционал приложения кладётся в простой js объект. Мы имеем готовый css фреймворк и необходимый набор JS библиотек для быстрой разработки.

image loader

2. Технологии

Удивительно, как за последние 2 года выросли технологии и браузеры. 2 года назад я выбирал между веб технологиями и нативным кодом. Под большой проект я выбрал нативный код. И на тот момет это было верным решением. Сейчас, по хорошему, переписать всё на веб и развивать дальше веб. Но уже жалко, тысячи строк нативного obj-c, будь он не ладен. Про яву молчу.

2.1 LocalStorage

Ну тут всё понятно, хранилище. 5 метров более чем, тем более, что нам он нужен под текст/js-объекты. Те, кто работал хоть раз с мемкешом/редисом, будет счастлив. Если 5 метров недостаточно, можно сделать обвязку через нативный UserData, например. В сети много решений. Кто-то предлагает кеш складывать в файлы, кто-то через UserData, кто-то рекомендует WebSQL, что, кстати, тоже удобно. Нам хватит localStorage.

2.2 AppCache

Пожалуй, только благодаря этой технологии мы и делаем приложение с внешним кодом. Ещё раз, наше приложение хостится не в локальных html файлах, а на удалённом сервере. Логично, что если у вас в телефоне в данный момент нет интернета, внешние сайты не откроются. Тут то нас и спасёт appCache. Про Application cache вышло много статей, кто не сталкивался с этой технологией, советую ознакомиться. Смысл достаточно простой. С помощью специального manifest файла, мы указываем браузеру все файлы, что нужно разместить в кеш. Прелесть в том, что размещённые в кеше файлы будут работать, даже если в устройстве нет интернета. Логика работы аппкеша в приложении простая.
Клиент первый раз запускает приложение, оно подсасывает контент в webview, webview кеширует приложение. Дальше при каждом запуске приложения, проверяется изменение manifest файла. Если он изменился — кеш полностью перезаписывается. Если изменений не было, работа продолжается. Соответственно, если у пользователя нет интернета, просто цепляется кеш без обновлений.
Таким образом мы можем делать не просто нативные приложения на базе веб технологий, но и размещать непосредственно код у себя на сервере. Для чего это нужно я писал выше — моментальный багфикс и быстрое публикование новых фишек.

2.3 CSS3

Ну и, конечно, глупо игнорировать все возможности вебкита. Вообще, делая на вебе мобильное приложение стоит всегда помнить, что мы делаем его под один-два браузера, которые супер современны и чаще поддерживают новые технологии, чем игнорируют их. Т.е. будет хорошим тоном использовать flexbox, свободно юзать анимацию и забыть про pngfix )
В данном приложении почти вся анимация сделана на базе css3. Во-первых, это проще и быстрее, чем писать километры JS кода. Во-вторых, работает сверх быстро благодаря аппаратному ускорению, которое можно включить в вебките для анимации.

Пожалуй, этого хватит ) Далее, надо подготовить проект в XCode.
Как уже говорил, всё достаточно просто, нам нужен только UIWebView на весь экран и ничего более. К проекту я подключил JSONKit, т.к. он быстрее нативного парсера + VK-SDK, Facebook-SDK для интеграции с соц.сетями. Конечно, можно было сделать интеграцию на вебе, однако для привлекательности я хотел сделать нативную поддержку vk+facebook. Не стоит забывать о возможностях ios sdk. Т.е. веб технологии это круто и мощно, но есть задачи, которые лучше реализовывать нативно. Интеграция с соц.сетями — одна из таких задач, как мне кажется.
Всё, что нам остаётся — наладить связь между нашим html кодом и приложением. Тут тоже всё достаточно просто. WebView, что мы разместили, нужно сделегировать в наш контроллер.
Сообщения из приложения в веб всё очень просто, из любого места дёргаем:

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

Соответственно, если мы перехватили нужный нам адрес, не забываем делать return NO, иначе веб версия попытается таки перейти на адрес vk:auth.
Вот в целом и всё, у нас есть веб морда, которая умеет жёстко кешироваться и работать в оффлайне и общаться с нативным приложением. Что ещё нужно для счастья? )

Ошибки и заметки на будущее

В следующей статья я опишу, как использовать Cordova с внешним кодом. Несомненно, ошибкой #1 было решение писать свою оболочку на xcode. Но опять же, задачей было изучить процесс, чтобы понимать всю подноготную. Поэтому это не совсем ошибка. Я не рекомендую использовать свои оболочки, разве что для ознакомления. В любых других проектах нет ничего лучше, чем Cordova. А всё, что она не умеет, можно реализовать в виде плагинов для ней.
Так же игнорирование backbone было ошибкой. Приложение уже начинает разрастаться, дольнейшая доработка была бы намного проще и понятней, если бы сразу был бы использован mvc фреймворк типа backbone.
Помимо прочего, я жёстко лоханулся с настройкой NSURLRequest. Это объект запроса для WebView, который, собственно, и открывает нужный нам урл. Один из параметров которого cachePolicy, куда нужно передавать политику кеширования. Скажем, вы можете использовать стандартную политику (примерно соответствует браузерной), либо, например, указать, что запрос вообще никогда не должен кешироваться или наоборот, браться только из кеша вне зависимости от заголовков. Прочитав про флаг NSURLRequestReloadIgnoringLocalAndRemoteCacheData, решил использовать именно его. Приложение работало очевидно, его я и оставил. И только потом оказалось, что данный флаг не реализован в ios sdk )))

Что касается самой игры, на момент отправки бинарника на модерацию, в аппсторе не было ни одной игры 2048. На момент публикации их было больше 60. Сначала я встроил в html код мобильный adsense. Однако перед самой публикацией я его убрал и сделал приложение платным, т.к. все эти 60+ игр были бесплатные с рекламой внутри. Вроде как какой-то кастом ) метод замены переменной. Стоит понимать, что у меня нет задачи заработать на этой игре, однако поддерживать её бесплатно смысла тоже нет. Основное отличие от конкурентов — интеграция не с GameCenter, а с соцсетями. Мне лично интересней посмотреть кого я обогнал среди своих друзей во вконтакте, чем в незаполненном профиле GameCenter. Ну и проще следить за «хакерами», т.к. база у себя на сервере. Если подобные штуки покажутся группе пользователей интересней и народ будет не против потратить 33 рубля за игру, её можно развивать и дальше. Были идеи строить глобальные рейтинги, кто больше набирает. Например, мужчины или женщины, взрослые или подростки. МГУ или МГИМО итп. Все эти данные собираются из соцсетей.

В любом случае, это лишь «проба пера». Больше всего геморроя я заработал прорисовывая иконки в разных размерах. Всего 18 иконок разных размеров + 13 стартовых скринов.

UPD: Что касается законности подобных приложений в AppStore, рекомендую почитать комментарии @mifki, если всё так, как он говорит, то приложению достаточно пройти ревью и его не удалят за использование кода на стороне. Однако, alamantrah утверждает, что его приложение удалили за внешние lua.
Так же на StackOverlow найдено подтверждение, что раньше за внешние скрипты приложение не пускали, однако сейчас политика безопасности поменялась и всё ок.

Источник

Like this post? Please share to your friends:
  • Можно ли активировать windows 7 home premium
  • Может ли microsoft заблокировать windows в россии
  • Можно ли восстановить windows 10 с помощью флешки
  • Можно ли делать очистку обновлений windows с жесткого диска
  • Можно ли активировать windows 11 kms активатором