location_city Bengaluru schedule Aug 26th 04:15 - 04:35 PM place Sigma Hall 2 people 1 Interested

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.


Outline/Structure of the Talk

The outline of the presentation will contain

- What is an API and contract compatibility in API?

-  What can cause Binary incompatibility?

- How to evolve interface, class, methods etc   in java ?

- How to do versioning for changes in API?

- Support in PDE for evolving APIs

Learning Outcome

a) Understand evolving APIs

b)  Understand API compatibility and binary compatibility and things that could break it

c) Learn to use PDE in API evolution

d) How to use versioning properly

Target Audience

Eclipse Developers

schedule Submitted 5 years ago

Public Feedback

    • Manoj NP

      Manoj NP / Jay / Sasikanth Bharadwaj - Eclipse JDT & Java 9 - The Story so far.

      20 Mins

      Java 9 introduces a major enhancement for modularity that helps define modules - The modular structure brings out a new paradigm shift in the way the programmer would program. From the perspective of JDT and its friends, this change means a relook at the existing concepts - starting from Java Model, through other core pillars of JDT. With the inputs from the EclipseConNA 2016, the JDT core is undergoing a change to incorporate these change both conceptually and at the core implementation level. In this talk, we will provide a brief introduction to the Java 9,  especially to those parts which affect JDT, we would also "redefine" some of the concepts in the Java Model, and then we will talk about the challenges faced and the solutions provided in JDT as a whole for Java 9.

    • Sarika Sinha

      Sarika Sinha - New and Advanced Debugging Tips And Profiling

      Sarika Sinha
      Sarika Sinha
      Lead & Committer
      Eclipse Debug
      schedule 5 years ago
      Sold Out!
      20 Mins

      Eclipse Platform Debug project provides the framework to enable debugging in projects. It adds the concept of Breakpoints, Console, Runtime, Process, Variable View, Expression View ....

      Eclipse JDT Debug project adds the Java specific feature for debugging on top of Platform framework with Java Stack frame, Java Stack trace Console ....

      There are many non obvious ways which can help us achieve effective debugging. Developers using Eclipse for long may not be aware of many of these tips-

      • New debugging features introduced in last two years
      • Advanced debugging tips - Step Filters, organizing breakpoints , Scrapbook, display of logical structure etc.
      • How to create memory dumps
      • How to profile Eclipse projects effectively with profilers like Yourkit