我是一名长期的 Java Web 应用程序开发人员, 根据我的经验,构建 Web 应用程序有两种主要方法。
第一种方法是使用从客户端到服务器来回的技术,如 Struts、SpringMVC、JSF 等。
第二种是使用主要在客户端运行的技术,如 Flex、Swing(Web Start)、JavaFX 等。
我知道这两种方法将长期存在,并且我知道每种方法都有其优点和缺点。
我真的很想知道你什么时候更喜欢使用它们? 选择其中之一时我应该考虑什么?
说出您想到的任何安全性、应用程序类型、无状态/有状态、数据库调用或其他任何内容。
看看有哪些不同的方面会很有趣。
基本上,区别在于“瘦”客户端和“胖”客户端之间的区别。
两者的一些优点和缺点
胖客户端
瘦客户端
Chrome 等功能更强大的浏览器的出现正在模糊两者之间的界限。
一般来说,我会假设默认始终是基于瘦 html 客户端的解决方案,业务逻辑位于服务器上,除非另有要求(例如高级多媒体或处理需求或特定的 UI 外观和感觉设计选择,如动画)
我的建议是在所有情况下都避免使用插件。不要将 java、flash 或 silverlight 插件用于 Web 应用程序。你正在为自己准备一个充满伤害的世界。如果你想构建一个富客户端,请使用生成 javascript 的东西。如果您喜欢 Java,请使用 GWT。如果您不喜欢 Java,请查看 javascript 工具包,例如 ExtJS、Dojo、Sproutcore。
我看待权衡的方式:
瘦客户端(常规 HTML):
富客户端(GWT 或 JS 工具包):
对于我的应用程序,我完全属于富客户端阵营。但我不会为“公共”互联网制作应用程序。