войти зарегистрироваться

Разработка под Apple iOSCoin Keeper. iPhone приложение на C#


Вчера разработанное нами приложение Coin Keeper заняло третье место в топе платных приложений русского AppStore.

Интересно то, что мы разрабатывали его не на привычном Objective C, а на C#, используя фреймворки Monotouch и Monodroid.

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

Mono и MoonlightРазработчики Mono основали коммерческую компанию Xamarin

Пример Red Hat и MySQL показал, что Open Source может стать неплохим источником дохода, если грамотно подойти к делу. Основной разработчик проекта Mono Мигель де Икаса с коллегами тоже решил пойти по проторенной дорожке и заработать немного денег, в чём мы все можем пожелать ему успеха. В понедельник он объявил об основании коммерческой компании Xamarin. Вот что они планируют сделать:
  • Новое коммерческое воплощение .NET для iOS
  • Новое коммерческое воплощение .NET для Android
  • Продолжение развития и поддержки открытых компонентов Mono и Moonlight. «Можете называть это International Mono Support», — говорит Мигель, намекая на свой прошлый проект International Gnome Support (Helix Code, Ximian)
  • Изучение возможностей по применению Moonlight для мобильных устройств и Mac AppStore.

Django FrameworkОтчёт о встрече Apple Developers Community #3

3 марта в Санкт-Петербурге прошла 3-я встреча разработчиков под iPhone/iPad.

image

На основе полученных отзывов с предыдущей встречи тематикой была выбрана всегда актуальная тема GameDev. За несколько часов докладчики рассказали нам про Monotouch, Unity3D и Cocos2d.

О докладах, докладчиках и встрече в целом расскажу под катом.

Mono и MoonlightВышли MonoTouch 3.0 и Moonlight 3 Preview 6

imageМигель Де Иказа в своем блоге анонсировал доступность новых версий продуктов из семейства Mono: MonoTouch и Moonlight.

Moonlight 3 Preview 6 — это большое обновление свободной реализации Silverlight, релиз которого сопровождается со следующим списком изменений:

— поддержку chrome-приложений (без системной рамки);
— значительные улучшения в плане производительности;
— заявлено, что поддерживается большая часть функционала Silverlight 3, в том числе out of browser;
— внесены сотни изменения для улучшения кода, совместимости или исправления багов.

Спустя неделю с момента выхода iPhone OS 4 вышла версия MonoTouch 3.0.0, которая поддерживает разработку под эту операционную систему. Список изменений:

— поддержка разработки фоновых приложений;
— поддержка платформы iAd;
— поддержка Local notifications (уведомлений);
— поддержка платформы Game Center;
— поддержка API enterprise data protection.

Кроме того заявлены улучшения в генерации кода и лучшей поддержки возможностей C# через Objective-C blocks.

Для работы с MonoTouch 3 вам потребуется iPhone 4.0 SDK.

AppleЕще один взгляд на Flash, Mono и Apple

Дискуссии по поводу того, что Apple не будет пускать приложения, написанные не на Obj-C, C++, Javascript разгораются не на шутку. Почему-то все наехали на Flash вместо того, чтобы посмотреть на проблему в комплексе.

Мне понравилось высказывание из статьи «Why Apple Changed Section 3.3.1», где говорится:

So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage.
Свободный перевод:

Что действительно не хочет Apple — так это то, чтобы любая другая компания установила свою платформу поверх Cocoa Touch. Не Flash, не .NET (c помощью MonoTouch). Если это случится, то у Appple не будет конкурентных преимуществ.

Mono и MoonlightMonoTouch и другие средства разработки под запретом в iPhoneOS 4?

На Хабре уже успели сообщить о удивительном (или неудивительном, кому как) решении Apple о запрете сторонних инструментов разработки для платформы iPhone. Вот короткая выдержка из лицензии:

«Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited».

В том топике многие неверно восприняли этот шаг Apple, под вопрос поставили возможность существования Flash-based рзработки под iPhone и в ответ посыпались аргументы: «флэш — тормозит», «не надо», «придет куча быдлокодеров» и тому подобные заявления.

Тут я хотел бы указать на то, что этим пунктом лицензии Apple убивает не просто Flash to iPhone, но вообще всякую альтернативу. Например, MonoTouch. MonoTouch — это альтернативное средство разработки под iPhone/iPad, которое позволяет компилировать бинарный код для платформы с помощью компилятора языков .NET. Поддерживается разработка на С# и VB. Как человек, который следит за проектом Mono и MonoTouch скажу, что про инструменты MonoTouch восторжено отзывается большинство разработчиков, которые имели с ними дело. Вместо Objective-C они получают мощности C# со сборщиком мусора, LINQ и прочими многочисленными плюшками, которых просто нет в Objective-C. Плюс свои редакторы кода, отладчики и удобнейшие библиотеки кода. Я уже не говорю про кроссплатформенность, когда одно и тоже приложение можно разрабатывать для iPhone, Zune, Windows и Windows Phone 7 используя одну кодовую базу.

MonoTouch очень быстро развивалась. Не стоило ожидать, что простота разработки привлекла бы кучу быдлокодеров на ваш уютный iPhone, потому что MonoTouch стоила денег. Падения производительности тоже не было, поскольку код C# компилировался в полностью нативный код для iPhone. В целом, это платформа была крайне удачной и теперь — вне закона.

Почему это важно? Можно сказать, что Apple — хозяин-барин, если бы не одно но. Apple всюду говорит о своем подавляющем положении на рынке: больше всего приложений, чаще всего выходят в сеть, огромные продажи и т.д. В связи с этим, представьте себе, что завтра Microsoft запретит писать под Windows на Java? Или объявит вне закона Air? Абсурдная ситуация? Точно.

Apple, конечно, не потеряет в продажах от того, что MonoTouch и Flash2iPhone объявлены вне закона. Но, господа разработчики, как вы оцениваете ситуацию когда компания запрещает ваши инструменты? Когда вместо шага навстречу разработчикам, Apple еще сильнее закрывает платформу. Мне этот шаг крайне неприятен. И я надеюсь, что под давлением разработчиков и общественного мнения, Apple изменит свою политику.

PS: кроме MonoTouch и Flash to Phone не ясна судьба инструментов: Titanium, PhoneGap и Unity3D. Последний так же использует технологии Mono и C#.

Mono и MoonlightУкрощаем пользовательский интерфейс на iPhone с MonoTouch.Dialog

monotouchВ основе пользовательского интерфейса лежит UITableView, мощный виджет по отрисовке таблиц, который использует, почти, каждое приложение на iPhone. UITableView — мощный виджет, которые умеет отрисовывать данные различными способами, основываясь на том, как вы настроили сам виджет.

Разработка под Apple iOSMono, MonoTouch + C# vs. iPhone SDK + Objective-C

Так сложилось, что моя деятельность в качестве разработчика программного обеспечения связана как с iPhone, так и с .NET технологиями. Если говорить, что первично, то это, конечно, .NET и C#, поэтому информация будет подана с точки зрения дотнетчика.

В статье хочу рассказать о небольшем опыте разработки одного проекта одновременно на mono с использованием MonoTouch и на родном Objective-C.

Mono и MoonlightВ MonoTouch добавлена поддержка iPad

Мигель де Иказа, руководитель проекта Mono, сообщил в своем блоге о том, что поддержка iPad была добавлена в MonoTouch в течении 24 часов с момента анонса нового устройства.

Новая версия MonoTouch 1.9 поддерживает разработку приложений для iPad. На специальной странице вы можете найти всю необходимую информацию по этому вопросу.

Оперативность команды Mono очень радует. Молодцы.

Mono и MoonlightБольшие события из мира Mono/.NET — подробно обо всем

imageЗа прошедшие дни произошел целый ряд крупных анонсов и релизов из мира Mono – open source реализации платформы .NET для разнообразных операционных систем (Unix, FreeBSD, Linux, MacOS X).

Во-первых, 10 декабря вышел фреймворк MonoTouch, об этом событии более подробно можно почитать тут. Этот фреймворк позволяет .NET-разработчикам писать программы на знакомом и мощном языке C# и использовать знакомые и полюбившиеся приемы, библиотеки и наработанный код. Например, MonoTouch в полной мере поддерживает такую технологию как LINQ. Для разработчиков под MonoTouch уже доступны печатная литература, вышла книга.