我的公司即将开始为我们的新产品构建后端。我们的想法是构建一个为每个上层产品(网站,移动网站,移动应用程序)生成资源的层,同时,它的一个重要部分将作为第三方开发人员的API提供。你知道,典型的启动方案。
我们计划使用Java Servlet技术构建我们的后端,因此我们的架构将依赖于Java,所以问题是:Oracle有什么影响吓跑开源知识的开发人员和像我这样的公司? / p>
我应该尝试寻找Java的替代方案吗?您是否想要远离Java?
这个问题不是关于Java平台的技术问题,而是甲骨文严厉意图的法律含义(我的主观观点)。
编辑:当然这个问题是主观的和议论性的,这就是我想要的答案:意见,意见是主观的和议论性的。
答案 0 :(得分:2)
我怀疑Java将长期保持强大的后端平台。甲骨文除其他外,不想杀死金鹅。此外,还有太多基于Java的好后端组件,从Tomcat到消息传递,再到hibernate和spring,再到groovy和grails;市场不会让它们长期消失。
从技术上讲,Java非常适合复杂的后端和大规模的问题;如果你正在构建一些简单而轻量级的东西,那么使用像Rails这样的框架以及一个开源数据库通常就足够了。
Groovy和grails是从Rails的轻量级方法到完整的Java世界的一个很好的桥梁,虽然groovy有时可能是一点点,但有时候很奇怪。
答案 1 :(得分:2)
是吗?上次我检查JBoss和Spring都很强劲。 Scala被认为是替代Java的强大替代方案(或者它将为JVM上的应用程序/系统开发塑造 next 最佳语言。)我们正计划建设我们的 使用Java Servlet技术的后端 所以我们的架构将是 依赖于Java,所以问题是: 甲骨文吓跑开源知识的含义是什么? 像我这样的开发商和公司?
你到底指的是什么?我不跟随。现在,如果您正在与Oracle及其堆栈(以及所有集成解决方案,如Oracle Financials)进行直接竞争,那么您可能会担心一些事情。
或者如果您(或打算)做违反(或可能被解释为法院违规)Java许可协议的事情,那么您可能不得不担心Oracle(因为它有可能追求他们,太阳确实有。)
因此,您需要更加务实和客观,并明确定义您的产品角色与Oracle产品的确切关系。基于此,您必须决定是否对JVM进行投资是一个好的决定。
我应该尝试寻找替代品 爪哇?
取决于您想要实现的目标。像这样的问题过于宽泛和开放,无法以有意义的方式得到回答。
您是否想要远离Java?
从好奇心和多样化我的技能的角度来看,是的。但是,如果我负责开发后端产品,我会使用JVM。我可能会尝试使用Java并利用该平台上15年的集体知识。或者我会尝试Scala。但我会坚持使用JVM。
对于这些类型的东西,Oracle或者没有Oracle,JVM在稳定性,可扩展性和丰富知识方面是最佳选择。从技术角度来看,Erlang VM可能会更好,但与为JVM构建类似的团队相比,你很难建立一个有才华的团队。答案 2 :(得分:1)
发现一篇文章讨论the future of Java,日期为05.03.10。
好的,从同一个链接得出结论,
在转动和交易的同时 企业界很少影响 开发者社区作为一个整体, 甲骨文将收购Sun公司 多年来影响深远的影响 来。而盈利的同时 个别Oracle产品可能没有 作为开发人员,最关心你 有趣的观点仍然是:- Combination of HotSpot and JRockit into an uber-JVM - Unification of the Java SE and Java ME APIs - Increased investment in JavaFX onto more platforms - Continued integration of dynamic languages into the JVM.
答案 3 :(得分:1)
我会推荐Java作为后端平台,我目前在一家专门为公司提供软件业务解决方案的公司工作,我们几乎所有的工作都围绕着在后端使用Java。
我不确定你的后端是否会被网络驱动。我想说看一下使用Spring框架和Hibernate Database支持。 Spring非常支持使用Hibernate和许多其他工具,这就是我支持它的原因。与限制您仅使用某些工具的其他框架不同,Spring在允许您使用它集成许多不同的库,工具和框架方面做得非常出色。这很好,因为我们非常清楚,技术总是在变化,现在流行的东西可能需要在未来改变。
作为后端解决方案的Java在开始时需要更多的工作,因为它反对像Rails这样的轻量级方法,但是一旦你完成所有设置(数据库,构建文件等),那么它就不适合竞争了。
如果您最终采用Java路线,请考虑使用Maven进行构建。 Ant也很好,只需要设置一些工作。
答案 4 :(得分:0)
...你排除了任何特定的技术和原因吗? .Net是一种选择吗?