最近有人问我是否有这样一个神奇的框架,可以让我们说设计和构建一个单一的控件库,然后分别使用它们来构建 Web 和桌面应用程序。
谷歌、微软或其他公司是否有这样的 RAD 框架和工具?
谢谢
最近有人问我是否有这样一个神奇的框架,可以让我们说设计和构建一个单一的控件库,然后分别使用它们来构建 Web 和桌面应用程序。
谷歌、微软或其他公司是否有这样的 RAD 框架和工具?
谢谢
取决于您如何定义 Web 应用程序。如果您认为 RIA 是 Web 应用程序,那么是的......
微软有 Silverlight,Adobe 有 Flex/AIR。
我完全有可能误解了这个问题,但如果您需要的只是将业务逻辑模型分离到某种可重用库中的能力,几乎任何编程平台/语言都可以。
桌面应用程序有什么要求?它应该在哪些平台上运行?如果只有 Windows,.NET 似乎是一个明显的选择,否则 Python 和 Qt 或 Java,如果你喜欢 Swing。
如果存在这样的东西,它将产生糟糕的桌面应用程序和糟糕的 Web 应用程序。底层平台和意识形态差异太大。通过尽可能多地隔离业务逻辑,然后构建两个单独的客户端,您会做得更好。
编辑:假设您所说的“Web 应用程序”是指基于 HTML 的应用程序,而不是碰巧在浏览器中执行的东西。对于后一种选择,您可以拥有 Flash、Silverlight、Java Applets、ActiveX 控件……反之亦然,您可以拥有一个桌面应用程序,该应用程序可以打开 Web 浏览器控件并在其中运行 Web 应用程序。:)
好吧,你总是可以去寻找 adobe flex、adobe flash 甚至 microsoft silverlight,它们在下一个版本中也将支持桌面应用程序。
其他类型的框架目前在桌面/Web 环境下构建得不是很好。以.NET 为例,它可以在很多环境中使用,但是如果你想将它用于移动、Web、桌面,则存在限制或者 XNA,每个人都有自己的一套工具。
这主要是在所需环境的功能中恢复的,因为您可以在 iphone 中浏览网页,而 iphone 不具备台式机甚至笔记本电脑的相同功能。
Seva 正在告诉您通常如何处理此问题。MVC 是一个好的开始。
Eclipse 基金会提供富客户端平台与富 Ajax 平台——一个允许您构建桌面应用程序,另一个允许您构建基于 Web 的应用程序,所有这些都使用 SWT 概念。不过,我不会把它描述为神奇 - 现实是它要困难得多,我不会推荐 RAP。
Adobe 有 AIR,而 Google 希望每个人都编写 HTML5+JavaScript。Chrome 和 FireFox 都可以将它们作为独立应用程序运行。
检查CrossUI RAD 工具。它使开发人员能够快速开发和打包完全相同的代码和 UI 到 Web 应用程序、本地桌面应用程序(Windows、OS X、Linux 和 UNIX)以及移动应用程序中。
微软有一个智能客户端工厂,它有很多内置的指导包,使开发相当快速和标准化。
我也会选择 Web 服务并在服务中实现尽可能多的业务逻辑。然后,您可以在 Html/JS、Java、.Net 或其他语言中构建一个非常小的 Clinet。
你应该选择你觉得最熟悉的那个框架。