Jaroslav Tulach

My name is Jaroslav Tulach and I am the founder and initial architect of NetBeans, which is not just a well known IDE, but also the first modular desktop application framework written in Java. My name sounds Slavic and has a strange pronunciation (read the initial J as Y andlast ch as in Scottish loch or in German Bach), because I am Czech. However, as NetBeans has been the flagship software product of Sunand Oracle for a while now, you don't have to worry that content of the TheAPIBook might not be widely applicable and understandable.

Maintaining NetBeans Platform, its architecture and APIs has always been the primary focus of Jaroslav. During more than fifteen years of participating in the project, Jaroslav has seen, made and helped to recover from many design mistakes. Such experience obligated Jaroslav to sit down and summarize it.

Practical API Design book is available to every framework design wishing to not walk the dead-end streets and reinvent the wheel. An online addendum of API Design advices is maintained at

Jaroslav likes to speak at various conferences (JavaOneGeeCONJUG meetings, OSGiConNetBeans days) and universities (Linz,Charles University) trying to popularize API design by talking about its paradoxes as well as NetBeans Platform and its advanced usage of various API design patterns.


In English Duke Script

While Java and JavaScript languages share the same prefix and while the latter was marketed as a scripting language for the first one, it comes with no surprise that these languages are completely different. For many years the JavaScript was a laughed out younger brother of Java, never treated seriously.

However things have changed. JavaScript made significant leaps forward while Java took a long, deep breath. JavaScript increasing popularity is built on its instant availability in every browser, yet JavaScript is also driving innovation: frameworks like Angular.js or Knockout.js are reshaping the way we think about MVC and how we allow developer/designer interaction. Progress is however not restricted to client side: V8 is solid enough VM to run server side applications and NodeJS programming model brought event driven server side programming to masses. More and more developers have to ask what part of their application should be in Java and what in JavaScript? What tools to use to develop and debug each of such parts? How do I make those parts naturally work together? Wouldn't it be easier to give up on Java completely? Of course not, you aren't at JavaScript conference, you are at JDD!

Rather than finding differences, let us seek similarities. Let us bring Java and JavaScript closer and demonstrate how one can smoothly mix code in these languages. Pass objects between those systems without any barrier. Call JavaScript from Java and Java from JavaScript. Do it synchronously or asynchronously. In a single process or over the wire. Beautify your Java application with any JavaScript framework out there and HTML5 and CSS. Step by step analyse what is happening in such mixed system. Inspect HTML elements driven by Java with top-notch tools. Write once and deploy to browser, server, iOS, Android, etc.

Let us show you the real synergy between Java and its script. Let us show you the JavaScript as it was meant to be!