Since approximately 2003, I have spent most of my time developing high-performance client-side applications using Eclipse rich client platform (RCP) as my toolkit.
Although Eclipse RCP is no longer “trendy”, it is still the best tool for most business applications that require a performant, “native” look and feel–particularly for those that must run across platforms.
However, that is changing.
In 2003, the client-side market was mainly Windows and MacOS. Today, the client-side market also includes iOS, Android, and Windows Mobile. Additionally, with the rise of single-page web applications like GMail and Google Docs, the web browser has evolved to become a capable platform for performant rich graphical applications. To add weight to this trend, as-of late 2012, Samsung's Chromebook was the fastest selling computer on Amazon.
In the past, if you wanted to “write once, run anywhere,” you had to use Java. Today, with the rise of the mobile and tablet platforms, Java no longer delivers this capability, yet with the increasing proliferation of platforms, it is needed more than ever.
However, on the server side, other forces are at work.
But I'll save my thoughts on that for another blog article.