К основному контенту

Monotouch и Monodevelop. Программируем для iOS на C# на примере нашего проекта. Часть I.

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


Предыстория. Руководство поставило задачу своими силами сделать приложение Интернет-магазина для iPhon-ов и iPad-ов. А в дальнейшем и под Android. Как разработчики на C# мы стали изучать варианты реализации. И остановились на Monotouch. Monotouch - это надстройка к Monodevelop, которая позволяет писать приложения под iOS на C#. Код компилируется в нативный objective C и прекрасно работает под iOS. Причем Monotouch позволяет писать не только для iOS, но и для Android. Как раз то, что нужно.

Вы спросите, что такое Monodevelop? Это среда разработки на C#, работающая под Mac OS. Так сказать аналог VisualStudio для Mac-ов.

И все же почему Monotouch? Ответ прост - низкий порог вхождения. Зная C# можно сразу начинать работу над приложением не тратя время на изучение нового языка программирования. Возможно такой вариант не подходит для разработчиков игр или других графических приложений, когда нужно работать с нативной средой напрямую без дополнительной прослойки. Но для разработки Интернет-магазина  - в самый раз.

Финансовый порог вхождения для разработчика скажем сразу совсем недешевый:

1. MacBook - от 50 т.р. и выше. Есть конечно вариант работать на виртуальной машине. Но ничего хорошего кроме разного рода дополнительных проблем он в себе не несет.
2. Monotouch - лицензия для компании 999$.
3. Лицензия разработчика Apple - 99$ в год.

Итак, MacBook-и нам закупили, лицензию на Monotouch тоже, осталось самое сложное - получить лицензию разработчика Apple.

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

Но и это еще не все, оплатить лицензию можно только отправив по факсу данные кредитной карты, с которой будет осуществляться оплата (данные полностью вплоть до CVC2 кода).

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

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

Update: Пример нашего проекта на Monotouch

Комментарии

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. Привет!
    Посоветуйте определиться с выбором яп. Хотел научится кодить для ios, начал изучать obj-c, но потом узнал, что с# тоже вроде как подходит для апплстора, с# я не знаю, как обж, но зная сишарп, проще найти работу как мне подсказал знакомый программер, и учить его проще чем обж-с, что посоветуете уважаемые?

    ОтветитьУдалить
  3. Все зависит от того, какие приложения для ios вы собираетесь писать. Если что-нибудь простенькое, то c# будет вполне достаточно. Мы, например, написали отличный интернет-магазин. Но для более сложных проектов, думаю, без obj-c не обойтись. Ну а c#, действительно, имеет широкое распространение и можно будет при желании переключиться в другую область.

    ОтветитьУдалить
    Ответы
    1. Спасибо за пояснение, примерно так и предполагал. Просто я нахожусь немного в затруднительном положении, т.к. нахожусь в европе и нелегально, то устроится официально кодером здесь не реально, поэтому выбрал такой вариант, где по идее можно заработать, находясь в любой точке мира, и поэтому выбрал путь indie разработчика для ios, но совсем недавно, поменялись планы и вроде должен был вернуться в Россию, а там зная(который я мождно сказать не знаю) только обж-с не так легко устроится, и знакомый кодер посоветовал, пойти на курсы c# и мол там уже гораздо проще найти работу, плюс выдают сертификат, но это все лирика, на самом деле, как оказалось, я снова никуда не возвращаюсь, и поэтому логически, получается лучше изучать обж-с, писать какие то игрулины не собираюсь, но что то типа асек или таймеров для начала. Цели толковой еще не нарыл. Вот примерно так и обстоят дела, сорри за сумбур, просто чтоб оценить настоящее положение дел, все пришлось здесь расписать)
      Успехов.

      Удалить
  4. Zenstrannik, если еще интересует эта тема - здесь пример приложения, которое мы сделали на Monotouch http://rudevelop.spb.ru/2012/06/monotouch-monodevelop-ios-c-iii.html

    ОтветитьУдалить
  5. Я чуточку прокомментирую - MacBook'и Pro в крайне хорошем состоянии легко найти на Avito. И цена за мак в хорошем состоянии идет уже от 16000 а не от 50000. Так что порог все-таки немного ниже.

    ОтветитьУдалить
  6. Павел, вы правы. Но на тот момент мы смотрели только новое оборудование.

    ОтветитьУдалить
  7. Mac mini можно взять за 22 тыщи, новый. Или хакинтош собрать из проверенных компонентов, инфы много в инете.

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Пример взаимодействия с Odnoklassniki Rest API на C#.

Итак, как и обещал, продолжаю тему взаимодействия с различными API. В прошлый раз писал про  API ВКонтакте , сегодня напишу про API Одноклассников. Первое, что нам нужно сделать - это зарегистрироваться как разработчик на Одноклассниках. Сделать это можно по следующей ссылке  Форма регистрации разработчика приложений Получив права разработчика, необходимо зарегистрировать сайт как приложение. Подробно как это сделать можно прочитать  здесь После того как сайт будет зарегистрирован придет письмо, содержащее: Application ID: xxxxxx. Публичный ключ приложения: xxxxxxxxxxxxxxxxxxxxxxxxx. Секретный ключ приложения:  xxxxxxxxxxxxxxxxxxxxxxxxx. Ссылка на приложение: http://www.odnoklassniki.ru/games/xxxxx Используя эти данные можно начать работу с API. Для выполнения запросов к API пользователь должен авторизоваться в Одноклассниках. Добавляем на нашем сайте ссылку для авторизации пользователя: http://www.odnoklassniki.ru/oauth/authorize?client_id={0}&scope={1}&

C# и API ВКонтакте. Обращение к адресу API-сервиса путем создания HTTP-запроса (POST)

В статье  C# POST. Отправляем запросы на адрес стороннего сервера  я рассказал про метод, с помощью которого можно работать с различным API, принимающими POST запрос и возвращающими ответ в виде json или xml. Сегодня я хочу написать, как я применял этот метод при работе с API  ВКонтакте. Для примера возьму задачу получения через API списка групп, в которых состоит пользователь. В первую очередь необходимо зарегистристрировать наш сайт как приложение ВКонтакте. Заходим по ссылке  http://vk.com/editapp?act=create&site=1  и подключаем наш сайт. Дальше задача  делится на две подзадачи, а именно: авторизация пользователя и обращение к API для получения списка групп. Для авторизации мы пользователю предлагаем перейти по следующей ссылке: http://api.vkontakte.ru/oauth/authorize? response_type=code&redirect_uri={0} &client_id={1} &scope={2} &display=page , redirect_uri - адрес страницы нашего сайта, куда будет возвращен пользователь после авторизации Вконтак

Мониторинг нагрузки на сайт под управлением IIS средствами Windows Server. Показатели посещаемости.

Как мониторить нагрузку на сайт? Если мы хотим добиться бесперебойной работы сайта, то мы должны быть постоянно в курсе, что происходит с сайтом в данный момент времени. Чтобы в случае возникновения проблем быстро среагировать на них. В компании, где я сейчас работаю, в кабинете программистов висит ЖК телевизор-монитор, подключенный к компьютеру. На мониторе отображаются графики нагрузки на сервера, список  всех работающих сайтов со статусом доступности, а также онлайн статистика посещаемости из Google Analytics (в режиме реального времени отображается количество текущих пользователей на основном сайте в разрезе географии). Итак, какие показатели Веб-сервера мы считаем полезными для отображения на мониторе. Их четыре: % загрузки процессора, % использования выделенной памяти, всего запросов методов в секунду (Веб-служба), запросов в секунду (ASP.NET Apps). С первыми двумя все понятно. Счетчик В сего запросов методов в секунду (Веб-служба) - это  частота запросов HTTP, которые