当前位置:  开发笔记 > 编程语言 > 正文

Java或Python或Ruby for Web Application?

如何解决《Java或Python或RubyforWebApplication?》经验,为你挑选了5个好方法。

如果我今天要从头开始实现一个Web应用程序,我应该选择哪个应用程序堆栈?三个主要候选者是java,python和Ruby on Rails(RoR).还有.NET,但它偏向于M $.

专业的Java:

1) Stacks of thick books
2) Largest developer community
3) Typed languages, which prevents subtle bugs
4) Augmented with groovy interpreted language

临蟒蛇:

1) Concise code
2) Thin books
3) Can launch web app for free on Google Apps

临回报率:

1) Concise code
2) Thin books
3) Ruby may be slightly better programming language than python, but they are converging.

总的来说,python/RoR之间没有太多选择.我必须做出的选择是在Java和Python之间.我稍微喜欢java,因为它是一种打字语言,但我的好朋友喜欢python,因为它更简洁.厚厚的Java书籍是否意味着它的解决方案更全面(我必须自己编写较少的代码)?



1> Guillaume..:

背景:我是一名专业的Java开发人员,负责Django.

Java的

Java主要用于企业,并且有很好的理由.如果您需要一种成熟的语言,对并发性,事务,访问多个数据库的良好支持,Java是一个很好的解决方案...... Java也是一个非常稳定的平台.稳定的,我不是说它比Python或Ruby有更少的错误,我的意思是它没有那么多变化.

有很棒的Java工具支持.伟大的IDE,伟大的重构工具,出色的静态分析工具......你可能找不到任何其他语言的那种质量的工具.

有很多缓慢的Java应用程序,但在我看来,更多来自开发人员使用他们不理解的架构,尝试做的事情比他们需要的更复杂.您可以使用Java开发高性能,非常快速的网站.

Django的

Django更轻巧,更有趣.您可以在很短的时间内运行应用程序.管理界面对于简单的CRUD操作来说是神奇的,甚至可以用于非常复杂的逻辑.您可以找到许多"可重用的应用程序",它们将实现您需要的一些功能.

即使Django现在处于1.0版本,它也远非稳定.如果你需要在1 - 2年内继续开发你的项目,你可以期待很多改变只是为了遵循Django的状态.

结论

如果您已经了解Java,并且需要复杂的架构和长期支持,请使用Java.

如果你想快速开发,请使用Django(或RoR),如果你需要在1 - 2年内重写很多应用程序,请不要在意.


我必须同意你的看法,Django相对不稳定.

2> Swaroop C H..:

选择你熟悉的并运行它.

或者你可以在Jython上选择Django来获得最好的Java库和Python的速度编码.

或者如果你需要说服某人是企业家,那就选择Java.

我会说,如果你是在一个小团队中独自工作,那么就选择一个需要最少资源的人(提示:Python).



3> bobince..:

Java反:

冗长,有时很麻烦

模板脚本的选择不佳(可以通过使用Groovy,Jython等辅助脚本语言来缓解)

反的Python:

没有特定的标准框架,必须研究和选择(或者只是在WSGI之上使用独立的实用程序模块)

仍然相对有限的托管选项(GAE或自己的服务器除外)

反回报率:

在现代Web脚本语言中没有原生Unicode吗?耻辱

潜在的性能扩展问题

我个人最终得到了Python,但所有这些选项 - 以及.NET - 都很容易防御.


Ruby 1.9包含本机Unicode支持,Rails从Rails 1.2开始向后移植."Rails不扩展"也是Rails社区的一个模因:它将扩展.

4> miceuz..:

我建议使用Java和Spring框架 - 它解决了典型Java Web应用程序的所有负担,并为您提供了获得所需内容的明确方法.

我个人使用Hibernate - JPA - Spring框架(或Spring Web Flow) - Tiles - Freemarker堆栈,这使我能够快速创建新的Web应用程序,但总的来说它们会产生相当陡峭的学习曲线.

我建议 - 只需尝试一下Spring即可.



5> James Anders..:

您的应用程序主要是演示文稿,数据库(CRUD类型维护)还是许多后端逻辑?

对于大多数演示,我会去Python/Django(甚至PHP).

对于简单的CRUD RoR舔它.

对于任何具有繁重后端逻辑的东西,或者使用现有遗留数据库的东西,我会使用带有Freemarker,Ibatis和Tomcat或Jetty的Spring来获取java servlet.

PS不要担心可扩展性性能 - 没有什么能像Tomcat/java解决方案一样扩展.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有