java web的框架太多了。害怕和困惑:(

时间:2010-07-04 20:18:31

标签: c# java php frameworks

我是一名经验丰富的Java开发人员,目前正在尝试使用Java学习Web开发。我还拥有ASP.NET(c#)和PHP的Web开发经验。我知道什么是基本概念(JSP,Servlet,Bean)以及寻找框架。

我的问题不是“什么是Java的最佳框架”或类似的东西。

在这里阅读了许多主题并在Google上搜索了好几个小时后,我感到害怕和困惑。有这么多的框架和无穷无尽的组合。我即将改变主意在.net甚至PHP中这样做。

  1. Java是否真的适合非常小的团队(1或2名成员)来开发Web应用程序?
  2. Java是否真的适合开发Web 2.0应用程序?
  3. 在这种情况下,.NET和PHP的混淆程度要小得多。
  4. 如果选择一个框架,6个月后我决定使用另一个框架,是否可以轻松迁移?
  5. 我觉得花费同样的精力来学习Java到一个随时可以改变或变得无用的框架是不对的。我错了吗?

7 个答案:

答案 0 :(得分:5)

  

Java真的适合非常小的   团队(1或2名成员)开发网络   应用

当然,只要那些一两个团队成员熟悉Java就可以了。这是一个荒谬的问题,取决于你如何定义“合适”。我会偏袒保守派并将“合适”解释为“可能”。

  

Java是否真的适合开发   Web 2.0应用程序?

您是在问JavaFX是否合适,或者Web 2.0 UI技术是Flex还是其他?我自己没有使用过JavaFX,但我认为Java后端可以与Web 2.0前端很好地共存。服务是服务。

  

在这种情况下,.NET和PHP不是很容易混淆吗?

你的措辞需要一些工作。在那里,我已经修好了。取决于你对.NET或PHP的熟悉程度。 PHP可以说是“设计较少”而且更直接,但每个Web应用程序都不是Web CRUD应用程序。 .NET可以像Java一样工程,但它具有使用作为框架一部分的功能的感知优点。至少一切都来自微软。也许你感到困惑,因为Java有更多的选择。

  

如果选择框架并且在6之后   几个月我决定使用另一个,是吗?   可以轻松迁移吗?

这取决于框架以及您对应用程序进行分层的程度。我会说,如果你正确地分层你的代码,事情应该是可以修改的。但框架往往是粘合代码,所以如果你严重依赖框架,无论你选择哪一个框架都很难提取它。

  

只是感觉花费不合适   我花在学习Java上的同样努力   到任何时候都可以的框架   改变或变得无用。我错了吗?

任何事情都可能改变并变得毫无用处。 Microsoft可以决定以不向后兼容的方式重新编写Enterprise Framework 4.0。我不相信这是一个语言缺陷 - Java并不是唯一一个受这种情况影响的人。

你是对的 - 当你承担依赖时,你总是处于危险之中。当你自己编写和维护所有内容时,你也会面临风险。你需要选择好以尽量降低风险,但你永远不能完全消除它。

我的推荐?选择春天,晚上睡觉。这是一个非常棒的框架,在那里挂了八年,数量仍然很强劲。它有一个伟大的Web MVC框架和更多。它鼓励的成语将使您的Java应用程序更好:更分层,更易于维护,可以与其他框架很好地协作,最大限度地降低风险。它们现在由VMWare拥有,所以它们不会去任何地方。

答案 1 :(得分:4)

我想你会找到不同的答案。我是.NET开发人员,我个人喜欢使用.NET,ASP.NET和ASP.NET MVC。如果你很舒服并且熟悉Java,为什么不坚持你所知道的呢?你是对的,有无数的框架选择,几乎所有的平台都是如此。

  1. Java适用于小型和大型团队。拥有良好的源代码控制解决方案将使任何团队受益,因此请确保在团队工作时考虑如何管理源代码。

  2. 整个Web 2.0并不是真正关注特定的服务器端技术。 Web 2.0的广泛概念(尽管它只是一个神奇的术语)是构建丰富的交互式应用程序的概念。你可以拥有一个Java后端,一个.NET后端和一个PHP后端,一个Python后端,真正的选择完全取决于你。他们可以为呼叫客户提供相同类型的服务吗?我认为他们可以。

  3. PHP和.NET受益于庞大的开发社区(不是说Java没有),而且这个平台上还有很多项目正在进行中。以.NET为例,你可以对它进行扩展,你可以在它上面构建,甚至你可以将它们拉出来并用你自己的替换它。我不会说你不能用Java做到这一点,只是(对我而言)看起来更容易使用.NET。

  4. 迁移是一个棘手的野兽,你必须留意你使用这项技术的方式,如果你做了特别特别的事情,那么使用其他技术会有多好。如果您坚持使用熟悉的设计理念(例如MVC),您会发现从直接从JSP迁移到ASP.NET MVC等更容易。

  5. 计算软件以惊人的速度发展,我们都必须跟上或落后。您必须问自己,您是出于个人或商业原因做出此平台决定吗?如果是出于个人原因,您是否觉得将来可能会喜欢开发这个,是否适合个人成长和发展?你觉得自己在哪里服用它?如果是为了商业,你能看到你在这项技术上做了哪些投资?在这个阶段,是否有可能会有任何变化之风让你质疑你的选择?

  6. 对不起,如果这一切都很神秘,我希望它有所帮助。

答案 2 :(得分:1)

我认为坚持你已经知道的东西并不是什么问题。但是有很多网络框架可以帮助您更快地交付产品。你提到过ASP.NET和php,但也有一些很受欢迎且很快就开始使用的RoR。更不用说很多这些语言都有可以加快速度的Web框架。我会开始研究这些vs JSP或其他Java方法。

但这只是我的意见。

答案 3 :(得分:1)

我建议你使用使用POJO的框架。有了弹簧,检票口和冬眠/ ibatis,你可以长时间使用。

我的意见:

答案 1:是
2:什么是Web 2.0应用程序? (是)
3:不知道 4:几天会伤害你,但肯定会有可能 5:取决于你决定使用哪些框架。 (是)

答案 4 :(得分:1)

“不要恐慌” - “银河系漫游指南”

我在使用Java,.NET和Rails构建Web应用程序方面拥有丰富的经验。 PHP,不是那么多。所以这是我非常自以为是的观点:

Java中的Web开发框架(有一堆,但看看Spring)是成熟且易于学习的。因此,如果您想使用Java运行,那么无论您的团队规模如何,或者您的项目的“Web 2.0”是什么,您绝对不会做任何愚蠢的事情。这一切都很好。

也就是说,如果你想探索其他选择,还有一些事情需要考虑:

  1. C#是一种比Java更好的编程语言,我曾经是一名Java粉丝。它们在许多方面非常相似,转换很容易,但C#只是解决了Java中的许多难点,并且只是更好地结合在一起。我知道你不是在询问语言,但如果你正在考虑不同的平台,那肯定是一个因素。
  2. 直到最近,Web开发才是.NET的真正痛苦,因为带有Web表单的ASP.NET对于非平凡的项目来说非常糟糕。微软发布了一个相对较新的MVC平台。这很好,易于使用,并且有一个不断发展的社区。另一方面,它实际上是你唯一的.NET选项(除了Monorail,它有一个缩小的社区和很多错误)。
  3. 由于Mono,.NET并没有严格依赖Windows,但是社区和库肯定会出现Windows偏差,Mono项目总是有点落后。你必须决定这是否与你相关。
  4. Rails是一个爆炸。在Rails中,很多其他框架中复杂的东西都是微不足道的。它肯定不是没有它的问题,但是为了在很短的时间内运行一个结构坚固的产品,它很难被击败。

答案 5 :(得分:-3)

除非你有充分的理由使用java进行Web开发,否则不要。从统计学角度来说,PHP是Web开发的王者。您还将发现更多框架和更好的Web开发支持。

如果你想退一步,那就试试python,ruby或CGI。它们都是不错的后端,在PHP的大多数领域都能正常工作。

这里最重要的是与你所知道的一致。除非它是java。

答案 6 :(得分:-4)

很少有人继续使用Java进行Web开发。 PHP是这个意义上的赢家,因为社区和免费提供的全功能应用程序的巨大选择。由于C#中的新功能以及SharePoint的存在,企业级应用程序使用.NET更容易实现。许多人也使用Python,包括谷歌和YouTube。由于Ruby on Rails平台及其语言优雅,Ruby拥有粉丝。

我有很多熟人只使用Java工作,收入很高,但他们实际上并没有触及Web部分。

我的观点非常主观。