编译的,强类型的.NET替代品?

时间:2008-10-02 07:49:33

标签: .net strong-typing compiled

是否有适合构建Web应用程序的编程语言,它是编译的,强类型的,而不是ASP.NET?

我想过使用Mono(http://www.mono-project.com/),但我想知道是否还有其他选择。

(如果语言和框架是开源的,这是一个很大的优点!)

8 个答案:

答案 0 :(得分:8)

不确定说“编译”是什么意思。那Java呢?

Java有很多用于Web开发的框架。例如Tapestry

  

Tapestry是一个开源框架   用于创建动态,强大,高度   Java中的可伸缩Web应用程序。

答案 1 :(得分:5)

Java符合所有标准

答案 2 :(得分:4)

如果您的意思是编译为win32代码而不是中间语言,请尝试Delphi

答案 3 :(得分:3)

spring框架和java语言。

http://www.springframework.org/开源并在业界广泛使用。

特别是checkout spring-mvc和spring web-flow模块,它使创建Web项目变得更加简单。

答案 4 :(得分:2)

  

是否有适合构建Web应用程序的编程语言,它是编译的,强类型的,而不是ASP.NET?

仅仅为了完整性:理论上,人们甚至可以使用Ada来满足这些要求:

  

AdaCGI是“通用网关接口”(CGI)的Ada 95接口。 AdaCGI可以更轻松地创建可以使用标准CGI接口由万维网(WWW)HTTP服务器调用的Ada程序。使用它,您可以创建Ada程序,根据WWW用户的请求执行查询或其他处理。 AdaCGI以前被命名为“Package CGI”.AdaCGI是开源/免费软件,并使用LGPL(“较小的通用公共许可证”)许可证发布。

     

Ada for the Web:本网站致力于推广使用Ada95作为编写Web和Internet小程序和应用程序,服务器和浏览器的主要语言。

http://libre.adacore.com/libre/tools/aws/

还提供了Ada“aws”套餐
  

首先,AWS代表Ada Web Server,但它不仅仅是另一个Web服务器...

     

AWS是开发基于Web的应用程序的完整框架。框架的主要部分是嵌入式Web服务器。这个小而强大的Web服务器可以嵌入到您的应用程序中,因此您的应用程序将能够与标准的Web浏览器(如Microsoft Internet Explorer或Netscape Communicator)进行通信。围绕这个Web服务器,已经开发了许多服务。

该框架包括:

* A Web parameters module. This module takes care of retrieving the forms or URL parameters and to build an associative table for easy access.
* A session server, this is a very important module to be able to keep client’s data from page to page.
* Support SOAP to develop Web Services.
* A tool (based on ASIS) to generate a WSDL document from an Ada spec.
* A tool to generate Web Services stubs/skeletons from a WSDL document.
* A template parser, this module makes it possible to completely separate the Web design from the code. No more scripting into your Web page. This template engine is amazingly fast due to its concurrent cached compiled templates support.
* An Ajax runtime based on templates hiding javascript.
* Support for Secure Sockets (HTTPS/SSL), this is based on OpenSSL library.
* Support for large servers using dispatchers based on URI, request methods, timers.
* Support for virtual hosting (dispatchers based on the host name).
* Support for server push.
* A directory browser ready to be used in any application.
* A status page to get many information about the current AWS server.
* A log module. Log files keep information about all resources requested to the server.
* Hotplug modules which can be loaded/unloaded dynamically to add specific features to a server.
* A light communication API to exchange data between applications using the HTTP protocol.
* A configuration API to tune/change the server parameters without recompilation.
* A client API to retrieve any Web page from a Web site.
* A Web Page service to build a simple static page server.
* Support for SMTP, LDAP and Jabber protocols.
* And more…
  

使用AWS构建的服务器非常易于部署。您只需要复制并启动单个可执行文件。没有Web服务器安装和配置步骤。

有关aws文档的信息,请参阅http://www.adacore.com/wp-content/files/auto_update/aws-docs/aws.html

http://en.wikibooks.org/wiki/Ada_Programming/Libraries/Web

答案 5 :(得分:1)

你究竟要求什么?

你要求编译的东西,还是高效的东西?
您是否要求输入强类型的内容,或者您​​是否在寻找可以轻松帮助您调试错误的内容? (单元测试有时是编译器的更好的替代品)
您的客户是否要求它不是用ASP.Net编写的? 是否存在无法运行.Net代码的技术要求?

您正在寻求一种技术来解决您未正确定义的问题。

答案 6 :(得分:1)

Mono不是一种不同的编程语言,它只是Unix系统(以及Mac)的.NET框架的开源实现。它旨在与.NET完全兼容,因此您最终使用C#和ASP.NET。

答案 7 :(得分:0)

也许你的意思是“编译成机器代码”?

C#和Java被编译为中间语言,然后在运行时进行解释。

大多数体面的解释器在运行时将其编译为实际的机器代码以加速(及时编译)。

当然它效率不高,但许多语言功能在其他方面很难实现(例如垃圾收集)。

还有一种中间语言允许您编译的代码在不同的平台上运行。