我们正在启动一个大型网络项目,主要是绿色领域。我喜欢用于 java/web 解决方案的 Tapestry 框架。我担心启动 Tapestry 5 项目,因为 T5 仍处于测试阶段。但是,如果我正确理解文档,T5 及更高版本将不支持 T4 开发。我的问题:我应该用 T5 为一家大公司开始一个大型项目吗?如果没有,随着即将发布的 T5,我应该完全忽略 T4 吗?
8 回答
This question is moot now; Tapestry 5.0.18 was released on Dec.12 and it's the stable production-ready release, so nobody has to worry about using Tap5 before production anymore... just upgrade from whatever 5.0.x you're using to 5.0.18.
WARNING: If you're still using 5.0.15 then maybe you will have to modify some stuff around. I had 2 problems upgrading from 5.0.15 to 5.0.17: one is that any fields marked as @Property
must not have any accessors; if you have an accessor for a @Property
field you must remove the @Property tag and implement both accessors if you need them. The other one was that the page classes are no longer packed in their own jar file (this only applies to newly created projects), so if you need your pages to be in their own jar file (for whatever reason), you must modify your pom.xml to add the archiveClasses
to the maven-war-plugin plugin.
T5 处于最后一个 beta 版本,下一个版本是 RC,然后是完整版本。按照霍华德的说法,事情应该在 10 月底之前完成。因此,如果您正在启动该项目,我相信该框架会在发布时吸引您。
另一件事,测试版是非常优质的产品,霍华德在他的框架上做得很好。在我现在以前的公司,有一个基于 Tapestry 5 的项目于 9 月开始,一位同事很快就获得了一个工作示例,看起来还不错。我们在之前的项目中使用了 Tapestry 4,当提出选择哪个版本、T4 将被 T5 取代以及框架概念本身发生很大变化的问题时,得出的结论是对于一个Tapestry 新开发人员立即学习新版本(另外,如果我要留下来,我也有兴趣尽快切换到 T5,因为与我使用的 T4 相比,我看到 T5 概念的质量改进)。
当然,您必须考虑到最后期限和项目限制。如果它是相当灵活或持久的项目,也许可以快速启动 T5 一周,然后根据您的经验决定。
在使用 Tapestry 之前,你应该好好看看 Tapestry 的发展历史。Tapestry 做了很多不兼容的升级,没有继续支持旧版本。在合理的时间范围内不再处理 4.1 的补丁。在我看来,这对于官方稳定版本是不可接受的。
承诺使用 Tapestry 5 意味着:
- 你应该成为一名提交者;
- 你需要跟上所有新的发展,尽快放弃旧版本;
- 自己维护稳定版本。
Tapestry 5 很糟糕。生产力直线下降,内存泄漏。它对 GC 中的堆大小和较旧的对象代进行了非常糟糕的分析。由于在任何地方都使用会话,因此它不适用于大量用户。它的记录非常糟糕,很少有提交者支持。代码库质量非常低,具有非标准外观代码。我会像避免瘟疫一样避免它。我在一个非常引人注目的项目上使用它工作了 6 个月,该项目最终以数百万英镑的代价被罐装。T5 对此不负任何责任,但可以通过将开发人员的生产力降至零来发挥作用。
有了 wicket 和 grails 以及 Spring MVC 和 Struts2,你到底为什么要在这个同样运行的框架上冒险呢?
I don't think I can recommend a beta solution to a high profile app like this, but I'm also leaning against T4 because the upgrade path will be slammed shut upon the release of T5. Do you agree?
我目前在一个即将推出测试版的项目中使用 T5,这与我们的意图不完全一致——我们认为第一个版本现在已经发布了。恕我直言,T5 是稳定和成熟的,除了一些粗糙的边缘和一个相当小的社区。
如果您只是入门,我不会费心使用 T4。我发现 T5 使用起来非常优雅和有趣,所以如果你在计划发布之前还有一些时间,那就去吧!
正如 zappan 所说,如果您的项目交付(LIVE/RELEASE)日期提前几个月,您应该考虑 T5。特别是因为 T5 还没有发布 - 这导致期望不会有太多人有过它的经验。
再说一次,如果您的项目不是关键任务并且可能会延迟到 LIVE 日期,它不应该受到伤害。
通读 Tapestry 用户邮件列表,仍然出现许多粗糙的地方。运行演示时,T5 令人印象深刻,但我会等待一段时间再考虑将其用于生产。 http://www.nabble.com/Tapestry---User-f340.html