[MonoDevelop] Assembly reorganization

John Luke john.luke at gmail.com
Tue Jul 26 15:01:39 EDT 2005

>>I think we
>>shouldn't move any services into here that are not 1) useful for almost 
>>any app that exists 
>MonoDevelop is a platform upon which you can build development tools and
>applications. So, as long as the assembly is named MonoDevelop.Core, I
>think it should contain services which are useful for development
>We can create another assembly with services useful for all kind of
>applications, but I think it shouldn't have MonoDevelop in the name.
>However, is it worth to create such assembly?
I think we basically agree. The only distinction is whether it is 
interesting to include some things useful in IDE's
and development tools in the core.  If we are only interested in 
development tools and IDE's then moving things
into core makes sense.  If we are interested in providing a small core 
that could be used by general purpose apps,
then I think the above services should be in either MonoDevelop.Base or 
MonoDevelop.IdeApplication or whatever.
It might be worth noting that I am not really interested in the latter, 
I just thought others (users and developers) might be.

Looking back at your original list of what would be in Core.  I don't 
think things like Logging (would also add a dependency),
Projects, and Tasks really belong there.  But Serialization and 
ProgressMonitoring probably do.

Hopefully it is useful feedback, I'll leave it up to you and the others 
who will have time to do it.

>The main goal of the reorganization is to create the concept of
>"platform" which is not the same as the "IDE". The idea of "platform" is
>to provide a set of extensible tools for the development of applications
>(specially focused to Mono, but open to other languages and runtimes).
>The IDE would be just one of those tools (a big one, though). 
>I've been using the name "MonoDevelop" to refer to the platform, and
>MonoDevelop.IdeApplication to refer to IDE.
>There are other options. We can create a new name for the "platform",
>such as "Abcde", so we would have:
>Abcde.Core	For the core platform runtime
>Abcde.Gui	For reusable platform GUI components
>MonoDevelop	The IDE
>Or we can keep MonoDevelop for the platform and create a new name for
>the IDE...
So yeah, I currently think of MonoDevelop as the IDE and the platform as 
some yet to be named thing, but your way is fine also.
I am not sure the platform needs to be a well-defined seperate name 
though, look at eclipse with SWT, jface, and RCP.

More information about the Monodevelop-list mailing list