Search code examples
eiffel

Could we use EiffelBuild for large project or should we restrict its use for prototyping?


EiffelBuild is the ISE GUI-building graphical tool dedicated to Eiffel.

I try it and I find it very user-friendly, but I'm a little bit concerned about using such a tool for a large project. The use of a GUI-building tool could be restrictive.

Because Eiffel inheritance makes it very easy to create components, for the long term, it may be better to use our own specialized versions of the graphical objects that to use the standard ones.

Are you aware of any limitation of EiffelBuild that would justify to avoid its use for large projects.


Solution

  • I would restrict EiffelBuild use to prototyping. It's a nice tool, but in the long run it will get increasingly complicated to manage EiffelBuild projects (and this is true for most designers):

    • New versions of estudio are released every 6 months, making it a burden to have to keep your EiffelBuild projects still working as expected from one version to the other, expect to have to deal with migrations every once in a while. Now all your Eiffel code will be subject to the same challenges, but with projects in EiffelBuild you will have to deal with both changes to the language AND EiffelBuild (and sometimes both at the same time...)
    • If version N+1 and N are not compatible, you'll have to make a branch of your EiffelBuild projects to support both versions, be it only during the transition period
    • It can be difficult to integrate several EiffelBuild projects
    • Some graphical components could be difficult to reuse in EiffelBuild, such as a specialized chart component (ie set of classes...) for example, especially if that component isn't an EiffelBuild project itself
    • I found it difficult to reuse parts made from one EiffelBuild application into another, whereas with fairly well designed components it's much less of an issue

    Hope this helps.