Pull to refresh

Среда разработки Sharpdevelop 4

.NET *
SharpDevelop logo

Прочитав больше месяца назад на хабре о появлении SharpDevelop 4.0 я не придал этому значения, но чуть позже коллега напомнил мне об этом посте и сказал, что нужно обязательно попробовать (раньше мы эту IDE в глаза не видели). Забегаю вперед и говорю, что он её так и не запустил, а вот я, на днях всё же установил её и решил написать небольшое приложение на C#, которое будет взаимодействовать с базой MySQL. Весь интерес к данной IDE вызван тем, что я ничего кроме MS Visual Studio не использовал, начиная с 6-й версии, и плавно перешёл уже на 2010. Под катом я расскажу о впечатлениях, которые получил от использования Sharpdevelop, покажу основные окна (для тех, кому просто интересно, что она из себя представляет) и немного расскажу о разработке.


Прежде всего нам нужно скачать среду: SharpDevelop. Сразу что бросается в глаза — это размер 15535 KB, т.к. у меня стоит Visual Studio 2010, то больше мне ничего ставить не нужно (речь идёт о framework 4).

Запускаем инсталлятор и можем выбрать привязку к файлам:

file association

Запускаем SharpDevelop и при загрузке видим такую картинку (не сразу я её смог сделать, пришлось делать несколько попыток, т.к. скорость загрузки среды очень высока):

SharpDevelop logo

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

main window

Вот тут сразу и появилось дежавю, что я где-то это уже видел, интерфейс очень близок к Visual Studio, порой я даже забывал, что работаю SharpDevelop и нажимал Ctrl+"." в надежде, что добавится using для MySQL. Возможности конечно скромнее и для создания проекта я выбрал из меню Windows Application и принялся за дело. Данное окно практически ничем не отличается от окна Visual Studio, в правом верхнем углу можно выбрать версию фреймворка, слева доступны возможные проекты.

new project

Для MySQL нам понадобится установить базу и провайдера, мой выбор пал на mysql-essential-5.1.54-win32.msi и mysql-connector-net-6.3.5.zip, которые можно найти на оффсайте: dev.mysql.com, также не забудьте сконфигурировать файл my.ini, чтобы избежать проблем с русскими символами.

После того, как мы создадим проект, то увидим не менее знакомое окно.

new project created

Ничего «большого» делать нет желания, а писать приложение «hello world» смешно, поэтому это будет база данных знакомых с указанием их фамилии, имени и даты рождения, кстати, вот и дизайнер:

designer

Добавляем ссылку на библиотеку MySql.Data.dll и можем приступать к написанию кода. Также следует добавить:
using MySql.Data;
using MySql.Data.MySqlClient;


В конструкторе формы добавим:

string connStr = "server=localhost;user=root;";
using (var conn = new MySqlConnection(connStr))
using (var cmd = conn.CreateCommand())
{
  conn.Open();
  cmd.CommandText = "CREATE DATABASE IF NOT EXISTS `sharptest`;";
  cmd.ExecuteNonQuery();
}

connStr = "server=localhost;user=root;database=sharptest;";
using (var conn = new MySqlConnection(connStr))
using (var cmd = conn.CreateCommand())
{
  conn.Open();
  cmd.CommandText = "CREATE TABLE IF NOT EXISTS `friends` (" +
   "`id` int(11) NOT NULL auto_increment," +
   "`lastname` varchar(50) NOT NULL default ''," +
   "`firstname` varchar(50) NOT NULL default ''," +
   "`birth` date NOT NULL default '1000-01-01'," +
   "PRIMARY KEY (`id`));";
  cmd.ExecuteNonQuery();
}


* This source code was highlighted with Source Code Highlighter.


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

Конечно, стоило бы через GRANT создать права для доступа к базе, а не использовать root, но статья не о этом, также базовые операции (UPDATE, SELECT, INSERT, DELETE) и сам проект можно скачать по ссылке или ссылке. Особенно хочется выделить тот факт, что MS Visual Studio 2010 и Sharpdevelop понимают проекты друг друга и без проблем (конвертаций) открывали проекты созданные другой IDE.

Теперь пару слов хочется сказать по поводу работы с кодом:

code

При написании кода, также всплывают подсказки, можно посмотреть параметры и что возвращает метод, с отладкой тоже все нормально:

debug

Вывод


Честно скажу, ожидал, что результат моего знакомства будет печальным, но Sharpdevelop приятно удивил, т.к. на сегодняшний день это довольно мощный продукт, он обладает богатым функционалом, быстро работает, занимает мало места и главное он бесплатен. Целью данного знакомства был не поиск альтернатив, а лишь знакомство с новой средой, которую раньше не использовал. Для некоторых людей данной IDE будет достаточно и можно не ставить тот же Visual Studio Express edition (если вести речь о бесплатных продуктах), но в своей повседневной работе я использую довольно много вещей, которые отсутствуют в Sharpdevelop, но верю, что в будущем проект постепенно догонит Visual Studio.

Ссылки


SharpDevelop 3.0 vs Visual Studio Express edition

UPD: По ссылке выше есть неплохая таблица сравнения двух сред, просто не все переходят по ней.
Tags:
Hubs:
Total votes 78: ↑55 and ↓23 +32
Views 52K
Comments Comments 44