`

Eclipse RCP and desktop Java - are we there yet?

    博客分类:
  • Java
阅读更多

I’m currently working on an Eclipse RCP project, which is supposed to be mostly used by non-technical people. Actually in my company today, Eclipse RCP is the de facto technology for building all desktop applications - from developer workbench to everyday necessities. There are RCPs built for programmers, testers, and everyone else. It looks like Eclipse RCP is hitting its prime time. But, is it?

Eclipse RCP, since it was first introduced with Eclipse 3.0 back in 2004, has come a long way through 3 whole years of evolution. With RCP, the Eclipse technology is becoming ubiquitous, rather than merely a development environment. From a developer’s perspective, it’s really a great technology. It virtually saved Java in the desktop battle. It’s well architected, standardized, robust, incredibly powerful to be extended, and like all Java applications, it runs on most platforms.

But with the wider acceptance of RCP and developers going great lengths to exploit its extendability, its shortcomings are being more and more exposed. To name a few, performance and user experience.

To take an example, the next major release of Lotus Notes, release 8, is completely built with Eclipse RCP. Despite its fantastic features, beta testers are unanimously complaining about its sluggish performance and lack of stability. Notes 8 is just going GA today. It’ll be interesting to see how the first batch of end users say about the next generation monster RCP that’s supposed to be lived with on a daily basis.

Another example is Lotus Sametime 7.5. I’ve been using it for quite a while now. Though I love to write interesting plugins for it, I can’t deny that the 3 minute plus load time (on my previous old Thinkpad T41 laptop) I sit through every time I launch Sametime is nothing but like killing myself slowly. It’s a nightmare. Anyway, it’s a chat program, isn’t it?

Another big issue is the very existence of RCP applications on client desktops. First, to run an RCP, you need a JRE, of course. That’s 70 megs for Sun JRE 5.0. Then, various JRE quirks drive developers nuts and some larger RCPs come shipped with bundled JREs in the packages. That’s an extra tens of megs added to the package. Then that’s the RCP platform itself which is over 10 megs. So even without any useful code, the prerequisites account for more than 100 megs!

Today, Rational ships most of the super mega RCP products on earth. A complete Rational Software Architect bundle comes with more than a handful of DVDs. That’s even more than many of the super cool PC games today!

Imagine that you need to run a bunch of RCP desktops at the same time. Each one consumes several hundred megs of your precious memory. More than a few of them refuse to use your system JRE and stick with their own shipped instance. So you even have more than a few JREs running simultaneously. That’s not a happy future definitely.

So what’s wrong with today’s Eclipse RCP? What’s the cure? I’m thinking about a few.

First, great platforms can’t cook the dinner for you! It’s still the developers’ responsibility to control the RCP’s performance and usability! Take great efforts to cut down unnecessary weights. Pay extreme attention to avoid memory leaks. There’s no magic in it!

Second, the consumer JRE is really a late comer. But better late than never. Today the desktop RIA war has already begun. Consumer desktops are being invaded with a bunch of runtimes. JRE, one of the oldest runtimes, really needs to get itself lean to have a chance. Sorry, but 70 megs of installation is simply insane.

Third, great tools can be bad if you put it to the wrong use. Eclipse RCP can build anything. That’s right. But does it have to?

I’m kind of concerned with what the 2007 Eclipse Roadmap has put it for RCP. IMHO, it’s definitely not more functionality, or frameworks that RCP lacks today. There’s still lots of work to do to make RCP and Java desktop truly usable for everyone.

分享到:
评论

相关推荐

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz) 适用于Linux x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-win32-x86_64.zip

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-win32-x86_64.zip) 适用于Windows x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-java-2024-03-R-win32-x86-64.zip

    Eclipse是一款著名的开源集成开发环境(IDE),专为多种编程语言提供服务,包括Java、C++、Python等。"eclipse-java-2024-03-R-win32-x86_64.zip" 是Eclipse针对Java开发者的特别版本,适用于2024年3月发布,且是...

    eclipse-java-2022-06-R-win32-x86_64.zip

    【标题】"eclipse-java-2022-06-R-win32-x86_64.zip" 提供了几个关键信息。首先,“eclipse”是著名的开源集成开发环境(IDE),主要用于Java编程语言。它以其强大的代码编辑、调试、构建和管理功能而闻名。这里的...

    eclipse-rcp-2023-12-R-linux-gtk-x86-64.tar.gz

    eclipse-rcp-2023-12-R-linux-gtk-x86_64.tar.gz 适用于Linux x86_64位系统

    eclipse-java-2021-12-R-win32-x86_64.zip_tomcat

    【标题】"eclipse-java-2021-12-R-win32-x86_64.zip_tomcat" 涉及的主要知识点是Eclipse IDE for Java开发者版本和Tomcat服务器的集成。 Eclipse是一款广泛使用的开源集成开发环境(IDE),特别适合Java应用程序的...

    eclipse-rcp-juno-SR2-win32-x86_64.zip

    这个"eclipse-rcp-juno-SR2-win32-x86_64.zip"是一个针对Windows 64位系统的Eclipse RCP开发环境的打包文件,版本为Juno Service Release 2 (SR2)。Eclipse Juno是Eclipse IDE的第四个主要版本,发布于2012年,包含...

    eclipse-rcp-indigo-SR2-win32-x86_64

    在"eclipse-rcp-indigo-SR2-win32-x86_64"压缩包中,"eclipse"文件夹包含了运行Eclipse RCP应用所需的全部资源,包括JRE(Java Runtime Environment)、Eclipse插件、工作台配置、启动脚本等。用户可以通过运行...

    eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg) 适用于macOS x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-java-mars-2-win32-x86_64

    9. **Eclipse RCP(Rich Client Platform)**:Eclipse不仅仅是一个IDE,还是一个可扩展的RCP平台,开发者可以基于此构建自定义的桌面应用程序。 10. **性能优化**:Eclipse Mars 2对内存管理和启动速度进行了优化...

    eclipse-java-luna-SR2-win32-x86_64工具

    Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development...

    Eclipse Rcp

    Eclipse RCP是一种基于Eclipse平台的富客户端平台技术,它允许开发者创建独立于Eclipse环境的Java桌面应用程序。RCP通过提供一套标准组件和API,简化了桌面应用程序的开发流程,使开发者能够专注于业务逻辑而非界面...

    eclipse-RCP-3.1.1-win32.zip

    这个“eclipse-RCP-3.1.1-win32.zip”文件是一个专门为Windows操作系统编译的Eclipse RCP版本,版本号为3.1.1。在本文中,我们将深入探讨Eclipse RCP、JFace和SWT,以及如何使用这个压缩包进行开发工作。 Eclipse ...

    RCP 开发工具 eclipse-rcp-2020-06-R-linux-x86

    这个"eclipse-rcp-2020-06-R-linux-x86"压缩包包含的"Eclipse"文件可能是Eclipse RCP的安装程序,安装后开发者将得到一个完整的开发环境,可以开始构建和调试基于Eclipse RCP的桌面应用程序。在Linux x86(AMD)平台...

    eclipse-jee-2021-12-R-win32-x86_64.zip

    Eclipse IDE for Enterprise Java and Web Developers (eclipse-jee-2021-12-R-win32-x86_64.zip)适用于Windwos x86_64

    eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz) 适用于Linux aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-kepler-SR2-win32-x86_64.zip

    这个“eclipse-rcp-kepler-SR2-win32-x86_64.zip”文件是Eclipse RCP的一个特定版本,适用于Windows操作系统,且是64位架构。Kepler是Eclipse IDE的第四个主要版本,发布于2013年,而SR2代表Service Release 2,是该...

    eclipse-jee-2018-09-win32-x86_64.zip

    Eclipse 是一个著名的开源集成开发环境(IDE),广泛用于Java编程,同时也支持其他语言如C/C++, Python等。"eclipse-jee-2018-09-win32-x86_64.zip" 是Eclipse针对Windows 32位和64位系统的2018年9月版本的下载包。...

    eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg) 适用于macOS aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-java-2020-03-R-win32-x86_64.zip

    Eclipse是一款广受欢迎的开源集成开发环境(IDE),主要用于Java编程,同时也支持其他多种语言如C++, Python等。"eclipse-java-2020-03-R-win32-x86_64.zip" 是Eclipse针对Windows操作系统,32位和64位架构的特定...

Global site tag (gtag.js) - Google Analytics