首页 文章

我应该使用什么语言和(可能的)Web应用程序框架来开发高流量的Web应用程序?

提问于
浏览
3

我目前正处于大学独立网络应用程序开发项目的预先规划阶段,该项目大约有一年的时间限制 . 该应用程序将具有某些类似wiki的功能,并可能在将来获得大量流量,这就是为什么我选择的任何语言和框架必须优先考虑以足够有效的方式处理大量压力的能力(这意味着它不应该是服务器生猪,因为这意味着更高的硬件,维护和其他相关成本) . 紧迫的第二优先事项是缩短开发时间和复杂性 .

截至目前,我面临着一个分析瘫痪的案例,因为似乎有很多语言可供选择 . 例如:

  • PHP

  • Ruby

  • Java

  • .NET

  • 其他......

还有框架,例如:

  • CodeIgniter

  • Symfony

  • Zend框架

  • Ruby on rails

  • ASP .NET

  • 许多其他人......

据我所知,在开发便利性和效率之间似乎存在某种权衡,所以我试图在这两件事之间找到 balancer (在许多其他考虑因素中) .

到目前为止,我在中级知道PHP,Java,C#,Visual Basic . 尽管如此,我还是希望让语言选项保持开放,因为我愿意在必要时学习另一种语言,例如ruby,因为它看起来很有趣 .

另一方面,虽然这个决定可能不够客观,但有一些数字需要考虑 . 我相信我已经读过,例如,java比PHP慢 .

那么,最终,我应该根据应用程序的需求使用哪些?

如果您已经开发出类似的东西,哪些选项适合您?


编辑:我已经阅读了答案和其他一些资源,大多数人说任何语言都可以扩展,并且只要你知道如何定义可扩展的架构和优化技术,就可以像你需要的那样高效 . 虽然这是真的,听起来很令人振奋,但是某些语言/框架比其他语言/框架更耗资源也是如此,当然成本是一种约束(几乎总是如此,但我忘了最初添加我的问题) .

此外,使用框架现在几乎是给定的 .

6 回答

  • 10

    由于它是一个单独的努力,你明显在时间限制,使用你最好的 .

    有大量使用您提到的所有技术的高容量网站示例 . 老实说,在你获得大量流量之前,它不会产生那么大的差别 . 即便如此,有些事情你会(希望)有钱用来缓解这个问题 .

    试图说服你任何特定的语言/堆栈将真正归结为提出推荐的人的偏好和/或偏见 .

  • 5

    你知道没有一个真正明确的答案吗?

    所有这些都有利有弊,并且根据开发人员和应用程序的设计,创建具有其中任何一个的能力各不相同 .

    既然你要自己开发这个东西,那么你能做的最好的事情就是选择一种你熟悉的语言 .

    所以我建议如下:

    从您的应用程序中选择您想要构建的最简单的东西(例如登录页面,关于页面,或几乎任何东西 . 重点是它应该非常简单)

    一旦您选择了该做什么,请使用所有可用选项对该页面进行编码,并测量您执行以下操作所需的时间和/或其难度:

    • 获取SDK,环境,工具等 .

    • 创建自己的页面到您满意的程度 .

    • 创建模拟工作负载测试(发送多个请求)

    • 衡量每个内存,CPU,磁盘使用量等方面的数量 .

    • 获取给定技术的论坛等文档和支持 .

    • 最后也更重要的是,你最喜欢哪一个 .

    页面非常简单至关重要 . 为这个练习献上一两个星期的时间,帮我们一个忙,把结果发回来;)

    我告诉你这不是用的:"Do it in C# with asp.net because blah blah bla"如果你觉得它很糟糕!并且你要么放弃它并改变别的东西 .

    该实验对于将来的参考也是有用的 .

  • 1

    Facebook在PHP上运行

    谷歌使用Python和Java

    M?S [FOU]使用.NET

    正如其他人所说 - 这就是你所知道的,以及你可以利用的东西 . 如果您不知道,请选择一个并运行它 .

  • 3

    虽然老实说我没有太多使用它,当我读到有关Python的功能时,它似乎具有您正在寻找的那种优势 - 强大的可扩展性,可扩展性和我发现缺少的凝聚力来自其他语言(特别是PHP) .

    如果你没有研究过,我会考虑Python / Django .

  • 1

    从它's a university project I'd认真学习Ruby和Ruby on Rails . 这是一个非常富有成效的环境,拥有许多非常好的书籍和资源以及可以依赖的社区 . 如果你做商业广告,它有足够的腿可以带你走得相当远 .

    还可以查看jQuery,这是一个非常强大且易于使用的客户端Javascript库,可以简化您的一些Wiki用户交互 .

  • 2

    你可以使用Python django . 这是创建应用程序的一种很酷的方式 .

相关问题