I'm a fan of the web and I admire how powerful the browser has become. Since I'm almost always in a browser (even to type this blog) I would certainly love to see even more useful apps, like, perhaps, an online IDE. So, although I work with desktop apps I like this cloud and web app kool-aid a whole lot.
One of the advantages I see in web apps is how transparent they are. It's all text, with code in an easy scriptable language. It's easy to inspect and change. Easy to deploy.
But I don't work with web apps. I work with large desktop Swing applications, usually on top of the NetBeans Platform.
I routinely debug these Swing apps with the debugger, VisualVM, BTrace and simple apps or unit-tests that reproduce the issue.
And it occurred to me after a debugging session to me that Swing apps are quite transparent too! The fact that Java code is compiled is just a decoy. As a developer you have access to the source code anyhow but, even as an user, you have about the same freedoms as you have with a web app.
Just as I could look into the DOM hierarchy in the browser, I have the Swing hierarchy of components.
Although existing code is compiled, I could make a small BTrace script to see its execution and inspect parameters and values.
Without having to recompile, I can easily use reflection to look into private data and even tweak it.
So, although Swing would seem pure binary, there is nothing you don't have access to. It's an open book!
People will never bother to do anything manual unless absolutely necessary. This is why I believe the current NetBeans "empty" jav...
As Apache NetBeans became a top level Apache project and finished the incubation process I was asked for an interview and my photo. Only ...
Using the nice META-INF/service, one can declare it's own little status-bar piece by implementing StatusLineElementProvider . You basic...