开发者

Application framework to develop web and desktop applications?

Recently I was asked by someone if there is such开发者_Python百科 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


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.


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.


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 has AIR, and Google wants everybody write HTML5+JavaScript. both Chrome and FireFox can run those as standalone apps.


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. :)


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


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.

  • Java: keep models and business logic in seperate project, compiled to jar
  • .NET: keep models and business logic in seperate project, compiled to DLL
  • Python, Ruby, Perl: keep models and business logic in separate directory, and include as module

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.


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.

  • If you are a .Net-Developer you can develop a WCF-Service (is also great with WP7).
  • For Java, i would choose Google-App-Engine or the Play-Framework.
  • And of course you can make a PHP-Webservice, for examble with the Flow-Framework


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜