桌面软件开发选项 [英] Desktop Software development options

查看:106
本文介绍了桌面软件开发选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

来自陷入网络世界的程序员...



当前用于桌面应用程序开发的最常见的桌面开发框架是什么?


  1. 同时为Windows和OS X编写桌面软件是否现实?


  2. 使用相同的基本代码为将具有部分Web UI和桌面UI的应用程序编写业务/数据层是否现实?



解决方案


  1. 是。您可以将Java,Python / Ruby等与跨平台的UI框架,AIR等结合使用。


  2. 是的,这很现实。在客户端/服务器模型上构建它,大多数代码将适合桌面或Web UI模型。


如果您使用的是.NET根目录,则可以将Silverlight用于Web应用程序,将.NET服务器代码用作后端,甚至可以使用Mono来使您能够开发OS X。



<如果您采用Java路线,则Java将在浏览器中运行,即将推出JavaFX,这是用于浏览器的小型Flash版本。它可以在几乎所有操作系统上运行,并且可以很好地处理后端。



Flex / AIR提供了一种开发OS X,Windows桌面和基于Web的应用程序的绝佳方法。和Linux,但后端需要另一种语言。 .NET,Java,PHP等都可以用作后端。



编辑

应MrJeepster的要求,在此处以下是有关连接AIR前端和.NET后端的详细信息:



可以使用两种方法将AIR连接到.NET后端:DIY方法和远程处理方法。



DIY方法将涉及定义您自己的(可能是XML)数据格式,并使用低级HTTP请求对象与HTTP服务器甚至较低级的套接字类进行通信。与其他服务器进行通信。



由于好人已经编写了一系列免费的远程处理程序包,因此远程方式更加容易。



http://www.adobe.com/devnet/ flashremoting / articles / intro_flremoting_net.html

http:// www.themidnightcoders.com/flashorb/gettingStarted.htm

http:// www .fluorinefx.com /



远程处理涉及在客户端和服务器之间共享对象。因此,您可以在AIR客户端上创建一些对象,获取远程处理框架以对其进行序列化,然后将其传输到服务器,然后将其反序列化为.NET对象。然后,服务器对其进行处理,并通过相同的路由再次发送它或新对象。


From a programmer stuck in the web world...

What are the most common desktop development "frameworks" currently being used for desktop application development?

  1. Is it realistic to write desktop software for both Windows and OS X?

  2. Is it realistic to use the same base code to write the business/data layers for an application that will have a partial web UI as well as a desktop UI?

解决方案

  1. Yes. You could use Java, Python/ Ruby etc with a cross platform UI framework, AIR etc etc.

  2. Yes it is realistic. Build it on a client/server model and most of the code will fit either the desktop or web UI model.

If you went down the .NET root, you could use Silverlight for the web app, .NET server code for the backend and even Mono to enable you to develop for OS X.

If you took the Java route, Java runs within the browser, there is JavaFX coming soon that is a small flash-like version for browsers. It runs on just about all OS's and can handle the backend just fine.

Flex/ AIR offers an excellent way of developing desktop and web-based apps for OS X, Windows and Linux, but you'll need another language for the back-end. .NET, Java, PHP etc all work fine as the backend though.

Edit
At MrJeepster's request, here are details on interfacing an AIR frontend and .NET backend:

There are two ways you can interface AIR to a .NET backend: the DIY way and the remoting way.

The DIY way would involve defining your own (probably XML) data formats and using the low level HTTP request objects to communicate with a HTTP server, or even lower level socket classes to communicate with some other server.

The remoting way is all together easier as nice people have written a selection of free remoting packages:

http://www.adobe.com/devnet/flashremoting/articles/intro_flremoting_net.html
http://www.themidnightcoders.com/flashorb/gettingStarted.htm
http://www.fluorinefx.com/

Remoting involves sharing objects between the client and server. So you create some object on the AIR client, get the remoting framework to serialise it, transfer it to the server and deserialise it into a .NET object. The server then processes it and sends it, or a new object, back again via the same route.

这篇关于桌面软件开发选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆