LINUX.ORG.RU

Работаем с Mono. Часть 1: Основные принципы Mono, инструменты, создание простейшего приложения

 


0

3

Mono — программная платформа, позволяющая разработчикам достаточно просто создавать развитые кроссплатформенные приложения. Технология Mono разрабатывается в виде open source реализации технологии .NET Framework от Microsoft и поддерживает стандарты ECMA-334 (стандарт языка C#) и ECMA-335 (стандарт среды исполнения (Common Language Runtime, CLI). Открытость указанных стандартов позволяет уменьшить проблемы создания кроссплатформенных приложений. В этой статье рассматриваются основные возможности среды исполнения Mono.

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

★★★

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

Скомпилируем программу с поддержкой .NET версии 1.1:

mcs hello_world1.cs

hello_world1.cs(6,19): error CS1525: Unexpected symbol `<internal>'

Compilation failed: 1 error(s), 0 warnings

Или с поддержкой .NET версии 2.0:

gmcs hello_world1.cs

Компиляция должна пройти без ошибок и запуск:

1st.cs(6,19): error CS1525: Unexpected symbol `<internal>'

Compilation failed: 1 error(s), 0 warnings

ЧЯДНТ?

madcore ★★★★★ ()
Ответ на: комментарий от madcore
[cirno@perfect-math-class tmp]$ cat 1.cs
using System;

public class HelloWorld
{
	static public void Main()
	{
		Console.WriteLine("Hello, world!");
	}
}
[cirno@perfect-math-class tmp]$ gmcs 1.cs
[cirno@perfect-math-class tmp]$ mono 1.exe 
Hello, world!
tensai_cirno ★★★★★ ()

Вообще отличный цикл статей для новичков.

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

Всё, дошло. Кавычки корявые скопипастил из примера статьи(“Hello World! This is our first Mono program”)

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

_Всегда_ лучше перебивать пальцами, моторная память же ну ^_^

tensai_cirno ★★★★★ ()

О как!!! Публика уже готовится к победе мелкософта на линуксом. Ну что ж нужное дело, в майкролинуксе все буде mono, python на свалку истории!!!)))

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

>python на свалку истории!!!)))

есть IronPython для .NET. :)

mono ★★★★★ ()

Будет забавно, если после раздела новела моно достанется мелкософту

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

Ах да я забыла, про эту неудачную реализацию питона, которую Мигелюшке презентовали с барского плеча мелкософта

yanka ★★ ()

Реквестирую туториал по MC#

annulen ★★★★★ ()

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

Единственными мультиплатформенными фреймворками остались ява (98%) рынка и CL в коммерческой реализации.

sun-lsd ()

кто-то им пользуется, дальше hello world?

ktotuta ()

Может, еще и статьи по программированию в VC++ или VBasic'е будем размещать?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от sun-lsd

>Единственными мультиплатформенными фреймворками остались ява (98%) рынка и CL в коммерческой реализации.

Qt же

annulen ★★★★★ ()

IBM опустилась до Mono?!

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

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

anonymous ()

Забавно хотя бы то, что я узнал о XCOM. Типа кроссплатформенный COM =))) И Mono это поддерживает пишут... Где сайт этого проекта? Кто щупал? :)

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

> Забавно хотя бы то, что я узнал о XCOM. Типа кроссплатформенный COM

А оно-то зачем надо? о_о

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

Qt - это ведь просто библиотека для С++? И в каком месте тут мультиплатформенность, если сами плюсы не очень переносимы?

sun-lsd ()
Ответ на: комментарий от pevzi

А оно-то зачем надо? о_о

Что в Linux-е является аналогом active x компонентов?

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

На уровне исходного кода переносимы.

Ttt ☆☆☆☆☆ ()

Mono — программная платформа, позволяющая разработчикам достаточно.

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

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

Да, но так ли уж мультиплатформенна Ява? По сути, Java SE 6 существует лишь на x86, x86_64 и SPARC

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

Если нужна форма, более удобная для распространения и установки, то надо копать (и развивать) в сторону llvm или deb-src и src.rpm.

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

>если сами плюсы не очень переносимы?

комилятор С++ есть на любой мало-мальски значимой платформе, Qt поддерживает компиляторы с непоной реализацией стандарта (например, отлично собирается GCC 2.95)

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

>Если нужна форма, более удобная для распространения и установки, то надо копать (и развивать) в сторону llvm

У llvm есть и начальная реализация дотнета (в vmkit)

annulen ★★★★★ ()

После покупки новелла эта новость звучит/выглядит двусмысленно...
GNUкапец?

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

>Если нужна форма, более удобная для распространения и установки, то надо копать (и развивать) в сторону llvm или deb-src и src.rpm.

фигасе - и как же связаны deb-src и src.rpm с llvm? - я знаю только одну очевидную чвязь - если это пакет с llvm внутри _- но тогда что значит ваше высказывание?

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

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

sun-lsd ()

посмотрел я на каталок всех статьей на ibm developers и ужаснулся обилию php! это с какого перепуга хардверный гигант публикует столько статьей про пых?

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

Для привлечения одаренной молодежи. Не про хацкель же им статьи публиковать.

sun-lsd ()

хорошие статьи и главное : кто знал visual studio, c++ и хочет перейти на linux ,то это очень хороший шаг

muzlocker ()

Ну куда удалили (: мне правда интересно, есть ли вообще смысл в использовании Mono и самого .Net? Действительно ли с их использованием разработка упрощается по сравнению с QtC++, например?

pevzi ★★★★★ ()

Давайте смотреть правде в глаза, для мультиплатформеной разработки есть четыре инструмента на данный момент это - Java, Python, Ruby, JavaScript + CSS + HTML(HTML5).

yanka ★★ ()
Ответ на: комментарий от sun-lsd

>для сетевых приложений

А Qt ничего для них уже не предоставляет?

Deleted ()

они не фильтруют неугодные статьи? я думал межделмаш яву толкает

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

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

Юзай Qtшные компоненты и будет тебе счастье^Wпереносимость :)

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

Больше шансов, что пользователь-линуксоид будет долго рассматривать результат и выберет только если не найдёт другого такого же :}

Deleted ()

лень читать статью про моно, помогите с хелловоурд:


x ~/Projects/mono_test % gmcs test.cs -pkg:dotnet
error CS0006: cannot find metadata file `Microsoft.JScript.dll'
error CS0006: cannot find metadata file `System.Data.OracleClient.dll'
Compilation failed: 2 error(s), 0 warnings

просто добавить к моно Windows? или что от меня хотят?

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

> Что в Linux-е является аналогом active x компонентов?

Повторю вопрос — а зачем оно надо?

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

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

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

Заглянул в профиль, в комментарии.

Девочка увлекается майкрософтом, да? А ещё Новеллем и пишет на дотнете? Не очень хорошая девочка. (С)

yoghurt ★★★★★ ()

> Имеет степень магистра технических наук.

Звучит-то красиво.

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

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

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

>Повторю вопрос — а зачем оно надо?

Очевидно, в качестве объектно-ориентированного подхода к IPC

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

>Java, Python, Ruby, JavaScript + CSS + HTML(HTML5).

Про Smalltalk ты, конечно, не слышала :)

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