KDevelop4 architecture overview

Alexander Dymo dymo at ukrpost.ua
Fri Mar 16 20:28:10 UTC 2007


Hi!
There was a lot of work done recently restructuring, refactoring and improving
KDevelop4 architecture during January and February. This means that a lot of
things were changed and now I'd like to give a little overview of what 
happened and what KDevelop4 architecture looks like now to keep 
everyone here up-to-date.

This large rework is almost over, there're a few bits not yet ported
(like DocumentController) but that will come soon. Since now I do not
expect any revolutional changes in the architecture, only additions
and improvements as usual.

The main goal of the rework completed by yours trully and Andreas was to
transfer good things from KDevelop3 into KDevelop4 while keeping
all the cool KDevelop4-only stuff done by Hamish, Adam, Roberto and Matt.

What was done:
- the interfaces are separated from shell classes
- plugins no longer link to the shell that loads them
- directory hierarchy was cleaned up and reorganized
- project management and language support infrastructure
  underwent a major rework
- the new Sublime UI is in place

What is pending:
- document controller
- profile support (code is there, it's just not used)

What is planned (only major arch changes):
- unification of DUChain with the goal to extract common du-chain
  code useful for all language supports

What does that mean to you:
I do hope that means that KDevelop4 now is a relatively stable platform
to develop against. You can write plugins or fix/improve the shell
without worrying that your work will be obsolete tomorrow.

Hope the attached document helps. By all means, please bug me if something
is wrong/missing/unclear in the document.

PS: if you're still hacking on 3.4, give up! KDevelop4 is waiting for you ;)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kdev4_arch_design
Type: text/x-java
Size: 15856 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20070316/a33b521b/attachment.java>


More information about the KDevelop-devel mailing list