Java作为后端平台。好的选择?
我的公司即将开始为我们的一款新产品构建后端。这个想法是建立一个为每个上层产品(网站、移动网站、移动应用程序)生成资源的层,而且其中很大一部分将作为 API 提供给第三方开发人员。你知道,典型的启动场景。
我们计划使用 Java Servlet 技术构建后端,因此我们的架构将依赖于 Java,所以问题是:Oracle 吓跑了具有开源意识的开发人员和像我这样的公司会产生什么影响?
我应该尝试寻找 Java 的替代品吗?您是否正在尝试放弃 Java?
这个问题不是关于Java平台的技术问题,而是关于Oracle严酷意图的法律影响(我的主观观点)。
编辑:当然这个问题是主观的和有争议的,这就是我想要的答案:意见,而意见是主观的和有争议的。
My company is about to start building the back-end for one of our new products. The idea is to build a layer that produces resources for every upper layer product (web site, mobile web site, mobile application), also, a significant part of it will be made available as an API for third party developers. You know, the typical start-up scenario.
We were planning on building our backend using Java Servlet Technology so our architecture was going to be dependant on Java, so the question is: What are the implications of Oracle scaring away open-source-aware developers and companies like mine?
Should I try to find an alternative to Java? Are you trying to move away from Java?
This question is not about technical issues with Java platform, but with legal implications of Oracle draconian intentions (my subjective point of view).
EDIT: Of course this question is subjective and argumentative, that's the kind of answer I want: opinions, and opinions are subjective and argumentative.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我怀疑 Java 在很长一段时间内仍将是一个强大的后端平台。除其他事项外,甲骨文并不想杀死下金蛋的鹅。另外,基于Java的优秀后端组件太多了,从Tomcat到消息传递,到hibernate和spring,再到groovy和grails;市场不会让它们在很长一段时间内消失。
从技术上讲,Java非常适合复杂的后端和大规模的问题;如果您正在构建简单且轻量级的东西,那么使用 Rails 这样的框架以及开源数据库通常就足够了。
Groovy 和 grails 是从 Rails 的轻量级方法到完整的 Java 世界的一座很好的桥梁,尽管 Groovy 有时可能有点,呃,奇怪。
I suspect that Java will remain a strong back=end platform for a long time. Oracle, among other things, doesn't want to kill the golden goose. In addition, there are too many good back-end components based on Java, from Tomcat to messaging, to hibernate and spring, to groovy and grails; the market won't let them disappear for a long time.
Technically, Java is well suited for complicated back ends and large-scale problems; if you're building something simple and lightweight, using a framework like Rails along with an open-source database is often plenty.
Groovy and grails are a nice bridge from the lightweight approach of Rails to the full Java world, although groovy can be a little, um, peculiar sometimes.
是吗?上次我检查 JBoss 和 Spring 都表现强劲。 Scala 被认为是替代 Java 的有力替代方案(或者它将成为 JVM 上应用程序/系统开发的下最佳语言。)
您在这里到底指的是什么?我不跟。现在,如果您要与 Oracle 及其堆栈(及其所有集成解决方案,如 Oracle Financials)直接竞争,那么您可能需要担心一些事情。
或者,如果您正在(或打算)做一些违反(或在法庭上可能被解释为违反)Java 许可协议的事情,那么您可能不得不担心 Oracle(因为它有勇气追究这些协议, Sun 确实有。)
因此,您需要更加务实和客观,并明确定义您的产品角色对于 Oracle 产品的具体作用。基于此,您必须决定投资 JVM 是否是一个好的决定。
取决于您想要实现的目标。这样的问题太过宽泛和开放,无法以有意义的方式回答。
从好奇心和多样化技能的角度来看,是的。但如果我负责开发后端产品,我会使用 JVM。我可能会尝试使用 Java 并利用该平台 15 年的集体知识。或者我会尝试 Scala。但我会坚持使用 JVM。
无论是否有 Oracle,对于这些类型的事物,就稳定性、可扩展性和丰富的知识而言,JVM 都是最佳选择。从技术角度来看,Erlang VM 可能更好,但与为 JVM 构建类似的团队相比,你很难建立一支有才华的团队。
Are they? Last time I checked JBoss and Spring were going strong. Scala is being considered as a strong alternative for replacing Java (or it will shape the next best language for app/system development on the JVM.)
What exactly are you referring to here? I don't follow. Now, if you are going in direct competition to Oracle and their stack (and all their integrated solutions, like Oracle Financials), then maybe you might have something to worry about.
Or if you are (or intend on) doing something that violate (or can be interpreted as a violation in a court of law) the Java license agreements, then you might have to worry about Oracle (because it has the teeth to pursue them, which Sun did have.)
So, you need to be a bit more pragmatic and objective and define clearly what exactly your product role will be with respect to Oracle products. Based on that, you have then to decide whether investing on the JVM is a good decision or not.
Depends on what you are trying to achieve. A question like that is too broad and open ended to be answered in a meaningful manner.
From the point of view of curiosity and diversifying my skills, yes. But were I in charge of developing a back-end product, I'd use the JVM. I might try to use Java and leverage from the 15 years of collective knowledge on the platform. Or I'd try Scala. But I would stick to the JVM.
Oracle or no Oracle, for these type of things, the JVM is the superior choice in terms of stability, scalability and wealth of knowledge. Erlang VM might be better from a technical point of view, but you would be hard press to build a talented team compared to building a similar one for the JVM.
找到一篇讨论 Java 的未来的文章,日期为 2010 年 3 月 5 日。
好的,来自同一链接的结论,
Found an article discussing the future of Java, dated 05.03.10.
Okay, conclusion from the same link,
我会推荐Java作为后端平台,我目前就职于一家专门为公司提供软件业务解决方案的公司,几乎我们所有的工作都是围绕在后端使用Java进行的。
我不确定您的后端是否将由网络驱动。我想说看一下使用带有 Hibernate 数据库支持的 Spring 框架。 Spring 对使用 Hibernate 和许多其他工具提供了出色的支持,这就是我支持它的原因。与其他一些限制您只能使用某些工具的框架不同,Spring 在允许您将许多不同的库、工具和框架与其集成方面做得很好。这很好,因为我们都知道,技术总是在变化,现在流行的东西将来可能需要改变。
与 Rails 等轻量级方法相比,Java 作为后端解决方案在开始时需要做更多的工作,但是一旦你完成了所有设置(数据库、构建文件等),那么它就开始了。
如果您最终选择了 Java 路线,请考虑使用 Maven 进行构建。 Ant 也不错,只是需要多做一些设置。
I would recommend Java as a back end platform, I am currently employed with a company that specializes in software business solutions for companies, and nearly all of our work is revolved around using Java in the back end.
I am not sure if your back end is going to be web driven or not. I would say take a look at using the Spring Framework with Hibernate Database support. Spring has excellent support for using Hibernate and so many other tools and thats why I am a supporter of it. Unlike some other frameworks that limit you to using only certain tools, Spring does a great job of allowing you to integrate many different libraries, tools and frameworks with it. This is good because as we know too well, technology is always changing and something that is popular now, may need to be changed in the future.
Java as a back end solution will require a little more work in the beginning as oppose to lightweight approaches like Rails, but once you get everything setup(database,build files,etc) then it is off to the races.
If you end up taking the Java route, look into using Maven for building. Ant is also good, just a little more work to setup.
...您是否排除了任何特定技术?出于什么原因? .Net 是一个选择吗?
... did you rule out any particular technologies and for what reasons? Is .Net an option?