Разработчики «1С» рассказали об Eclipse как платформе для 1C:Enterprise Development Tools

09.03.2017      47792
В материале говорится как об общих принципах Eclipse, так и об ее отдельных компонентах, применяемых в EDT.

Как пишут авторы в блоге на «Хабрахабре», они попробовали «рассмотреть некоторые основы архитектуры Eclipse как платформы для построения интегрированных средств разработки и дать начальное представление о компонентах Eclipse, образующих фундамент технологической платформы для “нового Конфигуратора” 1C:Предприятие, 1C:Enterprise Development Tools».

В первой части материала охарактеризованы общие аспекты и дана другая обзорная информация. В частности, перечислены и кратко описаны основные компоненты Eclipse Platform, а также рассмотрена Eclipse Java development tools (JDT), первая интегрированная среда разработки, появившаяся в Eclipse.

Что касается отдельных компонентов, то, помимо Eclipse Platform, предоставляющей базовую инфраструктуру, используются:

  • Eclipse Modeling Framework (EMF) – предоставляет общие средства моделирования структурированных данных;
  • Eclipse Xtext – предоставляет инфраструктуру «текстового моделирования»;
  • Eclipse Handly – подпроект проекта верхнего уровня Eclipse Technology, который появился в результате начальной контрибуции кода в Eclipse Foundation, осуществленной фирмой «1C» в 2014 году. 

Последнему по понятным причинам уделено наибольшее внимание. Если вкратце, коммитерами Handly являются сотрудники фирмы, а сам проект «небольшой, но занимает достаточно уникальную нишу в Eclipse: главной его целью является поддержка разработки handle-based моделей».

Напомним, что в декабре прошлого года вышла бета-версия 1.4.0 1C:EDT, а в готовящемся обновлении платформы «1С:Предприятие» появились дополнительные возможности, «заточенные» под эту среду разработки. 


См. также

Не найдено ни одной записи.
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vano-ekt 124 09.03.17 16:00 Сейчас в теме
а где камменты? тут и на хабре их нет...
4. depresnjak 3 09.03.17 16:30 Сейчас в теме
(1) Так рано ещё - все работают =)
2. DenisCh 09.03.17 16:04 Сейчас в теме
Еклипс не нужен (с)
Даёшь Вим. Нативно, в cf!
3. herfis 513 09.03.17 16:28 Сейчас в теме
Так а что тут комментировать?
Ну, рассказали об архитектуре Eclipse. Ну да, такая архитектура...
Не будь ее, не было бы и EDT. С нуля рисовать альтернативную IDE никто не стал бы.
5. herfis 513 09.03.17 16:42 Сейчас в теме
Вот, кстати, интересно - сколько времени занимает хваленая инкрементальная сборка конфы какого-нить ERP, если буковку в модуле поменять?
6. Darklight 33 09.03.17 17:11 Сейчас в теме
(5) По идеи достаточно быстро должно быть, т.к. в платформе уже есть функция частичного обновления (загрузки) конфигурации по внешнему файлу(ам) (XML).
7. Stepa86 1531 09.03.17 17:44 Сейчас в теме
(5) С учетом работы через агента и инкрементальной загрузки - должно быть сравнимо с работой из конфигуратора. Но пока не выйдет ЕДТ мы этого не узнаем.
23. boln 1041 10.03.17 22:02 Сейчас в теме
(5)
Вот, кстати, интересно - сколько времени занимает хваленая инкрементальная сборка конфы какого-нить ERP, если буковку в модуле поменять?
Что-то у меня тоже эта "инкрементальная сборка" энтузиазма не вызывает. Не радикальное решение вопроса производительности, "паллиатив".
8. Сурикат 401 09.03.17 21:22 Сейчас в теме
EDT медленная и прожорливая штука даже для УТ, пока что нормально в нем поработать не удалось =(
Фоновые операции EDT загрузили диск под 99% (хоть они SSD) и процессор i3 (правда не самый последний) под 90%...
9. tindir 10.03.17 04:23 Сейчас в теме
EDT норм по ресурсам. это ж IDE. Я когда у себя VS включаю, тоже все немного подтупливать начинает=)
10. Brawler 458 10.03.17 08:00 Сейчас в теме
(9)
немного подтупл

Вот VS и эту поделку EDT даже сравнивать противозаконно...
VS замечательный продукт по сравнению с EDT.
1С могли бы VS Shell или как-его там заюзать под создание EDT однако же поперлись на Eclipse...
В общем тут больше дело вкуса.
11. a_titeev 32 10.03.17 08:57 Сейчас в теме
Имхо, Эклипс очень неудобная среда, к тому-же тормозящая. В свое время с удовольствием ушел с нее на Android Studio, когда делал что-то под мобилы. Тоже тупенькая, но намного удобнее. А VS - это да. Это идеал, практически.
depresnjak; +1 1 Ответить
12. a_titeev 32 10.03.17 09:15 Сейчас в теме
И не пойму 1С. Почему было не взять для этого дела Visual Studio Code???
13. DoctorRoza 10.03.17 09:27 Сейчас в теме
(12)
И не пойму 1С. Почему было не взять для этого дела Visual Studio Code???
Видимо потому, что Java проще в пониманию и освоении! Плюсы же созданы даже не для средних умов!
14. a_titeev 32 10.03.17 11:46 Сейчас в теме
(13) То есть не хватило мозгов, хотите сказать? :)
Вообще, за внешней простотой java скрывается много. Нормальную прикладуху написать - не каждый осилит.
Но здесь то речь идет о выборе IDE, а не ЯП...
17. DoctorRoza 10.03.17 15:35 Сейчас в теме
(14) ИМХО, работа с Eclipse, как раз и направлена, чтобы объединить теплое с мягким 1С и нормальный ЯП! Иначе Конфигуратор просто не получил бы дальнейшего развития! Тем более, можно было и Code::Blocks взять за основу и т.п.! Надо посмотреть, что в итоге получится! По крайней мере, тренд идет положительный.
20. orefkov 1153 10.03.17 15:49 Сейчас в теме
(17)
Вы немного путаете среду разработки и ЯП.
Это как думать, что вы станете писателем, если начнёте вместо Блокнота тексты набирать в Ворде.
29. boln 1041 11.03.17 12:09 Сейчас в теме
(13)
Видимо потому, что Java проще в пониманию и освоении! Плюсы же созданы даже не для средних умов!
Чем проще? Указателей нет? Зато есть понятие интерфейса, и это еще приучить себя надо - мыслить больше интерфейсами, чем классами.
35. DenisCh 11.03.17 18:55 Сейчас в теме
(29) Ой, а что в плюсах интерфейсов нет? Ещё в 97м их рисовал для построения дерева классов...
36. boln 1041 11.03.17 21:31 Сейчас в теме
(35)
Ой, а что в плюсах интерфейсов нет? Ещё в 97м их рисовал для построения дерева классов...
Имел в виду конструкцию языка interface. В Java она прямо подталкивает "проектировать интерфейсы, а не реализацию"©.
15. Swetlana 26 10.03.17 12:07 Сейчас в теме
(12) да вроде же нет разницы, какую ide использовать. Какую хочешь ту и используешь.
18. DoctorRoza 10.03.17 15:37 Сейчас в теме
(15) не совсем так! Eclipse открыт и бесплатен, а вот, например, IDEA - нет!
boln; bow; +2 Ответить
16. PerlAmutor 155 10.03.17 13:11 Сейчас в теме
Пробовал бету EDT и Eclipse отдельно. Тормоза и глюки те еще.
Qt Creator рулит.
19. orefkov 1153 10.03.17 15:45 Сейчас в теме
Меня, конечно, можно считать заинтересованным лицом :), но я считал и буду считать, что EDT - ошибочный путь развития платформы 1С, распыляющий силы её разработчиков и приводящий к необходимости дублирования реализации одного функционала на разных языках, и как следствие - увеличивающий потенциальные угрозы багов.
Конфигуратор у 1С сам по себе очень и очень хорошая среда разработки, и если бы те ресурсы, которые были потрачены на разработку EDT были вложены в развитие Конфигуратора - результат бы был много лучше. Возможно, фирма 1С не смогла найти дополнительных квалифицированных сиплюсплюсников на доработку платформы, и взяла вместо них джаверов - может быть. Однако как показал опыт, при должной доработке конфигуратора, чтобы пилить плюшки к нему - вовсе не обязательно знать С++ или Java - хватает и умения работать с толстыми формами плюс знание javascript или OneScript - то есть под силу обычному одинэснику.
depresnjak; Vladimir87; Solovyeff; a_titeev; omut; Mnemonik; +6 Ответить
21. Brawler 458 10.03.17 20:48 Сейчас в теме
(19) Поддержу. Тоже не понимаю наклепа они ринулись писать второй конфигуратор... Если так сложно разрабатывать на С++, то ну запилили бы часть этого самого конфигуратора на жабе или C#, потом постепенно все перевели на один язык разработки.
MS VS тоже же как я понял изначально была на С++ или просто С, хз, но теперь там явно львиная часть на С# написана, и ничего, бегает добротно.
22. boln 1041 10.03.17 21:53 Сейчас в теме
(21)
Тоже не понимаю наклепа они ринулись писать второй конфигуратор... Если так сложно разрабатывать на С++, то ну запилили бы часть этого самого конфигуратора на жабе или C#, потом постепенно все перевели на один язык разработки.
Походу ключевое слово - расширяемость. Эклипс: а) расширяемая; б) халявная.
24. Brawler 458 10.03.17 22:15 Сейчас в теме
(22)
Походу ключевое слово - расширяемость. Эклипс: а) расширяемая; б) халявная.

Как будто бы нельзя в родном конфигураторе сделать механизмы плагинов/расширений.
25. boln 1041 10.03.17 22:19 Сейчас в теме
(24)
Как будто бы нельзя в родном конфигураторе сделать механизмы плагинов/расширений.
Они на форуме не раз говорили, что такое направление признано неперспективным.
https://partners.v8.1c.ru/forum/topic/1522592
26. Brawler 458 10.03.17 22:45 Сейчас в теме
(25) к сожалению, а может быть и к лучшему, доступа к партнерке по ссылке я не имею)) не натрудил еще за 6 лет 1С-иния)))
27. boln 1041 10.03.17 22:46 Сейчас в теме
(26) Ну, кто-нибудь из коллег на работе подсобит :)
28. Brawler 458 10.03.17 22:49 Сейчас в теме
(27) ))) не, такие нет. Фиксики мы все)))
30. Сисой 88 11.03.17 12:11 Сейчас в теме
31. Сисой 88 11.03.17 12:13 Сейчас в теме
Напишите ваше сообщение
(28) Фиксик фиксику рознь. У тех кто начинал в нулевые, доступ к партнерскому форуму вполне может быть (через "Комплект специалиста....").
32. boln 1041 11.03.17 12:14 Сейчас в теме
(31) Там еще нужен сертификат спеца и чтобы у фирмы была куплена NFR-версия.
33. a_titeev 32 11.03.17 17:58 Сейчас в теме
(19) Абсолютно согласен.
Неперспективность направления развития конфигуратора, вообще, понятна. Это подпись под тем, что 1С более не будет фирмой разрабатывающей, собственно, программы. То есть все хотят отдать партнерам на разработку - от конфигураций, до развития платформы разработки конфигураций. А естественно, для этого надо дать халявную расширяемую среду. В принципе, никто, наверное, особо и не против. Но непонятен выбор инструмента.
Так что запасаемся SSD, большими объемами оперативы и прочее. Интересно, люди писали про тесты - УТ 11 билдится минут 50 :)
39. Сурикат 401 12.03.17 12:50 Сейчас в теме
(19)
го функционала на разных языках, и как следствие - увеличивающий потенциальные угрозы багов.

8.4 пишется на java...
Видимо 1С постепенно уходит от С++ и переходит на java и за-за этого и делается новый конфигуратор, а не развивается старый
40. orefkov 1153 12.03.17 13:34 Сейчас в теме
(39)
8.4 пишется на java...

Щито????
Чем-то можете подтвердить столь сильное заявление?
41. Сурикат 401 12.03.17 14:08 Сейчас в теме
(40)
В документации к 8.4.1 почти все компоненты требуют установленный пакет JRE
http://its.1c.ru/db/v841doc#bookmark:v8:TI000000030

Наверное нужно уточнить, что не вся 8.4.1, а только новый кластер
42. orefkov 1153 12.03.17 15:38 Сейчас в теме
(41)
А, ну так так это такие же сервисные обёртки вокруг движка, как и EDT. Переписать саму платформу на Java - имхо нереально.
43. boln 1041 12.03.17 15:44 Сейчас в теме
(42)
А, ну так так это такие же сервисные обёртки вокруг движка, как и EDT. Переписать саму платформу на Java - имхо нереально.
Только непонятно, зачем это вообще понадобилось. Какой профит? Хотя бы предположения есть у кого-нибудь?
44. Сурикат 401 12.03.17 23:23 Сейчас в теме
(43)
Ну мне кажется, что легче поддержка кроссплатформенности (это чисто пальцем в небо). Если кто-то расскажет чем Objective C++ отличается от Java будет очень здорово =)
Была очень интересная статья на хабре про методы борьбы с утечками памяти...И там было высказано мнение, что сборщик Java лучше, чем умные указатели. На управляемых формах утечки памяти - это просто кошмар. Все время перезапускать рабочие процессы кластера из-за них ИМХО не есть хорошо
(42)
То что всю платформу переписать нереально, это да
Но кластер-то полностью новый. Т.е. менеджер кластера, балансировщик, все на java...И явно написаны с нуля, микросервисов раньше не было.
Еще и архитектора на java была вакансия у 1С (http://1c.ru/rus/firm1c/vacan/vacancy.jsp?id=218 ) =)
Т.е. в этом направлении движутся =)
45. boln 1041 13.03.17 11:30 Сейчас в теме
(44) Спасибо за гипотезу. Это действительно могло послужить основанием.

Им бы только не увлечься Java в ущерб производительности...
46. orefkov 1153 13.03.17 13:23 Сейчас в теме
(44)
Нет такого - "Objective C++"
Есть "Objective C", который широко применяется в IOS разработке, и "С++", на котором написана платформа 1Cv8.
От Java отличается всем :)
49. a_titeev 32 13.03.17 15:08 Сейчас в теме
(44)
Еще и архитектора на java была вакансия у 1С (http://1c.ru/rus/firm1c/vacan/vacancy.jsp?id=218 ) =)
Т.е. в этом направлении движутся =)
в принципе 1С упорно давно java продвигает. все эти детские клубы программистов и прочее. понятно что не просто так. уходят в нее для кроссплатформы...
48. a_titeev 32 13.03.17 15:02 Сейчас в теме
(41)
В документации к 8.4.1 почти все компоненты требуют установленный пакет JRE
да и все примеры управления кластером были на жабе. а еще апач зукипер радует. короче зоопарк реальный уже становится. притом что из этого будет в какой момент глючить, не понятно пока.
Книга Эксперта по технологическим вопросам будет походу в нескольких томах под каждый компонент и платформу... :)
34. a_titeev 32 11.03.17 18:15 Сейчас в теме
Похоже и поддержка тогда уже совсем не так должна будет выглядеть. Развернуть полноценную среду у клиента нереально будет практически. И операции типа - поковырял отладчиком, нашел что делать или исправил, более тоже не прокатят. Просто тупо попробую импортировать Комплексную сегодня ради интереса.
Хотя, да. Это уже решено. И вроде как окончательно...
37. a_titeev 32 11.03.17 21:35 Сейчас в теме
Тащемта, взял последнюю EDT с releases. Комплексная 2 (релиз не самый свежий, что-то от конца 2016 года наверное).
Итак, развертка среды (скачка и установка Java и EDT) + скачка/обновление платформы (не захотел работать с используемой мной версией, а она не самая свежая) - 20-25 минут.
Немного поднастроил среду под себя + регистрация инсталляций платформы в EDT - 2 минуты.
Загрузка:
- Выгрузка с помощью 1С (ее сама среда запускает) файлов конфигураций - 1 час примерно.
- Потом - загрузка файлов - в принципе быстро - минут 3-5.
- Непонятно что, с надписями типа Resource synchronization. На этой операции среда ожидаемо сожрала всю доступную память и висела в статусе "не отвечает", иногда отдупляясь и все же обновляя интерфейс - минут 15.
Потом неожиданно модальный бегунок пропал, но какие-то действия продолжались (чего-то типа Расчет ссылочного индекса). Видимо заработала хваленая эклипсовская многозадачность. То есть ничего сделать нельзя толком, так как все ресурсы съедены и все тормозит и "не отвечает", но вроде как уже можно - доступно меню, ввод. Но потом, еще минут через 5 все просто зависло сожрав еще и 55% процессорного времени, иногда увеличивая его по 75%, а иногда наоборот падая до 1%.
Застрелился Проводник :) Весь этот процесс, показывая 47% процентов прогресса в правом нижнем углу, занял еще чуть больше 1 часа.
И тут фиаско! Неожиданно перескочило на 48% и выдало ошибку "An internal error occurred during: "Perform operations...". Waiting has been interrupted by timeout".
Идиотизм. Не выдержал - прервал. Эта гадость из памяти не выгружается при выходе, снимаем процесс. Судя по сообщениям на партнерке - при возникновении ошибок, ничего не загрузится... И не вижу смысла еще час ждать до следующей ошибки. Больше не буду пока, подожду следующей беты.

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

АнализСостоянияНалоговогоУчетаПоНалогуНаПрибыль и АнализСостоянияНалоговогоУчетаПоНДС. Не смотрел еще. Наверное из за их красивеньких форм.

Тестил на обычном ноуте - i5, 2,2GHz 2 ядра 4 лог.процессора, 4 ГБ ОЗУ. Все лежит на диске не SSD, но в принципе быстром, HGST 7200 об. Диск постоянно съеден на 100%, память тоже. Антивирусник перед этим остановил, остановил также SQLEXPRESS и еще все то, что могло ресурсы освободить.
Вот над чем и нужно будет поработать. Даешь SSD под разработку и много памяти.
38. Brawler 458 12.03.17 11:39 Сейчас в теме
(37) да шляпа этот EDT. Тоже пробовал ее и в ранних версиях и в версии 1.3, тормоза одуренные (Win 10, i7 4770, 16Gb, SSD), стоит запустить ее, открыть пару тройку форм в конфигурации и у тебя уже нет одного гига памяти, а дальше только хуже...
Интерфейс эклипса ИМХО убожество...

Если 1С уберет конфигуратор, то уровень цен на услуги по обновлению и разработке возрастут, а из-за этого начнется отток клиентов)))
Скорее всего 1C будут тянуть две среды разработки и далее, спрашивается нафига они вообще затеяли писать ETD и кинули туда столько ресурсов?...
Сервер 1С так и будет написан на С++, клиенты вероятнее всего тоже на С++ будут...
И в итоге им придется поддерживать на разных языках общие по функционалу программные коды... те что в Сервере и Клиентах и те что в EDT.
47. BigBoss 2 13.03.17 13:58 Сейчас в теме
Я думал они уже забросили это направление)
Оставьте свое сообщение