Текущее состояние Моно на Linux?

Не мое, но интересное ...

Это хорошо известный пример из http://en.wikipedia.org/wiki/Obfuscated_code (автор: Джеймс О. Коплиен):

#include 
main(t,_,a)char *a;{return!0

«Хотя На первый взгляд, неразборчиво, это легальная программа на Си, которая при компиляции и запуске сгенерирует 12 стихов «12 дней Рождества» и содержит все строки, необходимые для стихотворения, в зашифрованном виде, вставленном в код. 12 дней показывают, что ему нужно ».

Это не выиграет гольф, хотя, это около 830 байтов.

13
задан Mike 12 June 2009 в 16:46
поделиться

6 ответов

A high-level status: mono-project.com/Plans

API status: go-mono.com/status

In case you want to migrate an existing app to Linux: MoMA

I also think it would be a better idea to ...

  • think about certain use-cases you might have for Mono ... your current question is too general
  • ask concrete questions on the mailing lists, since many smart and knowledgeable people that are active there probably don't read StackOverflow: mono-project.com/Mailing_Lists

A summary from my short experience:

  • Asp.net 2.0 is fully implemented, and I could get Asp.net MVC to work
  • Windows Forms is supported but will never be high quality because it's not a priority. Save yourself the pain and just create a Gtk# interface for your Linux port
  • the base libraries are implemented, and Linq DB is almost there, but you won't have any luck with Windows specific APIs, like WPF and WCF, although Silverlight is implemented in Moonlight
  • Mono is having success in recent games that need a powerful scripting environment. See companies using Mono: mono-project.com/Companies_Using_Mono

For news and stuff, follow Miguel's blog at tirania.org/blog/

14
ответ дан 1 December 2019 в 20:43
поделиться

I'd say it's come a long way if it can support development of a game creation engine like Unity, which was used to develop Sims 3, among other things. Also, the Mono team is in some ways beating Microsoft at their own game, creating things like a static linker so that .NET code can run natively on the iPhone, and a C# REPL console.

For what it's worth, I've been playing with it on the ASP.NET side, and though there were a few bumps, it has been a very positive experience. I was able to get an ASP.NET MVC app running using NHibernate and MySQL.

4
ответ дан 1 December 2019 в 20:43
поделиться

The current mono implementation (2.4) is quite good in terms of .NET 2.0 compilance (and some of the libraries from 3.5, like ASP.NET MVC or LINQ), but is still far away from generic .NET 3.0/3.5. If your application is designed using winforms, and does not use much from the .NET 3.0/3.5, then you have good chances that it'll work with mono. Of course there will be some parts of the .NET 3.5 framework that will probably be never supported, like WPF.

There is a Migration Analyzer on the mono page which can pinpoint you whether your application will run probably fine, or not under mono 2.4.

4
ответ дан 1 December 2019 в 20:43
поделиться

The mono website states that the following C# 3.0 features are supported:

  • anonymous methods
  • iterators
  • partial classes
  • Generics
  • Nullable Types
  • friend assemblies
  • static classes
  • covariance and contravariance
  • property accessor accessibility
  • fixed buffers
  • external assembly alias
  • namespace alias qualifier
  • inline warning control
  • Extension Methods
  • LINQ syntax
  • Expression trees
  • Automatic properties
  • Lambda expressions
  • Anonymous types.
3
ответ дан 1 December 2019 в 20:43
поделиться

По моему опыту работы с областью оконных форм, компоненты .NET 2.0 работают хорошо. Чем сложнее программное обеспечение, тем больше у вас будет проблем. Есть вещи, которые нужно изменить, чтобы заставить их работать. Такие вещи, как разделители путей. Кроме того, некоторые элементы управления Win Forms ведут себя по-разному, такие мелочи, как порядок запуска события, подкрадываются к вам. Вы должны все протестировать, вы обнаружите проблемы, как и в Java. Вы найдете проблемы во всех перестановках Win / Mono и Linux / Mono, также у Mono есть ошибки, которые не исправлены, что может быть препятствием для показа.

Вы можете использовать инструмент MOMMA для поиска известных проблем, но он не обнаруживает все. http://www.mono-project.com/MoMA

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

Я, но я думаю, что для .NET 3.0 это еще слишком рано , если вы не делаете это для развлечения.

2
ответ дан 1 December 2019 в 20:43
поделиться

По моему опыту, специальные элементы управления, такие как datagridview, прошли долгий путь. Они достигают этого, но еще не полностью.

Я разрабатываю небольшое приложение OpenGL, используя библиотеку OpenTK. Это приложение при запуске в Windows и Mono в основном одинаково, но такие вещи, как datagridview, кажутся немного случайными в реализации. Выберите последнюю версию моно, и все будет в порядке.

На мой взгляд, различия теперь незначительны, без каких-либо проблем (кроме, возможно, отладчика). Однако в Monodevelop отсутствуют хорошие инструменты рефакторинга, которые есть в VS.

2
ответ дан 1 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: