Как стать автором
Обновить
0

Mono и Moonlight *

Opensource-воплощение системы .NET Framework

Сначала показывать
Порог рейтинга
Уровень сложности

CXXI: Мост между мирами C# и C++

Время на прочтение7 мин
Количество просмотров42K
В рантайме Mono есть немало средств для взаимодействия с кодом на не .NET языках, но никогда не было ничего вменяемого для взаимодействия с кодом на C++.

Но это вскоре изменится благодаря работе Алекса Коррадо, Андрэа Гайта и Зольтана Варга.

Вкратце, новая технология позволяет разработчикам C#/.NET:

  • Легко и прозрачно использовать классы C++ из C# или любого иного .NET языка
  • Создавать экземпляры классов C++ из C#
  • Вызывать методы классов C++ из кода на C#
  • Вызывать инлайн-методы C++ из кода на C# (при условии, что библиотека скомпилирована с флагом -fkeep-inline-functions или если вы скомпилируете дополнительную библиотеку с их реализациями)
  • Наследовать классы C++ из C#
  • Переопределять виртуальные методы классов C++ методами на C#
  • Использовать экземпляры таких смешанных C++/C# классов как в коде на C#, так и в коде на C++

Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии18

Построение «правильного» процесса разработки на платформе Mono

Время на прочтение20 мин
Количество просмотров13K
Элементарный пример цикла разработка примитивного ASP.NET (Mono) приложения с использованием Jenkins CI, по мотивам Построение «правильного» процесса разработки на платформе .NET.

Представленный пример может быть интересен широкой аудитории, т.к. легко может быть адаптирован для разработки под любую другую платформу.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии3

Hosts Commander — консольный редактор hosts для Windows и Linux

Время на прочтение3 мин
Количество просмотров7.3K
Hosts Commander призван максимально облегчить работу с файлом hosts из консоли. Если вам время от времени приходится забираться в этот файл (что характерно для веб-разработчика), и вы любите консоль — Hosts Commander может прийтись вам по душе.
Год назад на Хабрахабре была анонсирована первая версия программы, которая работала только под Windows. Но с тех пор многое изменилось и стало лучше. Это отличный пример, как из простой идеи может вырасти нечто большее.
Читать дальше →
Всего голосов 42: ↑23 и ↓19+4
Комментарии39

Вышел MonoDevelop 2.8.2

Время на прочтение1 мин
Количество просмотров1.8K
Вышло второе обновление к релизу 2.8 среды разработки для платформ .Net, Mono, MonoTouch и MonoDroid. Все нововведения связаны с разработкой под Android и iOS. Так же немного оптимизировали дебаггер.
Помимо этого, похоже, доведён до ума редактор кода. После получасовых издевательств мне не удалось заставить его сыпать ошибками (неделю назад подобная процедура выявила невозможность сохранить файл без кода, но с комментариями).

Полный список изменений можно почитать здесь. Обзор релиза 2.8 на хабре, если кто ещё не читал, можно увидеть тут.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии16

Истории

Выпуск MonoDevelop 2.8.1

Время на прочтение1 мин
Количество просмотров1.2K
Вышло первое обновление к релизу 2.8 среды разработки для платформ .Net, Mono, MonoTouch и MonoDroid. Никаких нововведений не было, зато исправлено несколько весьма критичных багов, один из которых приводил к полной невозможности редактирования исходника из-за постоянно выскакивающих сообщений об ошибке. Так же исправлен набор проблем с автодополнением, подсветкой синтаксиса и ещё несколько незначительных, но неприятных вещей.

Полный список изменений можно почитать здесь. Обзор релиза 2.8 на хабре, если кто ещё не читал, можно увидеть тут.

Последнюю версию для Windows и MacOS X можно скачать с официального сайта, но пакетов для большинства дистрибутивов Linux всё ещё нет, равно как и для 2.8. Впрочем, как заметили в комментариях, относительно openSuSE и NLE надпись на сайте об отсутствии пакетов нагло обманывает.

Пользователи же Debian (потребуется поставить mono из experimental репозитория) и Ubuntu при желании могут воспользоваться моим ppa, в котором можно найти как сей релиз, так и пакет, пересобираемый с каждым коммитом в github-репозитории.
Всего голосов 15: ↑14 и ↓1+13
Комментарии7

Выпуск MonoDevelop 2.8 — интеграция с XCode 4, поддержка iOS 5 и другое

Время на прочтение1 мин
Количество просмотров2.3K
image

Выпущена новая версия среды разработки MonoDevelop 2.8 для платформ .Net, Mono, MonoTouch.

Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии49

Проблемы обработки исключений в WCF под Mono

Время на прочтение13 мин
Количество просмотров3.6K
По служебной необходимости мне пришлось столкнуться с задачей создания клиента WCF-службы под Mono 2.6.7.
Всё вроде бы шло хорошо – клиент работал как под .NET, так и под Mono – до тех пор, пока я не занялся обработкой исключений, которые могут возникнуть в методах WCF-службы.
Проблемы начались тогда, когда мне понадобилось обработать моё собственное исключение, содержащее не только сообщение исключения, но и некоторую дополнительную информацию.
Я решил, что организую обработку исключительных ситуаций так, как это описано в статье «Exceptions through WCF» (http://habrahabr.ru/blogs/net/41638/) уважаемого Романа RomanNikitin.
В .NET клиент работал так, как надо, а вот при запуске под Mono возникла следующая ошибка:
image
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии9

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

Время на прочтение2 мин
Количество просмотров3.8K
Пример 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.
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии44

Пишем первое приложение на Mono Android

Время на прочтение13 мин
Количество просмотров57K
Здравствуйте. В этой статье я бы хотел поделиться своим опытом создания приложений для мобильной платформы Android с использованием Mono и разобрать простой пример.

Для начала работы с Mono Android необходимо установить:
Читать дальше →
Всего голосов 67: ↑59 и ↓8+51
Комментарии51

Выпущена новая версия Mono 2.8

Время на прочтение1 мин
Количество просмотров1.1K
imageВыпущена новая версия свободной реализации платформы .NET Mono 2.8. Эта версия является важным обновлением, которое привносит значительные усовершенствования:
  • поддержка C# 4.0;
  • новый производительный сборщик мусора Generational Garbage Collector (ниже);
  • новые компоненты:
    • ASP.NET 4.0;
    • Parallel Framework и PLINQ;
    • System.XAML;
    • System.Dynamic;
    • MEF;
    • MVC 2;
    • System.Data.Services.Client (OData);
    • WCF Routing;
    • CodeContracts;
    • System.Numerics
    • LINQ to SQL;
    • в пакет включена DLR.
  • вторая версия embedding API;
  • поддержка OpenBSD.
Подробное описание нововведений доступно по этой ссылке. Загрузка Mono 2.8 доступна по этому адресу.

Под катом результаты тестирования производительности нового сборщика мусора.
Читать дальше →
Всего голосов 66: ↑55 и ↓11+44
Комментарии35

Первая демонстрация MonoDroid — написание Mono/.NET-приложений под Android

Время на прочтение1 мин
Количество просмотров5.2K
Недавно команда разработчиков MonoDroid через твиттер объявила, что первые 250 тестеров получили доступ к набору инструментов MonoDroid.

MonoDroid — это платформа, с помощью которой разработчики могут писать приложения на базе Mono (открытая реализация .NET) для мобильной платформы Android.

Ниже представлено видео, в котором по шагам рассказывается как настроить среду MonoDroid с интеграцией в Visual Studio 2010 и написать первое android-приложение на Mono.



Набор инструментов MonoDroid будет доступен разработчикам как под Windows, так и под Linux и MacOS X.
Всего голосов 54: ↑43 и ↓11+32
Комментарии38

Выпущена новая версия Mono Tools 2 for Visual Studio

Время на прочтение1 мин
Количество просмотров3K
image

Мигель Де Иказа в своем блоге анонсировал выпуск новой версии инструментов разработки под платформу Mono для Visual Studio.

MonoTools for Visual Studio позволяют создавать Mono-приложения с помощью Visual Studio, отлаживать их на локальной Windows-машине или удаленных Linux — и MacOS-машинах, формировать пакеты для развертывания в Linux.

В новой версии MonoTools 2 произведены следующие изменения:
  • добавлена поддержка нового отладчика soft debugger;
  • увеличена скорость переноса приложений в систему развертывания;
  • добавлена поддержка Visual Studio 2010;
  • устранены недочеты и прочие улучшения.
Загрузить инструменты MonoTools 2 for Visual Studio можно с официального сайта.
Всего голосов 50: ↑32 и ↓18+14
Комментарии17

Новая версия MonoDevelop 2.4

Время на прочтение1 мин
Количество просмотров2K
image
Можно по разному относится к разработке Mono, кто-то её терпеть не может, считая, что это поделка только оттягивает на себя силы сообщества, которые можно направить на более насущные задачи. Другие наоборот — довольны тем, что проект дает возможность, используя язык C# писать приложения под три самых популярных платформы — Microsoft Windows, GNU Linux и Apple MacOS X.
Как бы то ни было, Люди используют эту платформу и используют её инструменты. Один из главных инструментов — MonoDevelop объявил о выходе новой версии.
Сама среда визуально копирует Microsoft Visual Studio и может быть интересна не только как среда разработки Mono и .Net приложений, но и как замена (на первое время) MSVS для разработчиков мигрирующих с MS Windows так как прекрасно понимает файлы проектов .sln
Официальный релиз IDE
Читать дальше →
Всего голосов 50: ↑37 и ↓13+24
Комментарии21

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

MonoDroid — программа тестирования Mono для Android

Время на прочтение1 мин
Количество просмотров3.7K
imageМигель Де Иказа в своем блоге рассказал о прогрессе работы над портированием проекта Mono на платформу Android. Для доступа к ранним тестовым версиям уже сейчас, необходимо пройти следующий опрос.

Мигель описал следующие направления в разработке MonoDroid:

— C#-биндинги для Android API;
— полноценный JIT-компилятор: поддержка LINQ, dynamic, DLR (поддержка на Android разработки на Python, Ruby и других динамических языках реализованных для DLR);
— инструменты позволяющие поставлять с приложением только те компоненты Mono, которые требуются приложению;
— компиляция Ahead-of-Time, которая позволит по желанию задать возможность прекомпиляции приложения на Mono в момент установки на устройство, что позволит ускорить последующий запуск приложения.

Кроме того, Мигель пишет, что они пока дискутируют над вопросом нужно ли предоставить возможность общего mono runtime либо встраивать такой runtime в каждое приложение. Кроме того, команду Mono интересует ваше мнение о инструментах разработки, которые вы хотели бы видеть для MonoDroid.
Всего голосов 49: ↑32 и ↓17+15
Комментарии29

MonoMac — проект Mono для MacOSX

Время на прочтение1 мин
Количество просмотров5K
imageМигель де Иказа в своем блоге анонсировал новый проект из семейства Mono — MonoMac. MonoMac — это новый фреймворк, который позволяет строить Cocoa-приложения для OSX с помощью Mono. Как пишет Мигель, в этом фреймворке воплотился весь опыт компании Novell в развитии Mono на Linux и iPhone.

На текущей ранней стадии проекта, реализованы следующие привязки:

— CoreFoundation;
— CoreText;
— CoreGraphics;
— Foundation;
— AppKit (осталось сделать около 30%).

MonoMac не привязан к языку C#. Как говорит Мигель: «Привязки MonoMac на OSX можно использовать с IronPython, F# и IronRuby, не только с C#». И это здорово.

В посте Мигеля можно найти подробную информацию о целях и идеологии проекта. MonoMac — это opensource-проект, который лицензирован под свободной лицензией MIT X11 совместимой с GPL. Создана рассылка проекта. Исходники доступны с SVN проекта для monomac и maccore.
Всего голосов 50: ↑36 и ↓14+22
Комментарии25

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

Время на прочтение1 мин
Количество просмотров741
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.
Всего голосов 57: ↑41 и ↓16+25
Комментарии9

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

Время на прочтение2 мин
Количество просмотров2.8K
На Хабре уже успели сообщить о удивительном (или неудивительном, кому как) решении 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#.
Всего голосов 112: ↑90 и ↓22+68
Комментарии145

Перенос ASP.NET приложения на Mono. Поддержка русского языка

Время на прочтение3 мин
Количество просмотров3.7K
Недавно перенёс небольшое ASP-приложение c .NET на Mono. Столкнулся с практически полным отсутствием поддержки русского языка при настройках по умолчанию. Использовалась связка Debian lenny (netinst) + Apache2 + mono-apache-server2.

Решение проблем:
Читать дальше →
Всего голосов 46: ↑35 и ↓11+24
Комментарии11

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

Время на прочтение5 мин
Количество просмотров1.4K
monotouchВ основе пользовательского интерфейса лежит UITableView, мощный виджет по отрисовке таблиц, который использует, почти, каждое приложение на iPhone. UITableView — мощный виджет, которые умеет отрисовывать данные различными способами, основываясь на том, как вы настроили сам виджет.
Читать дальше →
Всего голосов 36: ↑26 и ↓10+16
Комментарии17

Вышел пакет MonoTools 1.1 для Visual Studio 2010

Время на прочтение1 мин
Количество просмотров896
Группа разработчиков Mono выпустила обновления для своего набора инструментов MonoTools, который позволяет разрабатывать проекты Mono в Visual Studio и создавать пакеты для Linux. Этот бета-выпуск принес совместимость с Visual Studio 2010!

image

Кроме того в этом выпуске:
— добавлена поддержка проверки на наличие обновлений;
— улучшена функция копирования файлов при разворачивании или обновлении контента;
— интеграция с последней версией Visual Studio 2010 RC;
— добавлена функция помогающая создавать прекомпилированные пакеты приложений;
— много исправлений ошибок и других улучшений.

Официальный анонс здесь. Команда Mono просит сообщество протестировать данные инструменты и сообщать о всех ошибках и впечатлениях.
Всего голосов 52: ↑39 и ↓13+26
Комментарии12