The Blue Ocean plugin for Jenkins is designed to be extended by other plugins. Like many other plugins, Blue Ocean has its own extension points.
Blue Ocean is a single-page application which has different aspects of the application contributed by purpose-specific plugins, such as the Dashboard for Blue Ocean or i18n for Blue Ocean plugins.
If you wish to make a plugin for blue ocean, some starting points:
Introduce yourself to the gitter chat room. This is often the best place to start. There are many people there to help you get going.
Contact the jenkins-ux mailing list (things move fast, ask someone for help)
Read the README with pointers on plugin development
Get familiar with regular Jenkins plugin development (at least a very simple plugin)
Read up a little on ReactJS (not necessary but doesn’t hurt)
Take a look at the Blue Ocean plugin generator utility
Take a look at a real plugin (non trivial) - the visual pipeline editor.
For those with a more graphical focus, you will want to take a look at the Jenkins Design Language repository.