什么是用于Web应用程序和桌面应用程序的GUI和数据库的通用平台

什么是用于Web应用程序和桌面应用程序的GUI和数据库的通用平台

问题描述:

创建GUI和数据库应用程序的通用平台是什么,可以在Web和桌面上运行,但是代码可以重复使用.如果我先为Web编写代码,那么此代码也可以在桌面使用.

What is common platform for creating GUI and database application that can be run on web and desktop but code can be reused.If i will write code first for web then this code will be reused for desktop also.

在dll项目上执行所有数据库操作,仅在Winform/Webform上保留GUI元素
Implement all DB operations on a dll project, keep only GUI elements on Winform/Webform


您可能不是在问通用平台,是通过CLR使用的CLI,但与通用API子集有关.答案将是:除UI外的所有.NET Framework类库(FCL).实际上,您需要在各层之间共享的大多数库都在基类库(BCL)中,以及诸如ADO.NET之类的重要部分.

请参阅:
http://en.wikipedia.org/wiki/Common_Language_Infrastructure [ http://en.wikipedia.org/wiki/CLR [ http://en.wikipedia.org/wiki/Framework_Class_Library [ http://en.wikipedia.org/wiki/Base_Class_Library [ http://en.wikipedia.org/wiki/ADO.NET [ http://msdn.microsoft.com/en-us/library/aa286484.aspx [ ^ ].

请注意,您不必两边都安装.NET.可能是其他一些CLI实现,尤其是多平台Mono:
http://en.wikipedia.org/wiki/Mono_%28software%29 [ ^ ],
http://www.mono-project.com/Main_Page [
You are probably asking not about common platform, which is the CLI used via CLR, but about the common API subset. The answer will be: all .NET Framework Class Library (FCL) except UI. Practically, most of the library shared between the tiers you need would be in Base Class Library (BCL) plus such important part as ADO.NET.

Please see:
http://en.wikipedia.org/wiki/Common_Language_Infrastructure[^],
http://en.wikipedia.org/wiki/CLR[^],
http://en.wikipedia.org/wiki/Framework_Class_Library[^],
http://en.wikipedia.org/wiki/Base_Class_Library[^],
http://en.wikipedia.org/wiki/ADO.NET[^],
http://msdn.microsoft.com/en-us/library/aa286484.aspx[^].

Note that you does not have to have .NET on either side. It could be some other CLI implementation, notably multiplatform Mono:
http://en.wikipedia.org/wiki/Mono_%28software%29[^],
http://www.mono-project.com/Main_Page[^].

Mono is implemented on a number of OS including Windows, Linux, Mac OS X, iOS and more, fully implement all the BCL and a number of non-standardized libraries, including ADO.NET, System.Windows.Forms and more. You can freely combine tiers working on .NET and Mono. Also, assemblies developed on .NET accurately enough avoiding incompatibilities (such as OS dependent features), will work on Mono on the same or any different platform without recompilation. And visa versa.

—SA