An API is a way for services and programs to communicate with each other through a
documented interface. It defines “contracts” for information exchange between programs. But over time,
an API needs to evolve while maintaining the contract compatibility. In some circumstance,
breaking changes has to be made and the clients of the API need to adapt effectively.
For Java applications, there are some ground rules for evolving interface, classes and all other
API elements. In eclipse, PDE tools provide most of the assistance needed for the developer to evolve
APIs without having to say "I just added this. How did that break? "
As plugins evolve, they must maintain the compatibility as far as possible. The nature of changes
to the plugin should also be reflected in the plugin versioning. PDE's version management tools
help developers to put the versioning correctly.
In the talk, I will cover ground rules for API evolution and how PDE helps a developer in that.
Also I will cover versioning guidelines and PDE's support for version management. I will also
talk about other useful aspects of PDE.