LINUX.ORG.RU

MonoDevelop 2.0

 , , ,


0

0

MonoDevelop это GNOME IDE, изначально заточенная под C# и другие .NET языки. MonoDevelop позволяет быстро создавать декстопные и веб (ASP.NET) приложения под Linux. Так же MonoDevelop упрощает портирование .NET приложений, сделанных в Visual Studio, под Linux и дальнейшую их разработку с одними исходными кодами под все платформы.

Основные изменения:

  • Поддержка C# 3.0 и ASP.NET.
  • Встроенный дебагер.
  • Улучшена совместимость с Visual Studio (В особенности, веб приложения теперь имеют совместимость с Visual Studio 2008 и Visual Web Developer 2008 SP1).

>>> Подробности



Проверено: maxcom ()
Ответ на: комментарий от Klizmoid

> Интересно, а много библиотек пишут, например, на васике?

Главное, чтобы была такая фича. Которая в состоянии возбуждать мозги людям. А экономическое обоснование - это вопросы к M$, благо, они расплодили этот языковый зоопарк :)

Ну а потом будешь использовать из бэйсика либу написанную на Haskell'е, и тебе понадобится только знание бэйсика :)

Spectr ★★★
()
Ответ на: комментарий от I-Love-Microsoft

> Однако, глядя на то, под каким огромным числом ОС и типов процессоров работает Mono

Не вижу "огромного числа".

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

> Щас идет агрессивный пеар факин.NET.

Насколько я понимаю, MONO и .NET две РАЗНЫЕ вещи. Мигель очень активно не поддерживает библиотеки .NET, в которых используются запатентованые алгоритмы (и дотнетчиков призывает ими не пользоваться). Иначе моной можно было бы пользоваться только на SUSE.

.NET действительно не нужен, ибо MS кроссплатформенность и зависимость от MS - зло.

С Моно все более мутно. С одной стороны она не понятно зачем нужна SUSE (разве что там втихоря впихнут что-то запатентованное и воспользуются сговором с MS). С другой вроде кроссязыковая и кроссплатформенная. Привязку к QT туда допилят и поддерживать будут, скорее всего, вместе с самим Моно.

Преимущества у Моно есть (по сравнению с С++). Это кроссязыковость, интерфейс между модулями (в плюсах только в стиле C, т.е. создание/удаление объектов в одном модуле, эксепшини не ходят между модулями, передача данных только в виде встроенных типов или структур между модулями, вызов функций без декорирования), возможность распространять один бинарник (которые можно запустить без пересборки хоть на десктопе, хоть на мобильнике, причем даже на железе, которое еще не выпустили).

Недостаток один, но жуткий - непонятно кому и зачем он нужен (кто его будет развивать). Полная муть с патентами (т.е. нет гарантии, что MS не найдет в нем свой особый запатентованый инновационный способ ковыряния в носу).

Плюсы позволяют очень гибко расширять возможности языка через библиотеки и в QT это сделано очень хорошо. В результате можно писать на MONO (JIT + большая библиотека) с его мутной юридической основой и непонятной мотивацией команды разработки. Либо надежные приложения на QT и плюсах, но для этого придется прочитать пару книжек и при появлении новой платформы заново запустить qmake; make.

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

> Все библиотеки Ruby и Python у ваших ног под любой платформой, а вы про тормоза.

1) совместимости на уровне PEP-ов нет, по крайней мере для питон.
2) у жабы своих библиотек хватает - только из-за этого имеет смысл использовать иные языки под ее ВМ. Если Python поставляется с какими-то там батарейками, то Java и, соответственно, Jython дают в твое распоряжение целую электростанцию. Только в случае Jython и т.д. получаем совершенно дикие тормоза на сколько-нибудь сложных задачах из-за отличий в семантике Java и Jython. На одинаковых алгоритмах получаем проигрыш в скорости Jython по сравнению с СРython в несколько раз. В отличие от конкурента.

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

> На корпоративном бывает, что девелопер сидит на винде, тестовый сервер на линуксе, а продакшн и вовсе на AIX. Куда тут без переносимости?

Сисадмин, очевидно, на Солярке, а гендиректор на Маке.

И все в разных палатах. :-)

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

> Платформа подбирается под задачу, а не задача под платформу.

Или язык. А теперь у меня есть куча языков, которые (теоретически) одинаково хороши и имеют нехилую инфраструктуру. Я, при нужде, свой язык создам, и он подхватит эту инфраструктуру сразу же.

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

> С одной стороны она не понятно зачем нужна SUSE

Бизнес-план. Все манагеры любят .NET, рекламировать не надо - а вот вам и Linux с Mono - смотрите, он такой же как .NET.

> Преимущества у Моно есть (по сравнению с С++)

C++ не пинает только ленивый :)

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

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

> Недостаток один, но жуткий - непонятно кому и зачем он нужен (кто его будет развивать)

M$ это выгодно - поиграются с Mono, подсядут на платформу, как понадобится - то вот он, готовый .NET программист для винды - доучит пару либ - и готов к эксплуатации.

> Плюсы позволяют очень гибко расширять возможности языка

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

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

> .NET действительно не нужен, ибо MS кроссплатформенность и зависимость от MS - зло.

Скажем так, политика МС - зло.

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

> А зачем вообще эта многоязыковая поддержка нужна? Зачем в одном проекте может понадобиться зоопарк из нескольких языков? Если проект большой - это ж гемороищще какое, его саппортить! Так что этот "плюс" - очень, очень натянутый.

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

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

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

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

Но каждый за себя решает, даже когда "делегирует" право решать "специалистам".

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

Чтобы всё на винде - такого я не припомню, правда. Но речь идет не о десктопных приложениях.

svr69 ★★
()

Запустил MoMA (mono migration analyzer) на нашем Ыnterprise-пришложении. Mono еще пилить и пилить:

Methods that are still missing in Mono: 15

Methods called that throw NotImplementedException: 249

Methods called marked with [MonoTodo]: 683

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

Приложение, кстати, работает с MS SQL Analysis Services, так что без P/Invokes естественно никуда. Потому я их в результатах сознательно не привел.

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

> Это действительно большое счастье, тратить батарею мобилы на эмуляцию платформы

Вообще-то, в .NET вполне работает прекомпиляция при инсталляции приложения (или при первом запуске).

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

Приложение распределенное и есть части (Web-сервисы, Win-сервисы), которые от MSAS не зависят и вполне могли бы вертеться на каких-нибудь Linux-серверах. Профит очевиден ;)

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

А "Ынterpraiz-преложения" обязательно должны быть монстроподобные, дико тормозящие, вызывающие хронический гемморой у всего отдела разработки и поддержки, и написанные на .net или джаве?

Хороший пример жава-софта: Aqua Data Studio. Сам юзаю, лучше под Линуха пока ничего не видел.

Хороший пример .net-софта: Мною обнаружен не был. Всё что видел - полный УГ.

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

>А "Ынterpraiz-преложения" обязательно должны быть монстроподобные, дико тормозящие, вызывающие хронический гемморой у всего отдела разработки и поддержки, и написанные на .net или джаве?

Да. Это обязательное условие :). Главное чтобы приложение выполняло свой business goal - предоставляло клиентам доступ к определенным услугам. "Внутренняя красота" интересует исключительно отделы разработки и поддержки, а менеджерам и пользователям важны внешние показатели качества - точное соотвествие требованям, безотказная работа и приемлемая скорость выполнения приложением поставленных задач.

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

>> Да. Это обязательное условие :)...

А-а, ну да... СОвсем забыл. Если приложение будет хорошо работать - то как ж бабло за саппорт драть? Качественные, быстрые и безглючные Ынterпрайzы пейсать коммерчески НЕВЫГОДНО. И потому, видимо, .net специально так и затачивали...

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

Я бы не рассматривал .NET и Java как платформы для настольных приложений. Это скорее запускалки безопасного (обезопасенного) кода. Желательно чтоб они запускались не на клиентских десктопах, а на серверах той компании, которая их использует для создания своих приложений. Пользователь не должен расплачиваться за выбор сделанный другими. Для Linux-десктопа .NET и Java точно не нужны. Это экстенсивный путь развития. Linux-окружение должно быть эталонным по продуманности и эффективности решений. У Ыnterpris'a другие задачи, не стоит ровняться на его инструменты.

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

>А-а, ну да... СОвсем забыл. Если приложение будет хорошо работать - то как ж бабло за саппорт драть? Качественные, быстрые и безглючные Ынterпрайzы пейсать коммерчески НЕВЫГОДНО. И потому, видимо, .net специально так и затачивали...

Нет. Вы не поняли. Приложение должно работать хорошо, но необязательно внутри. Время enterprise-десктопа, на котором крутились (и крэшелись по OutOfMemoryException) WinForms-приложения подходит к концу. Компании предоставляют доступ к определенному сервису. Клиент ничего не знает о том, как этот сервис внутри работает. Он работает с его внешним представлением - Web-приложением. Его качество должно быть высоким, безусловно.

Возьмем к примеру Google Mail или Google Docs. Их пользовательские характеристики особых нареканий не вызывают. Все также знают, что есть замечательный инструмент GWT, читали по нему доки, изучали сырцы. Знаем что он юзается самим Googl'ом. Но никто не имеет понятия о качестве реализации самих сервисов Google Mail и Google Docs. Это blackbox. Можно только строить догадки.

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

>> Это скорее запускалки безопасного (обезопасенного) кода. 

Никак не пойму, зачем запускать "безопасный" код на небезопасной системе, и зачем ставить небезопасную систему на сервере...

Klizmoid
()

>Я бы не рассматривал .NET и Java как платформы для настольных приложений
.NET у мелкомягких сейчас для всего и настольные приложения пишут на нем и серверные, а в общем идея дотНЕТ разрабатывалась майкрософтом как кросплатформенная концепция разработки. Mono Это игра на опережение иначе бы дотНЕТ так бы и была только Виндовс совместимой а так этот уродец доступен теперь всем. Это похоже на диверсию

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

>Никак не пойму, зачем запускать "безопасный" код на небезопасной системе, и зачем ставить небезопасную систему на сервере...

Я полностью солидарен с Вами в Вашем непонимании. Вопрос наверно стоит направить тем людям, которые уполномочены принимають подобные решения. Но мне почему-то кажется, что они на LOR'е не сидят (пока не сидят ;)).

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

>Я бы не рассматривал .NET и Java как платформы для настольных приложений. Это скорее запускалки безопасного (обезопасенного) кода. Желательно чтоб они запускались не на клиентских десктопах, а на серверах той компании, которая их использует для создания своих приложений. Пользователь не должен расплачиваться за выбор сделанный другими. Для Linux-десктопа .NET и Java точно не нужны. Это экстенсивный путь развития. Linux-окружение должно быть эталонным по продуманности и эффективности решений. У Ыnterpris'a другие задачи, не стоит ровняться на его инструменты.

Все на Си! Все на Си!

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

>> Я полностью солидарен с Вами в Вашем непонимании. Вопрос наверно стоит направить тем людям, которые уполномочены принимають подобные решения. Но мне почему-то кажется, что они на LOR'е не сидят (пока не сидят ;)).

Я, вот, принял решение послать некрософт гулять сибирским лесом. Теперь у меня в конторе от M$ осталась тока моя эксклюзивная клава. Ну нравится она мне, удобная очень... 

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

> Теперь у меня в конторе от M$ осталась тока моя эксклюзивная клава.

ЖЖош, ацкий сотона :-D

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

>> Я бы не рассматривал .NET и Java как платформы для настольных приложений > .NET у мелкомягких сейчас для всего и настольные приложения пишут на нем и серверные, а в общем идея дотНЕТ разрабатывалась майкрософтом как кросплатформенная концепция разработки. Mono Это игра на опережение иначе бы дотНЕТ так бы и была только Виндовс совместимой а так этот уродец доступен теперь всем. Это похоже на диверсию

.NET разработка MS и они всегда будут пытаться с нее получить profit. В случае настоящей кроссплатформенности винда может оказатся сомнительной платформой для приложения на .NET. Потому кроссплатформенность .NET будет всегда с подвохом (либо в пределах виндовых платформ, либо патентные отчисления, например, в сговоре с Novel, либо другие подводные камни).

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

>.NET разработка MS и они всегда будут пытаться с нее получить profit. В случае настоящей кроссплатформенности винда может оказатся сомнительной платформой для приложения на .NET. Потому кроссплатформенность .NET будет всегда с подвохом (либо в пределах виндовых платформ, либо патентные отчисления, например, в сговоре с Novel, либо другие подводные камни).
Я же говорю диверсия
самый Ъ это язык разработки С

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

Скорее всего не очень - линуховая версия тормознее виндовой где-то раза в 3 :(. Хотя для небольшой нагрузки - почему бы и нет.

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

Декларируют что из ASP.NET реализовали все, кроме WebParts. Советую взять какое-нибудь готовое приложение, например какую-нить демку с http://www.dotnetnuke.com/, и запустить MoMA (http://www.mono-project.com/MoMA). Будет неплохая точка отсчета для понимания заменимости.

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

>Эффективная (мэйнстримная) — JRuby, Groovy, JPython-Jthon, JavaScript, JavaFX, JavaME поддерживается в комплектом разработчика Sun JDK & NetBeans 6.5.1. Есть ещё C++ и PHP. Grails — замена PHP. Того и другого поддержка в NetBeans обеспечена как нигде.

SCALA!!!!!!

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

>Или же можно скомпилировать полностью всё приложение для платформы, с либами поддержки, и ему уже не нужна будет JVM?

Можно:) В том числе через ikvm.

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

>На корпоративном бывает, что девелопер сидит на винде,

....казел.

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

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

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

> Именно при этом положении она надо.

Она надо нам, бо линуксоиды. А вот остальным - под большим вопросом.

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

>Позитивненько. Надо потестить новый JIT! Ждем обновления на языковой писькомерке (shootout.alioth.debian.org)

гы, тут мессага пролетала, что 7-я жабка (которая в бете если не в альфе) 6-ю обгоняет на массивах чуть-ли не на 15%. Догоняйте...

P.S. С языками под JVM - да, некоторый напряг

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

Блин. На моей SuSE сабж, оказывается, стоит. Вспомнил, что ставил для попытки запустить какое-то дотнет-поделие (которое в результате не запустилось).  Монодевелоп версии 1 какой-то даже не работал - вылетал с ошибкой при попытке создать проект. Даже не ковыврялся, закопал.
Щас он обновился до версии 2. Решил таки глянуть. 
М-да-а-а... 
Загрузил. Грузило около минуты. Эклипс - и тот быстрее загружается. 
Далее. Проект оно таки создало, даже ошибку не выдало... ПРавда собрать его с первой попытки не получилось, а вторую я уже не делал. Перед закапыванием решил посмотреть что там еще есть. 
Редактор кода. Ну... Не впечатлил.
Дизайнер форм. Это что-то невообразимо ужасное. На 2 сообщения об ошибке забил, это видимо, в моно стандарт такой. Сам дизайнер.. Если сравнить с Qt Designer - то это как паровоз по сравнению с японским монорельсом. 
Попытался создать еще один файл с исходником. Выдало ошибку.
Всё. Закапываем. 
Но неет! Оно даже закопаться нормально не захотело. ПОсле закрытия почему-то осталось висеть, отжирая 99% проца. kill -9 <pid> - закоп зощитан. 
Попытался открыть второй раз. Завис намертво. 
Фсё. Теперь ПОЛНЫЙ закоп.

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

> Юзать "платформу", в которой безбожно глючит даже среда разработки - это, ИМХО, удел полных шизоидов...

Я Mono не пользуюсь, однако среду разработки еще в бета версии посмотрел. Ничего подобного не наблюдается, никаких тормозов. Однако ошибки валились, но работало быстро :)

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