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