LINUX.ORG.RU

.NET on Linux

 ,


1

5

Есть ли здесь люди, которые пользуются в каких-либо целях Mono достаточно долго и без фатальных проблем типа win-only библиотек и полного отсутствия аналогов к ним под mono?

Интересует именно не «поставил, все работает! и снес, чтобы вернуться обратно на .NET от M$», а использование длительное время с регулярной работой на нём, для работы, например, прикладного программирования.

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

★★★★★

тема не раскрыта. что именно тебе нужно от mono на Linux?

dib2 ★★★★★
()

Из буханки хлеба можно сделать троллейбус. Но зачем?

znenyegvkby
()

Пользуюсь для небольших личных проектов, вполне устраивает, отличий от «большого» .NET не заметил.

ishido
()

Использую с самых первых версий. Пишу сразу под mono, переносимость под винду не колышет.

anonymous
()

М, а зачем Моно? Официальный .NET теперь есть опакеченный под RHEL 7, все сорцы на гитхабе под апачной лиценцией, стоит вскоре ждать пакеты в менее энтерпрайзных дистрибутивах. Не то чтобы доднед (любой) - это хорошая идея (офтоп-ориентированная жаба же с сахарком сверху), но Моно мертво на 100%, забудь про него.

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

А если не секрет, есть ли среди небольших личных проектов опенсорсные, и если да, то какие?

Я в своё время из Mono-проектов ковырял OpenSim, достаточно шокирующе то, что на C# написали не что-то, а сервер для потенциально высоконагруженных задач. Но там вот именно что тянулись привязки ко всяким сторонним библиотекам, написанным на других языках (типа физического движка), работы в режиме демона не было, приходилось пускать под screen...

Короче, несмотря на то, что в руках умельцев он работал вполне неплохо (можно зарегаться, например, на osgrid.org, скачать один из линуксовых клиентов (клиенты в отличие от сервера написаны на обычном C++) и побродить по мирам, некоторые довольно красивы), у меня таки осталось стойкое подозрение, что это именно «троллейбус из буханки»...

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

Пока нет, сейчас начинаю портировать маленькую утилитку для управления коллекциями картинок (изначально писал на Java с JavaFX).

Ничего более серьезного у меня нет.

ishido
()

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

Тогда вообще нет смысла отвечать в подобной теме.

Даже вендузятникам давно понятно что под Linux есть подавляющее большинство необходимого набора библиотек для создания ЛЮБЫХ кроссплатформенных программ.

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

Знал одну контору которая после 15 лет написания софта win-only просто на одной из итераций просто перешла к кроссплатформе, Qt, boost и т.д. А те аморфные разработчики которые не веруют в мировую победу линукса - пишут сейчас кроссплатформенные модули к этому ПО как миленькие и не жужжат.

Тебе надо не с разработчиками спорить, а с их начальством если можешь - просто начни пользоваться САМ и тупо сделать отчет о том что Mono на 99% покрывает потребности той или иной разработки.

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

М, а зачем Моно? Официальный .NET теперь есть опакеченный под RHEL 7,

Mono практически всегда был существенно лучше официального .NET.

но Моно мертво на 100%, забудь про него.

Какой же ты редкостный дебил...

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

Ну а ты посмотри на всю ту числодробильню и прочую аналитику, которую сейчас активно пишут на F# под Mono. Кого игрушки-то колышат вообще?

anonymous
()

вернуться обратно на .NET от M$

Он уже открытый. Бэкэнд к приложению написать запросто можно.

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

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

OpenSim - это не совсем игрушка, если ты об этом. Это платформа для создания трёхмерных миров, которые могут использоваться, например, для обучения, просто для общения, для развития дизайнерских навыков...

А подробнее можно про «числодробильню и прочую аналитику»?

hobbit ★★★★★
()

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

А зачем? Срачик с вендоразработчиками прост до безобразия: их поимели. *Опять*.

Свой WinRT (не путать с WindowsRT) M$ пишет на C++ (C++/CX рекомендуется использовать только на границе со средой), технологии CLR оно не использует, а использует старый-добрый COM то-ли со слегка изменённым ABI, то-ли вообще без изменений. Оно даже сборку мусора не юзает.

~10 лет е..ли мозги .NETом, а теперь сдулись. Как обычно, впрочем. А на нормально приготовленном C++14 можно довольно неплохо и довольно удобно писать.

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

Да, только формочки руками по-моему рисовать нельзя

Ты про html5+css в Monodevelop? Если да, то всё ясно :) Хорошо что wpf похоронили. Я очень рад, хорошо что команда Mono не купилась в свое время на этот отстой.

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

Нет, про html5+css в венде начиная с 8й версии. В монодевелоп winforms компиляются и работают, за исключением того, что выглядит оно не нативно и браузер нельзя.

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

Я вот слышал отзывы с офтопа, что COM из C++11/14 очень даже неплохо используется, такая себе переносимая объектная модель, стабильная в плане фич ихорошо документированная.

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

Ага, была новость про сотрудничество MS с Red Hat, официальный опакеченный доднед то ли уже появился на RHEL 7, то ли должен вот вот появиться.

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

У Спольски, на мой взгляд, про это неплохо написано, третий абзац от конца.

Кстати, сейчас наступило как раз то будущее «HTML как API», о котором писал Джоэл, и которое тогда, 11 лет назад, выглядело довольно смело.

Но да, C++11 и тем более 14 тогда ещё не было.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Не линукс, но мне довольно нравится Xamarin Studio на маках. Разрабатываю там один свой проект время от времени - почти всегда очень лень на винду переключаться) Да и макось сильно красивее и удобнее винды. Так вот, Mono ведет себя довольно хорошо.

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

А они есть - вместо Windows Forms тут довольно убогая обёртка над несколько устаревшим gtk2, которая к тому же не развивается.

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

У Спольски, на мой взгляд, про это неплохо написано, третий абзац от конца.

Написано как раз плохо. Всё проще: в конце 90-х годов в M$ решили: «Хватит извращений!» и закопали стюардессу. В конце 10-х годов решили «Хватит извращений!» и откопали стюардессу. Это первое.

Второе. В 90-е, на поляне C++ толпилось слишком много левых людей. Многие и очень многие совершенно не понимали *что* такое плюсы и для *чего* нужны плюсы. Кривые компиляторы и кривые стандартные библиотеки только добавляли эпичности ситуации. Например, никому и в голову-то не пришло бы использовать шаблоны, ибо они или не работали или работали по-разному от реализации к реализации.

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

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

Почему так было много людей на поляне? Потому что не было альтернативы. Вообще. С началом 00-х они стали появляться. И теперь можно смело констатировать: кто *хотел* свалить с C++ — уже давно свалил.

Так вот, COM — жертва ситуации, когда сначала все топтались на одном месте, а потому резко ломанулись наружу. Сначала, было крайне мало по-настоящему компетентных людей, понимающих его устройство. Тут всецело вина M$, не пожелавшей выпускать адекватную техническую спецификацию. Потом, всем было пофиг на COM, а у M$ случился дотнет головного мозга.

Теперь же, когда пыль от мигрурующих табунов рассеялась, а с поляны убрали срач, M$ внезапно понадобился универсальный ABI. Языко- (это ещё можно стерпеть) и платформеннонезависимый (О Боже! Какая ирония для M$). Дык, а он никуда и не девался, и все эти годы спокойно существовал.

Только M$ опять повторяет все те же ошибки. Видимо, карма такова. Хочется иметь всех сразу, да ещё и сохранять технический авторитет. Все кредиты доверия были прожраны ещё в 00-е.

Так что ф пень венду, КОМ, ВинРТ и M$. Ибо, пусть сначала научатся уважать труд низового технического персонала (кодеров, админов, техподдержку).

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

Есть планы добавить html5+css в Mono? Как вообще в рамках дотнета эта библиотека (даже не знаю как это точно определить) называется? Есть винформс, есть впф, а это html5 как GUI оно как там называется?

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

Ясно, будем надеяться добавят в итоге...

Очень сильно огорчает убогий GUI доступный на Linux в рамках Mono, будто это что-то не важное по мнению разработчиков, хоть бы GTK3 что ли доделали за столько то лет... Вот у Qt с этим всё просто великолепно.

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

gtk2 сам убог, gtk3 уродлив, Qt4 тоже не очень, может на Qt5 что-нибудь хорошее получится, но в рамках Mono GUI на gtk2, так что вряд ли.

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

Ну а моно то тут при чем? Пиши гуету на tcl/tk, а логику под mono. Зачем тянуть гуету в каждый язык, когда есть отличные готовые решения?

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

числодробильню и прочую аналитику, которую сейчас активно пишут на F# под Mono. Кого игрушки-то колышат вообще?

Hadoop,Spark всё это Java. Кого игрушки на F# колышат вообще?

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

Свой WinRT (не путать с WindowsRT) M$ пишет на C++ (C++/CX рекомендуется использовать только на границе со средой), технологии CLR оно не использует, а использует старый-добрый COM то-ли со слегка изменённым ABI, то-ли вообще без изменений. Оно даже сборку мусора не юзает.

В WinRT используется идея GAC из CLR, а не закопанный архитектурный выкидыш COM, который мало кто понимает. .NET как платформа устоялась. Он работает на всех современных Windows, в отличие от этого ненужно-WinRT. А формочки клепать надо на каноническом Windows Forms, ибо после экспериментальных WPF и HTML/CSS мелкософт высрет еще что-нибудь ненужное.

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

экспериментальных WPF

WPF уж 10 лет как существует.

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

Потом, всем было пофиг на COM, а у M$ случился дотнет головного мозга.

COM это наспех сколоченное поделие, высранное в первую очередь для того, чтобы быдлокодеры на VB могли использовать нативные объекты и все. Но не всем это разделение на уебищный и сложный C++ и уебищный и примитивный VB нравилось. Поэтому и возник универсальный и понятный .NET (под влиянием канонической явы конечно).

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

Хорошо что wpf похоронили. Я очень рад, хорошо что команда Mono не купилась в свое время на этот отстой.

Его не хоронили, это по прежнему основной (рекомендуемый) фреймворк для десктопных приложений под винду. Есть еще UWP, но это новая инкарнация плиток/магазинных приложений для 10ки. Ни то ни другое на платформы отличные от винды в принципе не портируемо.

Под линуксом с разработкой gui на шарпе кстати как-то тухло. Есть винформс, который выглядит хуже чем в шинде и не факт что развивается. gtksharp похоже помер (да и gtk фактически linux-only вещь). Есть еще мелкие проекты типа qtsharp'а, которые вероятно никогда не взлетят.

Моно и .net core от мс вообще актуальны скорее для веба с аспнетом. Тема кроссплатформенного ui проблемная, хороших решений вообще нет, везде какие-то траблы. Переезд всего и вся в веб и популярность штук типа node-webkit, я думаю неслучайна

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

Под линуксом с разработкой gui на шарпе кстати как-то тухло

+1

Тема кроссплатформенного ui проблемная, хороших решений вообще нет, везде какие-то траблы

+1

I-Love-Microsoft ★★★★★
()

Пользоваться наравне с .Net можно, но сложно. В основном мешают баги в MonoDevelop, например, после обновления проектной библиотеки, приходилось править номер ее версии руками в файле проекта, иначе она не находилась.

Ну и разрабатывать под Web сложнее, тот же Razor хоть и есть официально, но неофициально ты опять же должен вписывать его ручками, как и html-код.

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

Свой WinRT (не путать с WindowsRT) M$ пишет на C++ (C++/CX рекомендуется использовать только на границе со средой), технологии CLR оно не использует, а использует старый-добрый COM то-ли со слегка изменённым ABI, то-ли вообще без изменений. Оно даже сборку мусора не юзает.

вот да, кстати, показательно весьма, что все компиляторы, серьёзные библиотеки, студия и прочее у мелкомягких написаны на С++, который они тщательно гнобили и задвигали лет десять, впаривая свой до-диез. в итоге отстали от мирового прогресса и потом наспех начали реализовывать поддержку С++11, через пень-колоду. они почему-то не спешат сами использовать свои крутые технологии, а предлагают их другим.

Iron_Bug ★★★★★
()

Держу под Mono несколько не критичных проектов на Digital Ocean. Никаких серьезных проблем при портировании никогда не возникало (тут стоит отметить, что все проекты - это серверсайд с кучей бизнес-логики, без GUI и следовательно без WPF/WinForms).

Из приятного - по сравнению бюджетными машинками в Azure (те, что по 15 баксов) сервер DO за $5 с SSD работает гораздо шустрее и моновские приложения крутятся заметно резвее.

Что касается дальнейшей судьбы Mono, то после того, как Microsoft открыл исходные коды .NET и реализовал версию .NET Core, которая out of the box работает под Linux проект получил второе дыхание. Сейчас команда Mono активно мерджит код от Microsoft со своим кодом и продолжает развивать проект.

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