You are hereОбзор архитектуры

Обзор архитектуры


 

MSEide+MSEgui - новая возможность в мире программирования. MSEide представляет собой RAD  IDE (Integrated Development Environment - интегрированную среду быстрой разработки программ), а MSEgui - библиотеку платформенно-независимых виджетов. MSEide+MSEgui разрабатывается программистом из  Швейцарии, Мартином Шрейбером (Martin Schreiber) с 1999 года. MSEide+MSEgui использует свободный компилятор FreePascal, который существует для разных аппаратных платформ и ОС и поддерживает  кросскомпиляцию между ними. FreePascal, соответствуя девизу  "Делать одну компиляцию везде (Write once compile anywhere)", компилирует программы для: GNU/Linux OS, FreeBSD, Mac OS X / Darwin, DOS, Win32, Win64, WinCE, OS/2, Netware (libc и classic) и MorphOS. Но пока MSEide+MSEgui реализован только для Linux и Windows.

 

Пока еще не достигнув  полулярности Lazarus-а ( другой IDE, использующей тот же компилятор ),  MSEide+MSEgui определённо обречена на яркое будущее в качестве лучшей IDE для FreePascal, так как по сравнению с "конкурентами" предлагает  много собственных концепций. Вот некоторые из возможностей MSEide и MSEgui :

  • Свободные, с открытым исходым кодом

Среда разработки (MSEide) лицензирована по GPL, в то время как библиотека (MSEgui) лицензирована по изменённой (менее жесткой) GPL (L(esser)GPL) - по той же лицензии, что и библитеки этапа выполнения ( RTL ) компилятора FreePascal.

  • Работающие под многими операционными системами

MSEide+MSEgui работает и создаёт приложения под многими операционными системами - такими как GNU/Linux (Suse, Ubuntu, и др.) и Windows (98, XP, 2000 and Vista). Причем внешний вид приложений, созданных в Windows и в GNU/Linux не отличается между собой. 

  • Встроенная библиотека виджетов

Для отрисовки визуальных компонентов используются только XLib (GNU/Linux) и GDI32 (Windows), таким образом стали не нужны предустановленные внешние библиотеки виджетов - такие, как встроенные виджеты Windows, QT, wxWidgets, GTK, FLTK и прочие. Это позволяет просто копировать свои приложения на другие компьютеры без необходимости создания дистрибутивов, включающих эти библиотеки. 

  • Универсальная кодировка символов

Все используемые символы внутренне кодируются в UCS-2 - что позволяет создавать приложения, одновременно использующие ( ввод и отображение ) любые ( в дополнение к латинской ) кодировки символов - такие, как китайские иероглифы, арабская вязь, русская кириллица, математические спец-символы и т.д.. 

  • Возможность переключения языка текстовых констант

Реализована через загружаемые библитеки ресурсов. 

  • Интерфейс с несколькоми одновременно открытыми доукументами (MDI)

Для создания таких приложений используются основные формы ( mainform ) в качестве главных форм,  и пристыкуемые формы (docking form ) в качестве подчиненных форм. 

  • Встраиваемые формы

Это похоже на TFrame, где мы можем поместить форму внутрь другой формы. 

  • Отрисовка с двойной буферизацией

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

  • Универсальные средства соединения с базами данных

Предоставляются компоненты для соединения с широко-известными базами данных - такими,  MySQL, PostgreSL, Firebird, SQLite и ODBC. Также предоставляются соедение с локальной базой данных и базой данных в оперативной памяти.. Можно также использовать ZeosLib, тогда Ваше приложение сможет соединяться с серверами коммерческих баз данных - такими, как  Oracle   и  Microsoft SQL Server. 

  • Интегрированный отладчик

В процессе отладки могут использоваться GDB или MinGW, и это процесс интегрирован с IDE. 

  • Дизайнер отчетов

Дизайнер отчетов интегрирован в IDE. 

  • Переключающие макросы

Гибкая и удобная в сборке приложений систмеа с переключающими макросами. 

  • Подсветка кода искодных текстов

"Подсвечиваются" синтаксисы разных форматов, что делает код более читаемым.

  • Навигация по исходному коду

Для поиска размещения декларации того или иного класса, метода или функции нужно щёлкнуть по ней левой кнопкой мыши, удерживая Ctrl. Этот трюк срабатывает и для включаемых ( include ) файлов ($ I).

  • Автозавершение полей классов

Срабатывает при нажатии Ctrl+Space после точки в иерархии имён класса (someclass.somerecord.[Ctrl+Space]) и при нажатии Ctrl+Shift+Space после открывающей скобки параметров функции, которая является полем класса (someclass.somefunction([Ctrl+Shift+Space] ). Данная функция является пока недоработанной и автозавершением её пока назвать трудно - скорее это подсказка. Хорошей идеей было бы повзаимствовать автозавершение целиком у Лазаруса - благо лицензии свободные и совпадают.

  • Визуальный дизайнер форм

Он интегрирован с редактором исходного кода для компонентов и событий.

  • Визуальное наследование форм

Вы можете наследовать форму от существующей.

(Wahono/Translated by Alexander)