开发 Web 和桌面应用程序的应用程序框架?
最近有人问我是否有这样一个神奇的框架,可以让我们设计和构建一次单一的控件库,然后分别使用它们来构建 Web 和桌面应用程序。
Google、微软或者其他公司有这样的RAD框架和工具吗?
谢谢
Recently I was asked by someone if there is such a magic framework that will allow one let's say to design and build once a single library of controls and then use them separately to build web and desktop applications.
Does Google, Microsoft or other company have such a RAD framework and tools?
Thx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
取决于您如何定义 Web 应用程序。如果您认为 RIA 是 Web 应用程序,那么是的...
Microsoft 有 Silverlight,Adobe 有 Flex/AIR。
Depends on how you define a Web App. If you consider RIAs to be Web Apps, then yes...
Microsoft has Silverlight and Adobe has Flex/AIR.
那么,您可以随时寻找 adobe flex、adobe flash 甚至 microsoft silverlight,它们在下一个版本中也将支持桌面应用程序。
目前其他类型的框架在桌面/Web 环境下构建得不太好。以 .NET 为例,它可以在很多环境中使用,但如果你想将它用于移动、Web、桌面,则存在限制或者XNA,每个人都有自己的一套工具。
这主要是在所需环境的能力中恢复的,因为您可以在 iPhone 中浏览网页,而 iPhone 不具备与台式机甚至笔记本电脑相同的能力。
Seva 正在告诉您通常如何处理这种情况。 MVC 是一个好的开始。
Well, you can always go and look for adobe flex, adobe flash or even microsoft silverlight, which in the next version will support desktop applications as well.
Other types of frameworks currently do not build so well under desktop/web environments.. Take .NET for example, which can be used in so many set of environments, but there are limitations if you want to use it for mobile, web, desktop or XNA, everyone has his own set of tools.
That is mostly resumed in the capability of the desired environment, since you can browse a web page in an iphone, which does not have the same capabilities of a desktop or even laptop PC.
Seva is telling you how this is normally dealt with. MVC is a good start.
Eclipse 基金会提供了丰富的客户端平台与丰富的 Ajax 平台 - 一种允许您构建桌面应用程序,另一种允许您构建基于 Web 的应用程序,所有这些都使用 SWT 概念。但我不会将其描述为神奇 - 现实是它要困难得多,我不会推荐 RAP。
The Eclipse foundation offers Rich Client Platform vs Rich Ajax Platform - one allows you to build desktop apps, the other web-based apps, all using SWT concepts. I wouldn't describe it as magical though - the reality is it is much more difficult and I would not recommend RAP.
Adobe 有 AIR,Google 希望每个人都编写 HTML5+JavaScript。 Chrome 和 FireFox 都可以将它们作为独立应用程序运行。
Adobe has AIR, and Google wants everybody write HTML5+JavaScript. both Chrome and FireFox can run those as standalone apps.
如果这样的东西存在,它会产生糟糕的桌面应用程序和糟糕的网络应用程序。底层平台和意识形态差异太大。通过尽可能多地隔离业务逻辑,然后构建两个单独的客户端,您会做得更好。
编辑:假设“Web 应用程序”是指基于 HTML 的应用程序,而不是在浏览器中执行的应用程序。对于后一个选项,您可以拥有 Flash、Silverlight、Java Applet、ActiveX 控件...反之亦然,您可以拥有一个打开 Web 浏览器控件并在其中运行 Web 应用程序的桌面应用程序。 :)
Were such thing to exist, it would produce lousy desktop apps and lousy Web apps. The underlying platforms and ideologies are too different. You'll do better by isolating as much of business logic away as possible, then building two separate clients.
EDIT: assuming that by a "Web app" you mean an HTML-based app, as opposed to something that happens to execute within a browser. For the latter option, you can have Flash, Silverlight, Java Applets, ActiveX controls... And for the vice versa, you can have a desktop app that opens a Web browser control and runs a Web app in it. :)
微软有一个智能客户端工厂,里面有很多内置的指导包,可以使开发变得相当快速和标准化。
http://msdn.microsoft.com/en-us/library/aa480482。 ASPX
Microsoft has a Smart Client Factory that has a lot of built-in guidance packages that make development fairly quick and standardized.
http://msdn.microsoft.com/en-us/library/aa480482.aspx
我完全有可能误解这个问题,但如果您需要的只是将模型和业务逻辑分离到某种可重用库中的能力,那么任何编程平台/语言都可以。
Python、Ruby、Perl:将模型和业务逻辑保存在单独的目录中 桌面应用程序的要求?它应该在哪些平台上运行?如果仅限 Windows,.NET 似乎是一个明显的选择,如果您喜欢 Swing,则可以使用 Python 和 Qt 或 Java。
It is entirely possible that I misunderstand this question, but if all you need, is the ability to seperate models an business logic into some kind of reusable library, just about any programming platform/language will do.
What are the requirements for the desktop application? On which platforms should it run? If Windows only, .NET seems like an obvious choice, otherwise Python and Qt or Java if you like to Swing.
我还会选择 Web 服务并在服务中实现尽可能多的业务逻辑。然后,您可以使用 Html/JS、Java、.Net 或其他语言构建一个非常小的 Clinet。
您应该选择您觉得最熟悉的框架。
I also would go for a Webservice and implement as much Business-Logic as possible in the Service. You can then build a very small Clinet in Html/JS, Java, .Net or Whatever.
You should choose that Framework you feel most familiar with.
检查 CrossUI RAD 工具。它使开发人员能够快速开发并将完全相同的代码和 UI 打包到 Web 应用程序、本机桌面应用程序(Windows、OS X、Linux 和 UNIX)以及移动应用程序中。
Check CrossUI RAD tool. It enables developers to rapidly develop and package the exactly same code and UI into Web Apps, Native Desktop Apps(Windows, OS X, Linux and UNIX) as well as Mobile Apps.