LINUX.ORG.RU

Встречайте - MonoMac!

 , , , ,


0

0

Буквально на днях Мигель де Икаса объявил о выпуске нового направления в развитии платформы Mono под MacOS X - MonoMac, что позволяет создавать приложения на основе Cocoa с использованием Mono. MonoMac - это результат многолетних экспериментов со смешиванием .NET и Objective-C, а также некоторых принципов разработки, которые использовались в MonoTouch.

Несколько лет назад Джефф Нортон (Geoff Norton) создал CocoaSharp - первый набор языковых привязок .NET для Cocoa API. Первое время CocoaSharp отлично подходил для изучения принципов создания привязок для Objective-C на .NET. Со временем были созданы другие инструменты разработки для интеграции Objective-C с C# и другими языками .NET. У всех были свои достоинства и недостатки, и теперь сделана попытка объединить преимущества всех существующих решений в MonoMac.

Проектом выдвинуты следующие технические требования:

  • использование Cocoa API в виде C# API;
  • наследование от классов Objective-C;
  • механизм для вызова библиотек Objective-C;
  • сделать повседневные задачи Objective-C лёгкими, а сложные - возможными;
  • представление свойств Objective-C в виде свойств C#;
  • представление строго типизированных API, например вместо представления обычного контейнера NSArray или индивидуальных объектов NSObjects;
  • использование перечислений int и uint как параметров в виде перечислений C# или перечислений C# с атрибутами [Flags];
  • представление основных типов в виде «родных» типов C#;
  • события и уведомления, которые предоставляют пользователю возможность выбора между подходом Objective-C и системой событий C#;
  • лицензировать библиотеки классов под MIT X11, как и остальные библиотеки классов Mono;
  • представление делегатов C# (лямбды, анонимные методы и System.Delegate) для Objective-C API в виде «блоков»;
  • не создавать привязок для тех API, которые почти не используются на практике.

Cocoa состоит из двух API: одна часть - объектно-ориентированные C-callable API, а другая часть - API на базе Objective-C. API на основе C обрабатываются с использованием традиционного подхода P/Invoke, где эти API «оборачиваются» в классы C#. Это включает в себя такие API, как: AudioToolbx, CoreGraphics, CoreFoundation и CoreText. API на основе Objective-C, где используются такие ресурсоёмкие вещи, как пользовательский интерфейс и высокоуровневая логика (Foundation и AppKit), обрабатываются новым «движком» привязок MonoMac.ObjCRuntime и генератором привязок btouch.

В отличие от MonoTouch, MonoMac на данный момент не предоставляет привязок для всех Cocoa API. Основным направлением разработки была возможность создавать приложения вообще и подготовить кодовую базу к изменениям сторонних разработчиков.

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

  • CoreFoundation (некоторые части ещё не реализованы полностью);
  • CoreText;
  • CoreGraphics;
  • Foundation (некоторые части ещё не реализованы, как и вспомогательные инструменты);
  • AppKit (осталось реализовать порядка 30%).

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

А теперь ещё немного о приятном. MonoMac является всего лишь библиотекой, которая предоставляет разработчикам C# доступ к нижележащему слою API в OSX, и не включает в себя средства для создания установочных пакетов (application bundle). Но есть планы по включению нового инструмента «Mono bundler» в версию Mono 2.8. Этот инструмент исследует .NET приложение и генерирует установочный пакет, который содержит как код самого приложения, так и код тех зависимостей из Mono, которые необходимы для запуска. Такую же технологию сейчас использует Banshee на OSX. Это позволит распространять приложения, написанные на Mono под OSX без установки Mono на компьютере конечного пользователя.

Внимание! Для установки MonoMac вам потребуются два модуля: сам MonoMac и MacCore. Также нужна последняя версия Mono.

Сейчас самое время для тестирования уже написанной части проекта и, если есть желание - подключения к команде разработчиков. Со списком того, где требуется помощь, можно ознакомиться по ссылке ниже. Поэтому, если у вас есть время - то можете помочь в развитии платформы Mono на MacOS X и упростить другим написание новых приложений.

>>> Объявление Мигеля де Икасы

★★★★

Проверено: maxcom ()

MonoMac - это результат многолетних экспериментов со смешиванием .NET и Objective-C

Вот это жесткий мутант!!!

Kosyak ★★★★
()

Этот инструмент исследует .NET приложение и генерирует установочный пакет, который содержит как код самого приложения, так и код тех зависимостей из Mono, которые необходимы для запуска.

FacePalmApp.bin 298,78 MiB

Kosyak ★★★★
()

> платформы Mono под MacOS X

Пойду застрелюсь. Не думал, что Мигель такой [неразборчиво].

Deleted
()

Зонд-матрешка? Оригинально!

unikoid ★★★
()
Ответ на: комментарий от Kosyak

>298,78 MiB

да, где-то так.
кроссплатформенно аки java - каждое говноприложеньице тянет свой рантайм в коробке.

k0l0b0k ★★
()
Ответ на: комментарий от madcore

>можете помочь в развитии платформы Mono на MacOS X

А Джобс удобрил?


скоро. набирает веса, для пущего качества удобрения.

k0l0b0k ★★
()
Ответ на: комментарий от registrant

все равно второму мужику 5+ за оформление новостей.

k0l0b0k ★★
()

> Также нужна последняя версия Mono.

Хм... Последняя версия Mono... Значит, следующих уже не будет?

no-dashi ★★★★★
()
Ответ на: комментарий от Kosyak

> Вот это жесткий мутант!!!

Значит платформа не так плоха, раз позволила такое интегрировать друг в друга

namezys ★★★★
()
Ответ на: комментарий от Deleted

> Пойду застрелюсь. Не думал, что Мигель такой [неразборчиво].

Скажите, а где настолько развит компилируемый язык со статической типизацией?

namezys ★★★★
()
Ответ на: комментарий от no-dashi

>>Хм... Последняя версия Mono... Значит, следующих уже не будет?

Будет конечно. Я имею ввиду, что еще не зарелизенная версия нужна для мономака.

MuZHiK-2 ★★★★
() автор топика

> который содержит как код самого приложения, так и код тех зависимостей из Mono, которые необходимы для запуска

Мигель подпольно внедряет полгнома на Мак. Шутка. По делу, молодцы, еще одним проектом больше пользоваться не буду, как всегда на ЛОРе. Пускай лучше хороший «MonoWin» сделают с поддержкой инсталляции ))) Устал Gtk Theme Selectorом Nimbus ставить.

vertexua ★★★★★
()
Ответ на: комментарий от Kosyak

>>FacePalmApp.bin 298,78 MiB

Это macway, и ничего тут не поделаешь.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от namezys

Да, может и нигде, я о другом - зачем это вообще может быть нужно сообществу? На кол его надо. Может в гноме, ещё куда не шло, но это уже предел.

Deleted
()
Ответ на: комментарий от Deleted

>>Да, может и нигде, я о другом - зачем это вообще может быть нужно сообществу? На кол его надо. Может в гноме, ещё куда не шло, но это уже предел.

Если бы ты покодил под мак, то понял бы, какое это извращение. Сабж спасает от этого.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от Deleted

>>В сообществе много людей, пишущих на C# под Mac? Видимо, только Мигель и его команда.

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

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

>Monotouch пользуется хорошей популярностью, между прочим.

а как же новый пункт лицензии, что, мол, нельзя писать на чём попало под iPhone? с этим поделием такого же не случится?

RedPossum ★★★★★
()
Ответ на: комментарий от Deleted

> Пойду застрелюсь. Не думал, что Мигель такой [неразборчиво].

он просто делает то, что ему нравиться - и гораздо эффективнее чем «профи», которые его осуждают и пишут, что mono говно и т.п.

lester ★★★★
()
Ответ на: комментарий от RedPossum

>>а как же новый пункт лицензии, что, мол, нельзя писать на чём попало под iPhone? с этим поделием такого же не случится?

Я уже устал объяснять местным фанатикам и другим неадекватам, что с monotouch все в порядке. Лицензия эппла была направлена против флэша и ему подобных. Напротив, вышел MonoTouch 3.0.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

> Monotouch пользуется хорошей популярностью, между прочим.

Windows, например, тоже пользуется. Это хорошая ОС из за этого?

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


Профиты кому? Маководам.

Теперь будет больше народу кодить.


Количество не подразумевает качество. Да, и если бы больше народу кодило, например, на лиспе, хаскеле, ерланге, луа и других не столь популярных языках было бы гораздо лучше. А от C# толку на линуксе - ноль.

Deleted
()
Ответ на: комментарий от Deleted

>>Windows, например, тоже пользуется. Это хорошая ОС из за этого?

Для кого-то - да.

Профиты кому? Маководам.

И что? Они не люди, что ли?

А от C# толку на линуксе - ноль.

Не тебе судить, если другие люди пользуются. От тебя как раз толку ноль, да.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от Deleted

> Да, и если бы больше народу кодило, например, на лиспе, хаскеле, ерланге, луа и других не столь популярных языках было бы гораздо лучше.

бл% :) ну надо вам лисп, например, ну так берите пример с Мигеля - он не ноет, а работает, а то такое ощущение, что среди «гуру» одни импотенты, которые только умеют жаловаться, что их любимый язык зажимают

lester ★★★★
()
Ответ на: комментарий от Deleted

> Вы используете моно?

нет

Зачем оно мне, как пользователю?


тебе как пользователю - должно быть фиолетово

lester ★★★★
()
Ответ на: комментарий от MuZHiK-2

>> Не тебе судить, если другие люди пользуются. От тебя как раз толку ноль, да.

Гном нельзя использовать без моно штоле?

>> И что? Они не люди, что ли?

Если вы еще не поняли, то поясняю - маководы - наши гламурные кисы враги, поэтому будет лучше, если они будут жевать верблюжью колючку.

Deleted
()
Ответ на: комментарий от Deleted

>>Гном нельзя использовать без моно штоле?

Причем тут гном? О нем ни слова в новости. У тебя что-то не так.

Если вы еще не поняли, то поясняю - маководы - наши гламурные кисы враги, поэтому будет лучше, если они будут жевать верблюжью колючку.

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

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от lester

> которые только умеют жаловаться, что их любимый язык зажимают

У нас сейчас какая самая популярная ОС? Windows, правильно. Поэтому, C# такой и популярный, благодаря монополии MS - под линукс писать не выгодно, а под Windows на C# самое оно.

Deleted
()
Ответ на: комментарий от Deleted

> У нас сейчас какая самая популярная ОС? Windows, правильно. Поэтому, C# такой и популярный, благодаря монополии MS - под линукс писать не выгодно, а под Windows на C# самое оно.

а какие языки самые популярные? С/С++/Java - и не потому-что их продвигает монополист MS

lester ★★★★
()
Ответ на: комментарий от Deleted

> Да, может и нигде, я о другом - зачем это вообще может быть нужно сообществу

А сообществе программистов под мак забыли?

namezys ★★★★
()

если правильно помню, то в phone OS4 Жобс запретил (законодательно ;)) использовать, что либо при разработке под йабло кроме кошерной Obj-C. Это я так понимаю пока не относится к большим макам? ;) А не страшно, что наступит час-Ч и анальный зонд мягко войдет (как со стороны балмера так и со стороны стиви).

real_maverick ★★★
()
Ответ на: комментарий от Deleted

> Количество не подразумевает качество.

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

namezys ★★★★
()
Ответ на: комментарий от lester

C# на шестом месте, тоже неплохо. А благодаря Мигелю станет ещё больше. В Linux опять же, толку от него ноль, а «враги» будут только рады. Это нормально или как? Мигель продался давно проприетарщикам и играет на два фронта, а вы за него радеете.

Deleted
()
Ответ на: комментарий от Deleted

> маководы - наши гламурные кисы враги, поэтому будет лучше, если они будут жевать верблюжью колючку.

Посмотри не половину девелоперов софта для работы с фото и рисования. Сидят под маком

namezys ★★★★
()
Ответ на: комментарий от namezys

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

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

lester ★★★★
()
Ответ на: комментарий от Deleted

> C# на шестом месте, тоже неплохо. А благодаря Мигелю станет ещё больше

ну и молодец Мигель - всякие функцианальщики должны брать пример

lester ★★★★
()
Ответ на: комментарий от namezys

> Посмотри не половину девелоперов софта для работы с фото и рисования. Сидят под маком

Фотошоп от этого на линуксе не появится, поэтому это важно только тем, кто сидит под Mac. Или Мигель уже на Apple работает?

Deleted
()
Ответ на: комментарий от Deleted

> Программисты под Mac на C# ? Причем здесь Linux?

Любая open source разработка это хорошо

Программист на «языке» - это кодер

namezys ★★★★
()
Ответ на: комментарий от namezys

> Посмотри не половину девелоперов софта для работы с фото и рисования. Сидят под маком

Фотошоп от этого на линуксе не появится, поэтому это важно только тем, кто сидит под Mac. Или Мигель уже на Apple работает?

Deleted
()
Ответ на: комментарий от namezys

> Посмотри не половину девелоперов софта для работы с фото и рисования. Сидят под маком

опять волынка, что мак - для дизайнеров, а не для людей :)

lester ★★★★
()
Ответ на: комментарий от lester

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

Я вот до сих пор полностю удовлетворялся

namezys ★★★★
()

ИМХО, полный оффтоп!

lig
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.