Общие сведения о разработке плагинов #
Архитектура 1C:EDT #
1C:EDT разработана на стеке следующих технологий:
- Eclipse Rich Client Platform — предоставляет открытую платформу, на базе которой можно создать легко расширяемый продукт,
- Eclipse Modeling Framework — используется для описания доменной модели,
- Eclipse Xtext — позволяет встраивать языковые механизмы и улучшать их,
- Eclipse Handly,
- Google Guice.
Кроме того, учитывая специфику прикладных решений «1С:Предприятия», мы разработали два собственных фреймворка:
- Big Model Framework — для хранения метаданных конфигураций,
- Atomic Editor Framework — для одинакового редактирования однотипных свойств у разных объектов конфигурации.
Возможности по расширению #
Ключевым механизмом, позволяющим расширять функциональность 1C:EDT, является механизм расширений и точек расширения.
Существует ряд рекомендаций и примеров по разработке пользовательского интерфейса Eclipse (на английском языке), с которыми вы можете ознакомиться здесь.
При разработке плагинов и сервисов для обеспечения слабой связанности 1C:EDT активно использует Google Guice в качестве IoC-контейнера. Для сервисного взаимодействия между плагинами 1C:EDT использует OSGi-сервисы ( подробнее).
Для выполнения разнообразных часто встречающихся задач, таких как получение конфигурации по объектам модели, получение BM-модели, получение версии платформы, связанной с объектами модели, и др., вы можете использовать сервисы общего назначения.
Отдельные разделы документации посвящены работе с метаданными конфигурации (объектами конфигурации) и со встроенным языком «1С:Предприятия»:
Также мы реализовали удобную инфраструктуру тестовых проектов 1С:EDT с тестовыми данными для интеграционного тестирования плагинов.
Примеры (на английском языке) #
- Rich Client Platform/FAQ
- Eclipse RCP based on the 3.x API - Tutorial
- Eclipse Tutorials
- Eclipse Target Platform - Tutorial
- Eclipse Jobs and Background Processing - Tutorial
Экспериментальные функции #
Новая подсистема проверки данных конфигурации в 1С:EDT — Подробнее.