【问题标题】:Best toolkit for new Web application (odd requirements)新 Web 应用程序的最佳工具包(奇怪的要求)
【发布时间】:2008-12-22 00:33:00
【问题描述】:
我需要编写一个新应用程序,并且没有任何新技术、框架或语言的经验。以下是要求:
- HTML 前端(最好是跨浏览器)
- 可在 Web 上部署,但最好能够在桌面上独立安装
- SQL Server 数据库
- 理想情况下,希望使用带有小部件的良好(且简单)AJAX 工具包
- 理想情况下,希望能够用 ASP.Net 编写,但以后(或同时)也可以用 Java 编写。这是一个大问题,因为我不想重写整个事情。有没有我可以使用的工具包来简化这个跨平台需求?
非常感谢所有建议和 cmets。谢谢。
【问题讨论】:
标签:
ajax
web-applications
【解决方案1】:
我建议您查看 Adobe Flex/AIR。 Flex 被部署为 Flash 应用程序,并且在所有浏览器中看起来都一样,AIR 采用它并添加了桌面集成和部署功能以及离线支持和本地 SQLite 数据库。您还可以使用 HTML + Javascript 编写 AIR 应用程序(作为 Web 应用程序运行),但仍然可以访问所有桌面功能,就好像它被部署为 AIR 应用程序一样。后端也可以是 .NET WebServices。
这是作为 AIR 客户端应用程序运行的 AJAX 应用程序的 example。
【解决方案2】:
ASP.Net。如果您想要一个独立的应用程序,请通过 Web 服务(或类似服务)公开您的所有业务逻辑,并拥有一个单独的前端应用程序。
【解决方案3】:
这些要求是一项艰巨的任务。我想我们都喜欢一个允许我们开发具有所有这些功能的跨浏览器、多平台应用程序的单一系统。如果您包含应用程序的一般功能,将会有所帮助。您选择平台的方向很大程度上取决于需求,其中不仅包括功能,还包括性能、持续开发、支持成本和其他因素。
我同意 moobaa 的观点,即跨平台开发最好使用 SOA 架构来完成。将您的所有业务逻辑集中在 XML Web 服务中,并为您想要定位的平台开发前端。这可能会影响性能,但会限制您必须进行的并发开发量。市面上有一些 C# 到 Java 的转换器,但我不能保证它们的有效性。
【解决方案4】:
ruby on rails 满足您的大部分要求,但它不会直接为您提供桌面部署(除非您也可以使用基于浏览器的客户端)。
我应该补充一点,您需要学习 ruby,但这并不像听起来那么痛苦。花一点时间查看网站和示例,您就会明白。
(即将推出的替代方案是 groovy 和 grails,它们向后兼容 java,对您来说学习曲线可能更少)
【解决方案5】:
您以后总是可以使用 ASP.NET 并创建基于 Mono 的跨平台前端应用程序,并使用 Web 服务来允许应用程序使用您后端的逻辑。
所以:
[网络]
ASP.NET MVC(带有 .net 3.5 sp1 的 Windows)
用于 ASP.NET MVC 的 ASP.NET AJAX(带有 .net 3.5 sp1 的 Windows)
XHTML 和 CSS 2 实现跨浏览器兼容性
[桌面]
C#(与 Mono 的跨平台)
Java
【解决方案6】:
Ruby on Rails。它不仅简单,而且还具有可访问后备的 AJAX。