여러 프로젝트에서 Eclipse Xtext을 사용했습니다. Ecore (메타) 모델에서 문법을 정의하는 것이 쉽고 멋진 Eclipse 플러그인 편집기를 포함하여 모든 것을 당신에게 제공하는 것을 좋아했지만 정적 인 필드에 모든 것이 고정 배선 된 EMF framework이라는 기본 설정에 상당히 불편했습니다.Jetbrains의 MPS와 Eclipse Xtext의 주요 차이점은 무엇입니까?
최근에 나는 Jetbrains의 MPS (Meta Programming System)을 발견했습니다. 완전히 다른 철학을 기반으로합니다. Xtext는 파서를 생성하는 텍스트 기반 DSL을 작성하고 (해당 EObject를 인스턴스화하는) MPS 작성 언어로 직접 기본 모델 구조를 편집합니다. 지금까지 나는 그것을 얻는다.
두 DSL 도구를 사용하여 경험 한 사용자와의 작업에서 주요 차이점, 의도 된 사용 사례 및 대상, 복잡성, 학습 곡선 등을 경험 한 사람이 있습니까 (솔직히 Xtext 사용을 시작하려면 꽤 많이 알아야 함) EMF의 배짱에 대해), 코드 생성 등?
감사합니다. Heiko, 저는 더 나은 통찰력을 가지고 있습니다. :) 텍스트 기반 v 프로젝션 기반의 내용과 버전 제어, diff 등의 결과가 있습니다. "일반 사용법"의 차이점은 무엇인지 더 자세히 알고 싶습니다. 도구와 도구 체인에 Xtext를 사용하면 어떤 Java 프로그램에서나 즉시 사용할 수있는 기본 Ecore 모델에서 생성 된 Java 코드를 얻을 수 있습니다. MPS 공식 자습서를 읽는 동안 나를 놀라게 한 것은 코드 조각 템플릿을 사용하여 코드 조각을 완성한 것입니다. 어떻게하면 EMF와 같이 쉽게 작성할 수 있습니까? –
사실, Xtext 뒤에있는 사람들은 Eclipse 외의 다른 환경에서 Xtext 언어를 사용할 수 있도록 많은 노력을 기울이고 있습니다 (예 : Orion 프로젝트를 통한 웹 편집자 및 IntelliJ IDEA 지원). 자세한 내용은 https://eclipse.org/Xtext/news.html에서 확인할 수 있습니다. –
MPS는 사용자 지정 저장소를 지원하지만이 모든 내용이 적용됩니다. 기본적으로 XML을 기반으로 자체 형식으로 파일을 저장하지만 사용자 지정 직렬화/직렬화를 제공 할 수 있습니다. –