Monodevelop 1
Надіслати заявку на отримання матеріалів
Для чого потрібен MonoDevelop?
NET-додатків в середовищі Linux. Проект Mono давно перестав бути всього лише забавною пародією. Для тих, хто ще не стикався з цим середовищем, пояснимо: Mono - проект зі створення повноцінного втілення системи .NET на базі вільного програмного забезпечення. Включає компілятор мови C # (mcs), середовище виконання .NET (mono - з підтримкою JIT і mint - без підтримки JIT), відладчик, а також ряд бібліотек, в тому числі і підтримують ADO.NET і ASP.NET.
Платформа Mono дозволяє не тільки використовувати програми, спочатку орієнтовані на одну операційну систему, а й створювати нові крос-платформні клієнтські і серверні додатки, в тому числі з використанням технологій, властивих UNIX / Linux-систем або принаймні орієнтованих на них. Якщо запуск програми, побудованої з використанням Windows.Forms в середовищі Linux, все ще екзотика, то створення консольних додатків на мові C # для роботи з серверними службами, базами даних і т.д. давно стало реальністю.
У проекту Mono є і шанувальники, і противники. На даний момент розробники платформи вже на офіційному рівні координують свою роботу з співробітниками Microsoft, хоча, як і будь-який OpenSource-проект, Mono починався в дусі цілковитої творчої незалежності. Можливо, скоро ми побачимо збірку Mono від фірми Novell, на якій буде красуватися знайома емблема Microsoft.
Як відомо, в Linux існує два потужних графічних пакета - Qt і Gtk; обидва вони підтримувалися і на початковій стадії проекту Mono. Поки в проекті ще не було реалізації Windows.Forms, розробнику пропонувалося використовувати пакети Gtk # або Qt # - оболонки, що адаптують бібліотеки, написані на Сі або C ++, для платформи Mono. Трохи пізніше, точно так же «наосліп», стало можливо використовувати і графічну об'єктну модель Windows.Forms. Але така ситуація ніяк не могла надихнути програміста вести в Linux великі проекти під Mono. Тим більше що на цьому тлі помітно вигравав SharpDevelop - дочірній відкритий проект для Windows. Він надавав розробнику практично всі ті можливості, які доступні Microsoft Visual Studio .NET.
Зараз Mono підтримує Microsoft .NET на рівні версій 1.0, 1.1 і 2.0, є фрагментарна підтримка 3.0. Але це тільки початок!
Установка для Windows і Linux
Програма MonoDevelop не є частиною пакета Mono, принаймні для його Windows-версії. У Windows можна окремо встановити SharpDevelop - середу, на подив схожу на MonoDevelop і забезпечує сумісність створюваних проектів.
Так ось, установка Mono (разом з Gtk #) для Windows не представляє ніяких проблем, тоді як установка тих же пакетів для Linux часто несе з собою море неприємних несподіванок.
Зараз багато збірки Linux вже містять якусь версію Mono, як правило, не останню, а іноді і зовсім стару. В такому випадку доведеться встановлювати заново або доустанавливать необхідні пакети, а може бути, і збирати їх з вихідних текстів. Відбутися малою кров'ю і отримати найсвіжішу конфігурацію для розробки додатків в середовищі Mono під Linux можна, використовуючи операційну систему openSuse (10.3). Справа в тому, що у openSuse Linux і Mono один і той же впливовий батько - компанія Novell, яка і підтримує обидва проекти. Досить сказати, що на даний момент готовий пакет бінарних файлів MonoDevelop існує тільки для цього дистрибутива. Звичайно, сама платформа Mono буде прекрасно себе почувати і в Fedora, і в Gentoo, і в багатьох інших збірках, тільки ось для розробки нових додатків з використанням Mono ці збірки менш придатні: в них відсутня оперативна підтримка всіх останніх змін для Mono і MonoDevelop. Отже, уточнимо ще раз працюючу зв'язку софта: Suse Linux 10.3 (встановлена з образу DVD), Mono версії 1.9.1 і MonoDevelop 1.0.0.0.
За замовчуванням система openSuse 10.3 містить середу Mono 1.2.5 і MonoDevelop 0.13, що ніяк не відповідає нашій темі. Тому, якщо ви вірно вказали для YaST шлях до сховища нових версій, то для установки або оновлення Мono залишиться набрати в консолі:
Потім, після проходження діалогу установки нового ПЗ, виконати схожу операцію:
Швидше за все найближчим часом ситуація зміниться, і в наступних підверсії Suse Linux вже за замовчуванням будуть присутні цілком придатні до професійного використання Mono і MonoDevelop. Але гарантій, що ці ж версії швидко з'являться у вигляді rmp-пакетів для інших варіантів Linux, поки немає.
Розглянемо простий приклад - коротку програму з використанням Gtk # для Mono (лістинг 1).