Hi Stefan, sorry for the late reply.
Your question is not easy to answer, mostly because there is many differences and it's hard to name all of them. I'll try to highlight the things that I think are most important, maybe the other developers or users will add to this. Also, please correct me if I'm wrong! I prefer to use EMFText, which is why the facts about Xtext might not be up to date ;) First, some words about the commonalities: - Both tools produce similar editors, parsers and printers. So from the perspective of a DSL user only few differences will be noted. - Both tools rely on EMF and ANTLR which explains why they are often perceived as very similar. The former fact allows to easily integrate with other EMF-based tools. Even the Xtool family (e.g., Xtend) can easily be used with EMFText. Now some differences: - EMFText does not derive a metamodel from the syntax. This is not a missing feature, but an intentional design decision. - EMFText does not allow syntax rules that do not correspond to metaclasses. This is also intentional as we think that all elements of a textual representation should be present in the respective metamodel. If some details of the text are not important for some task, they can be discarded at the model level. - EMFText generates code that is independent of EMFText. There is no runtime library. This allows to make arbitrary changes to the generated code and ensures that generated DSL plug-ins are not influenced by future versions of EMFText (unless one regenerated the code). Also, one can run multiple DSLs that were generated by different versions of EMFText within the same Eclipse instance. - EMFText has override options that allow users to select which classes are regenerated and which are kept. In contrast, Xtext uses dependency injection to let developers introduce customizations. The former is a way to support unforeseen extensions, the latter is a way to support foreseen extensions. - EMFText has a huge library of existing DSLs (the syntax zoo), which serve as examples. There is more than 100 working languages! Some languages in the zoo (e.g., Java, OCL and OWL) are quite complex and show how far one can get with EMFText. - EMFText integrates with the EMF Validation Framework, whereas Xtext has its own validation mechanism. - EMFText integrates with the EMF Edit infrastructure, whereas Xtext uses its own providers for icons and labels in the outline view. - EMFText has special support for expression languages (the @Operator annotations). Xtext provides the Xbase library for this purpose, which contains Java-like expressions (AFAIK). - EMFText DSLs can integrate with Java using JaMoPP (the Java syntax and metamodel) or the org.emftext.commons.jdt Plug-in. Xtext provides Java integration that is similar to the latter way. - EMFText has a quite complex syntax generator that can be used to obtain parameterized syntaxes for existing metamodels. - EMFText does not use a workflow languages to generate code. We support Single-Click-Code-Generations (in Eclipse) and provide Ant scripts that can do the same on a CI server. - EMFText generates builder and interpreter stubs, as well as, a complete debugger that works out of the box. I'm not sure to what extent this is supported by Xtext. - Parsers and printers that are generated by EMFText run without Eclipse. I don't know whether this is possible with Xtext. I hope others will add to this list so we can make this a part of the documentation. Best regards, Mirko 24.05.2012 15:21, Stefan Wuelfrath: > Hi, > > I have browsed the archives of EMFText and found a link to that article: > > http://pettergraff.blogspot.de/2009/11/xtext-or-emftext-that-is-question.html > > Since the article is a little bit old (2009), have been there some > changes in EMFText which could be interesting for comparing both tools? > > Thank your very much for your help! > > Best regards, > Stefan Wülfrath > > Zitat von Stefan Wuelfrath<[email protected]>: > >> Dear EMFText team, >> >> how you would compare EMFText with XText? >> >> What are advantages and disadvantages of both frameworks? What's the >> same and what's different? >> >> Can you give me a hint in which cases EMFText is the better choice and >> when to use XText? >> >> I know: That are many questions. :-) >> >> Thank you very much for your help! >> >> Best regards, >> Stefan Wülfrath >> _______________________________________________ >> emftext-users mailing list >> [email protected] >> http://mail-st.inf.tu-dresden.de/cgi-bin/mailman/listinfo/emftext-users >> > > > _______________________________________________ > emftext-users mailing list > [email protected] > http://mail-st.inf.tu-dresden.de/cgi-bin/mailman/listinfo/emftext-users -- Dr.-Ing. Mirko Seifert Geschäftsführer DevBoost GmbH Rungestr. 22-24 10179 Berlin Tel.: +49 1577 444 1168 E-Mail: [email protected] Handelsregister Amtsgericht Berlin (Charlottenburg) HRB 140026 _______________________________________________ emftext-users mailing list [email protected] http://mail-st.inf.tu-dresden.de/cgi-bin/mailman/listinfo/emftext-users
