我有一个大型的Web应用程序想法,我想要处理,这将需要安全的数据库交互,文件创建和编辑功能,速度和输出HTML。它需要能够在webhost上运行,而不是在自运行服务器上运行。用于创建它的最佳编程语言是什么?我不是在寻找'最简单',我正在寻找对我希望开发的Web应用程序类型最有用的东西。
编辑: 它需要能够在linux上运行。
答案 0 :(得分:4)
我的选择是使用Razor内嵌语法的ASP. NET MVC平台和代码的C#。 .NET为您提供所有方框,还有一个庞大的社区,大量的帮助资源,教程等。可能是最好的编码工具(Visual Studio 2010),易于与html5,jQuery,CSS3,AJAX等尖端的东西集成。
ASP.NET是Microsoft技术,因此您需要在Windows上进行开发(XP及以上版本都可以)。 C#使用与JAVA类似的语法。 Razor是新的,相当容易使用。 .NET适用于大多数数据库,您甚至可以在同一工具(Visual Studio)中管理代码和数据库,具体取决于您将使用哪个DBMS。
我认为最大的争论是,Matteo Mosca pointed out是this非常网站是使用ASP .NET MVC构建的,在我看来,它的工作做得很好。
答案 1 :(得分:3)
请定义“webhost”。对于很多人来说,这意味着“PHP主机”,并且这种选择将您选择的语言限制为1.
对于大型webapp,我肯定会采取在JVM上运行的东西(假设你的“webhost”定义包括一些接受.war文件进行托管的商店 - 我通常在虚拟机上自托管并运行Play框架,因为它更容易)。在JVM上,您可以选择框架和语言 - 再次查看Play - 这里根据语言技能,特定需求等开始。对于一个大型应用程序,Scala最近肯定会出现在我的候选名单上。
请注意,我说“JVM”,而不是“Java”。我认为JVM生态系统岌岌可危 - 您可能会找到一个以标准.war文件格式托管的网站,如果您需要一个通常存在的库,性能就是最好的。 Java作为一种编程语言是如此,但幸运的是现在有选择。
此外,很大程度上取决于您的技能,您的喜好等等。我会说Python,Perl,Ruby,C#都是构建大型网站的非常可行的语言。您更喜欢哪种开发语言?在一天结束时,这是速度和易于开发的一个重要因素......
答案 2 :(得分:0)
我个人会在.net 4.0下推荐一个好的结构化项目(n层方法,使用ORM等),其中包括C#的优点和用于UI部分的Mvc框架(版本3)。
如果您对.net网络表单有不好的经历而且您认为这很糟糕,那么您是对的。但是MVC框架是基于RoR方法的其他东西。
这就是我用过的东西。考虑C#4.0(动态,linq,泛型等)功能的强大功能,您将使用Visual Studio(通常被认为是最好的开发理念)以及现在大量的免费组件由NuGet包管理员提供,最近很容易获得和使用。
为了给你一个用asp.net Mvc制作的网站的一个很好的例子 - 你现在就在这样的网站上。 Stack Overflow和所有堆栈交换站点都建立在Asp.net Mvc上,如果我没记错的话。如果没有,有人会纠正这个。