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 ()
Ответ на: комментарий от Deleted

А ты тоже только на гранты и пожертвования живёшь? Или только требуешь, чтобы все вокруг для тебя всё забесплатно делали, и на работе тебе при этом не забывали нормально платить?

VestniK
()

Новости от MuZHiK-2

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

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

> От кого?

Конкретно в этом топике от Apple:

> Для кого они это делают?

Для себя и только.

Free as in freedom, not as in beer.

Вот и я о том же.

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

Если я их осуждаю, то это не значит, что я принуждаю. Пусть делают что хотят - дурака могила исправит. Я всего лишь констатирую факт - любить Apple не за что, скорее наоборот.

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

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

Вроде все про это уже давно знали.

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

сам то ты кодил под мак, или только со слов мигеля об этом знаешь?

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

с момента публичного выхода SDK 4.0 (предположительно - летом), monotouch будет rip.

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

> Вроде все про это уже давно знали.

Я знал, но такого от него не ожидал, честное слово.

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

Больше она нафик никому не нужна.

то-то ее БЗДшники себе чуть ли не на следующий день портировали %)

то же самое с llvm/clang, на котором все те же бздшники в поте лица пересобирают остатки GPL-ного софта в портах.

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

> то-то ее БЗДшники себе чуть ли не на следующий день портировали

Фанатики, что сказать.

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

> CUPS и WebKit не в счёт.

WebKit почему не в счет?

WebKit - всего лишь форк.

Уже содержащий может быть только упоминания о том, что это был KHTML

прально, закидать ссаными тряпками за то, что накормила опенсорс-программистов

А еще допилила ее до уровня полноценного цветового вывода

А grand central - это что вообще такое?

API и система легковесной синхронизации потоков. В общем значительное снижение расходов на многопоточность и упрощение разработки

Вот именно, что их реализация. Больше она нафик никому не нужна.

Очнитись. Системы синхронизации потоков у них была изначально в языке.

О грантах и пожертвованиях слышали?

А вы счиатете это не за бабло. Особенно если они делают это уже после того, как дали деньги

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

> WebKit почему не в счет?

Потому что, даже если там и от KTHML, как вы говорите, только упоминание осталось, все равно WebKit не может считаться их разработкой. Это форк проекта под LGPL, не более.

Уже содержащий может быть только упоминания о том, что это был KHTML


Пустые слова.

А еще допилила ее до уровня полноценного цветового вывода


А сами они бы этого не смогли сделать чтоли?

А вы счиатете это не за бабло. Особенно если они делают это уже после того, как дали деньги


Гранты и пожертвования - это сколько? Копейки, относительно того, какими деньгами ворочает Apple. А маководы их ещё и «финансируют», покупая их продукцию.

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

> А сами они бы этого не смогли сделать чтоли?

Ну так не сдедали же

Гранты и пожертвования - это сколько? Копейки, относительно того, какими деньгами ворочает Apple

Отличие в следующем: эппл разрабатывает для себя и открывает. А эти разработывают за баблосы - то есть сделать и открыть - это их работа

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

> А эти разработывают за баблосы - то есть сделать и открыть - это их работа

Кто эти? FSF, Mozilla Foundation?

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

> Mozilla Foundation
Ужасная. Продукты - говно

FSF, OSI

Задроты.


Да, кстати, дядя Вася, который картошку продает в палатке - у того коммерческая организация, но ты что-то в инете на него не выпендриваешься, а вот на Эппл - пожалуйста.

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

> А маководы их ещё и «финансируют», покупая их продукцию.
А ты ешь только домашнюю еду, одеваешься на рынке в дешевые бренды, машиной не пользуешься, транспортом тоже (Метрополитен - вонючая монополистическая организация), компьютер ты сам собирал себе?

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

> дядя Вася, который картошку продает в палатке - у того коммерческая организация

Он частный предприниматель. И потом, что на него выпендриваться? Он что эту картошку крадет чтоли? Или может от того, что он, негодяй, её сам вырастил и продает, мешает честной конкуренции на рынке?

А ты ешь только домашнюю еду, одеваешься на рынке в дешевые бренды, машиной не пользуешься ...


Сравнил, тоже мне. Одно дело платить M$ и Apple, другое дело - добросовестным производителям.

Задроты.

На себе посмотри, лол. Там хотя бы не клоуны в банданах сидят, а проффесора.

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

>одеваешься на рынке в дешевые бренды

Учитывая, что известные основатели дорогих брендов (Армани, Версаче, Дольче, Габанна) были самизнаетекем (если верить педивикии), то всё с тобой ясно (хотя лично я всегда знал, что те, кто ф*пают на логотип D&G имеют ту же особенность, что и яблочники).

компьютер ты сам собирал себе?


Яблочники такие яблочники. Даже пошевелить руками раз в несколько лет не могут. Для них это сверх человеческих возможностей.

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

> то всё с тобой ясно (хотя лично я всегда знал, что те, кто ф*пают на логотип D&G имеют ту же особенность, что и яблочники)

Учитывая это (http://encyclopediadramatica.com/GNAA), он и есть самизнаете кто.

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

> Сравнил, тоже мне. Одно дело платить M$ и Apple, другое дело - добросовестным производителям.

А эппл не добросовестный? Что, говорят что айпод продают, а на самом деле что-то другое? Нет. Так почему одни большие корпорации ты не приемлишь никак, а к другим нормально относишься?

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

Возмем тот же iPhone:

The 5 real reasons to avoid iPhone 3G:

* iPhone completely blocks free software. Developers must pay a tax to Apple, who becomes the sole authority over what can and can't be on everyone's phones.
* iPhone endorses and supports Digital Restrictions Management (DRM) technology.
* iPhone exposes your whereabouts and provides ways for others to track you without your knowledge.
* iPhone won't play patent- and DRM-free formats like Ogg Vorbis and Theora.
* iPhone is not the only option. There are better alternatives on the horizon that respect your freedom, don't spy on you, play free media formats, and let you use free software — like the FreeRunner.

Я думаю, текст в переводе не нуждается. Вот про Mac OS X: http://www.fsf.org/blogs/rms/mac-osx-mistakes-and-malfeatures

>> Так почему одни большие корпорации ты не приемлишь никак, а к другим нормально относишься?

А почему я должен всех любить? Всяких проприетращиков, тивоизаторов и прочих лиц, вставляющих палки в колеса, не люблю. Это моё право в конце концов.

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

>А эппл не добросовестный? Что, говорят что айпод продают, а на самом деле что-то другое?

Если бы его не было бы запрещено синхронизировать с Linux, то тогда мы бы ничего против него не имели, он мог бы претендовать на звание единственного относительно вменяемого продукта от Apple. А другие продукты, как говорится, defective by design. Те же десктопные маки: те же самые компьютеры, но с собственной операционной системой, которую запрещено ставить на железо от других поставщиков (хотя в нём будет та же самая начинка). И из-за этого они продают их по завышенной в 2 раза цене, хотя никаких объективных преимуществ у них нету. Это и есть торговля воздухом.
Про iphone уже даже говорить надоело.

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

> Если бы его не было бы запрещено синхронизировать с Linux

Это ладно, но билн покупать за такие деньги плеер, который даже Ogg Vorbis и FLAC играть не умеет - это позор, не иначе. Да, есть Rockbox, но он много где есть.

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

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

Я пишу под мак и могу скажать честно - обжектив неплох, еси привыкнуть к синтаксису и решать задачи на уровне обжектива, там где надо высоко и просто, а на уровне С, там где надо низко и быстро. Собсно, в любом из этих вариантов моно и шарп - говно. Но вы, поскольку выше кодерства не забрались, можете вволю дозволять мигелю лазить в вашу задницу своими шаловливыми пальчиками, благодаря его за это громко.

Я бы еще подумал, если бы сабж спасал лично от вас, но поскольку он не спасает от фанатиков, то мономак не нужен.

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

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

Выйдет ОС4 и вы повторите то же самое, когда все монотач приложения выпилят со стора, как бывало уже до этого с теми, кто нарушает девелоперский договор.

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

> Я всего лишь констатирую факт - любить Apple не за что, скорее наоборот.

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

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

> О грантах и пожертвованиях слышали?

считаете что это делается не ради зарабатывания бабла? возможно в будущем.

пожертвования вообще что бы от налогов откосить.

не будьте наивным.

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

MuZHiK-2> Monotouch

Монотач сдох. Apple запретила запускать на айфоне, айподтаче и айпаде программы, написанные на монотаче.

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

namezys> darwin, grand central, open cl - это с ходу так вспомнилось

darwin - это BSD + Mach. Так что не чисто яббловское.

OpenCL - только начало разрабатываться ябблом. Реально разработан компанией nVidia.

Clang - единственная разработка Apple, которая была _не закрыта_ ей.

А что такое Grand Central?

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

annulen> а почему CUPS и WebKit не всчет?

Потому, что CUPS развивался неплохо и без яббла компанией Easy Software Products. Реально закрытие CUPS было бы рубкой сука под своей жопой - лицензия позволяет форкнуть, и послать Apple на***. И в результате Apple пришлось бы самой вести свою ветку, и почти никто бы эту ветку не использовал бы.

А WebKit ни что иное как KHTML, на который наворотили дополнительные возможности. А закрывать не стали только потому, что GPL/LGPL. Если бы закрыли - утырок Стивви лично бы получил кол в анус.

Это _не_ разработки Apple.

Quasar ★★★★★
()

Я как пользователь и как разработчик - жутко против моно в принципе и на любой платформе.

Возможно это отпечаток ассемблера и встраиваемых платформ, но меня предергивает от дикого размера программ хелло ворд на С#

Возможно как язык и хорош, но вот с библиотеками они явно перегнули

Посмотрите в сторону явы - ее ведь и в чип прошивают (nanoVM или JamVM) А тут проверните такое дело.

Надо насильно запретить мигелю подходить к компьютерам.

пусть выучит С/С++ и возрадуется

Ненавижу моно. Вон некоторые «программисты» пишут даже программы для работой с биосом и прошивкой на С#.

Тот кто защищает моно - вы попробуйте дизассемблируйте выходной файл в ИДА и декомпилируйте в Си. Вы просто о...ете! Увидев сколько ненужного происходит. ;-)

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

> Тот кто защищает моно - вы попробуйте дизассемблируйте выходной файл в ИДА и декомпилируйте в Си. Вы просто о...ете! Увидев сколько ненужного происходит. ;-)

Мне страшно подумать, какой инфаркт тебя хватит, если ты попробуешь представить сколько «лишнего» происходит при выполнении программы на Perl... :)

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

http://www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0003.html

Подобной вещи для C# я почему-то не видел...

Это конечно не вершина оптимизации, но все же... Для сравнения: реализация SHA1:

на ассемблере (1Кб исходник) - 530 байт бинарник

на С + инлайн (1Кб исходник - 1.5 кб бинарник (gcc 4.4.3)

на С++ (1.5 исходник) - 2 кб бинарник (тоже gcc)

Реализация на C# - статическая компиляция - 2.8 МБ!!!!

Это мне все что удалось ужать по-максимуму...

А потом и получается что для того чтобы запустить переключалку раскладки, требуется .net...

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

>А WebKit ни что иное как KHTML

очень сильно доработанный

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

> гениальные идеи приложений

У Apple нет ничего гениального. Одни свистелки, перделки и прочие улучшайзеры. Их девайсы и интерфейсы - позор компьютерной индустрии.

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

> пожертвования вообще что бы от налогов откосить

Ну, да, конечно.

считаете что это делается не ради зарабатывания бабла?


Ну как бы, когда люди делают что то хорошее для общества, я об этом даже не думаю. За хорошие вещи в конце концов не грех и заплатить.
А вот за отгребание бабла, что практикует Apple - я бы и цента не дал.

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

Ну вообще да, на нем же моно пишет.

Значит не осилил оптимизацию и принцип KISS ))) А то понавыпускают...

Gcc/llvm/tcc с каждым релизом страраются код меньше/быстрей делать, а моно по-моему наоборот...

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

> Это и есть торговля воздухом.
Это не торговля воздухом. Это торговля. Они не врут тебе про товар. А тебе уже решать - покупать его, или нет. Добро пожаловать в свободный рынок!

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

>Они не врут тебе про товар.

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

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

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

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

> > гениальные идеи приложений

У Apple нет ничего гениального. Одни свистелки, перделки и прочие улучшайзеры. Их девайсы и интерфейсы - позор компьютерной индустрии.

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

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

Простите, нераспарсил. С этим можно согласиться, но, что Apple единственная контора, которая платит за это? Google Android чем не в пример?

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

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

За маркетинг пока в тюрьму не сажают, а жаль.

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

> ТПростите, нераспарсил. С этим можно согласиться, но, что Apple единственная контора, которая платит за это? Google Android чем не в пример?

Так то не эппл, а хомячки плотят. На андроид пока хомячковый рынок небольшой, ибо собсный маркет слабо развит по сравнению с эппл и не та популярность, чтобы хомячки и лемминги считали, что оне могут на андроиде заработать состояния на своей сверхгениальной идее, которую я любезно воплощу за мзду. Хотя скажу вам честно, хоч андроид и сложнее, чем ифон, с точки зрения структуры, но намного более открыт и мне очень нравицца. Из - за него даже решил яву потихоньку осваивать.

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

> Мне говорят не про маректинг, а про то, что эппл «продает воздух».

А что не так? Если Apple продает свой продукт по цене двух аналогичных, то где второй? :)

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

Какая разница? Они какую хотят цену - такую и выставляют.

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

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

Ну так тут мы говорим о идентичной продукции. На черкизоне одежда гораздо хуже, чем в дорогих магазинах.

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