NetBeans isn't just an IDE, but it is a framework!

When designing frameworks and libraries that shall be widely adopted it is 
important to increase portability as much as possible. If an API can be used 
on different systems, different configurations, the amount of users including 
such API in their applications grows.

The best way to hurt portability is to depend on a 3rd party API that isn't 
portable. Depending on Win32 API is one such example. Of course, writing in 
Java (a language designed to write once and run everywhere) greatly increases 
portability. However there is another axis hurting portability - the supported 
JDK version. Of course, should a library be widely used, it has to support as 
oldest JDK as possible. These days it is JDK8 - the primary reason being that 
Android supports JDK8 - as such, should a library be aspire to be used on 
Android (as well as regular Java), it needs to stick to version eight. Btw. 
not that many years ago, Android only supported JDK6 and many libraries had to 
stay with JDK6 APIs and language.


Supporting the ancient JDK gives the application writers using such library or 
framework a freedom to choose their JDK. The application writers can then run 
on oldest or newest JDK. That's the kind of freedom they want. However there's 
transitivity of non-portability - the portability of the final application 
cannot be bigger than portability of the least portable library used. This 
applies also to 3rd party dependencies a framework or library has: again their 
non-portability may negatively affect portability of such framework or library. 

I was my NetBeans libraries to be as portable as possible and also run on 
Android. I want to use `Lookup` & co.
-jt




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to