是否应该使用 Tapestry 5 进行生产版本?
我们正在启动一个大型网络项目,大部分都是绿色领域。 我喜欢用于 java/web 解决方案的 Tapestry 框架。 由于 T5 仍处于测试阶段,我对启动 Tapestry 5 项目感到担忧。 但是,如果我正确理解文档,T5 及更高版本将不支持 T4 开发。 我的问题:我应该使用 T5 为一家大公司开始一个大型项目吗? 如果不是,随着 T5 即将发布,我是否应该完全忽略 T4?
We're starting a large web project, mostly green field. I like the Tapestry framework for java/web solutions. I have concerns about starting a Tapestry 5 project since T5 is still in beta. However, if I understand the documentation correctly, T4 development will not be supported by T5 and up. My question: Should I begin a large project for a large company with T5? If not, with the imminent release of T5, should I ignore T4 altogether?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
这个问题现在已经没有意义了; Tapestry 5.0.18 于 12 月 12 日发布,它是稳定的生产就绪版本,因此没有人不必担心在生产之前使用 Tap5...只需从您正在使用的任何 5.0.x 升级到 5.0.18 即可。
警告:如果您仍在使用 5.0.15,那么您可能需要修改一些内容。 我从 5.0.15 升级到 5.0.17 时遇到两个问题:一是任何标记为 @Property 的字段都不能有任何访问器;二是任何标记为 @Property 的字段都不能有任何访问器; 如果您有
@Property
字段的访问器,则必须删除 @Property 标记并在需要时实现这两个访问器。 另一个是页面类不再打包在它们自己的 jar 文件中(这仅适用于新创建的项目),因此如果您需要页面位于它们自己的 jar 文件中(无论出于何种原因),您必须修改您的pom.xml 将archiveClasses
添加到 maven-war-plugin 插件中。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 thearchiveClasses
to the maven-war-plugin plugin.T5 处于最后一个测试版,下一个版本是 RC,然后是完整版本。 按照霍华德的说法,事情应该在十月底之前完成。 因此,如果您正在启动该项目,我相信该框架的发布将会吸引您。
另一件事,测试版是非常优质的产品,霍华德的框架做得很好。 在我现在以前的公司,有一个基于 Tapestry 5 的项目于 9 月份开始,一位同事很快就得到了一个工作示例,看起来还不错。 我们在之前的项目中使用了 Tapestry 4,当提出选择哪个版本的问题时,T4 将被放弃而转而使用 T5 的事实,以及框架概念本身的很多变化,我们得出的结论是,对于Tapestry 的新开发人员立即学习新版本(另外,如果我留下来,我也有兴趣尽快切换到 T5,因为与我使用的 T4 相比,我看到 T5 概念的质量改进)。
当然,您必须考虑到您的截止日期和项目限制。 如果是相当灵活或持久的项目,也许可以快速开始使用 T5 一周,然后根据您的使用经验做出决定。
T5 is in the last beta, the next release is RC, and then the full release. according to howard, things should be done by the end of october. so, if you're starting the project, i believe the framework will catch you with its release.
another thing, the betas are pretty quality products, howard does the great job with his framework. at my now previous company, there is a project started in september based on tapestry 5, a colleague managed to get a working example pretty quickly and it seems okay. we worked with tapestry 4 on a previous project, and when the question raised about which version to choose, the fact that T4 will be abandoned in favor of T5, and much changes in the framework concept itself, the counclusion was it's much better for a developer new in tapestry to learn new version immidiately (also, if i were to stay, i was interested in switching to T5 also as soon as possible, because i see a quality improvement in the T5 concepts compared to T4 which i worked with).
of course, you have your deadlines and project limitations which you have to take into account. if it's rather flexibile, or long-lasting project, maybe get a quick start of T5 for a week, and then decide based on your experience with it.
在决定使用 Tapestry 之前,您应该仔细研究一下 Tapestry 的开发历史。 Tapestry 做了很多不兼容的升级,没有继续支持旧版本。 在合理的时间内不再处理 4.1 的补丁。 在我看来,这对于官方稳定版本来说是不可接受的。
承诺使用 Tapestry 5 意味着:
You should take a very good look at the development history of Tapestry before committing to use it. Tapestry has done a lot of non-compatible upgrades, with no continuation of support of older versions. Patches to 4.1 are not processed anymore within a reasonable timeframe. That is in my point of view not acceptable for the official stable version.
Committing to use Tapestry 5 means:
正如 zappan 所说,如果您的项目交付(上线/发布)日期提前几个月,您应该考虑 T5。 特别是由于 T5 尚未发布,因此预计不会有太多人体验它。
话又说回来,如果您的项目不是关键任务并且可能会延迟上线日期,那么应该不会有什么坏处。
As zappan said, you should consider T5 if your project delivery (LIVE/RELEASE) date is several months ahead. Especially since T5 is not released yet -- which leads to the expectation that there will NOT be too many people who will have experience with it.
Then again, if your project is NOT mission critical and can suffer some delays to the LIVE date, it should NOT hurt.
翻阅 Tapestry 用户邮件列表,仍然出现许多粗糙的地方。 当您运行演示时,T5 令人印象深刻,但我会等待一段时间再考虑将其用于生产。
http://www.nabble.com/Tapestry---User-f340。 html
Reading through Tapestry user mailing list, there still appear to many rough edges. T5 is impressive when you run through the demo, but I'd wait a while before considering using it for production.
http://www.nabble.com/Tapestry---User-f340.html
我不认为我可以向像这样的高调应用程序推荐测试版解决方案,但我也倾向于 T4,因为升级路径将在 T5 发布后关闭。 你同意?
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 非常优雅且使用起来很有趣,所以如果您在计划发布之前还有一些时间,那就去吧!
I'm currently using T5 in a project that is about to go live with the beta version, which is not exactly what we intended - we thought the first release would be out by now. T5, IMHO, is stable and mature, apart from a few rough edges and a rather small community.
If you're only getting started, I wouldn't bother using T4. I found T5 quite elegant and fun to work with, so if you have some time before the planned release, go for it!
Tapestry 5 太糟糕了。 生产力直线下降,存在内存泄漏。 它对堆大小和 GC 中较旧的对象代的分析非常糟糕。 由于到处都使用会话,它无法针对大量用户进行扩展。 它的文档非常糟糕,也没有得到极少数提交者的支持。 代码库质量非常低,代码看起来不标准。 我会像躲避瘟疫一样避开它。 我在一个非常引人注目的项目上使用了它 6 个月,该项目最终以数百万英镑的费用被取消。 T5 对此不负有责任,但通过将开发人员的生产力降至零来发挥自己的作用。
有了 wicket 和 grails、Spring MVC 和 Struts2,你到底为什么要在这个运行的框架上冒任何风险呢?
Tapestry 5 is awful. Productivity plummets, there are memory leaks. It profiles very badly for heap size and the older object generations in GC. It does not scale for large numbers of users due to use of sessions everywhere. It is very badly documented, poorly suppurted with a tiny number of commiters. The code base quality is very low with non standard looking code. I woudl avoid it like the plague. I worked with it for 6 months on a very high profile project that was eventually canned at the expense of multi million pounds. T5 was not responsible for that but had its part to play by bringing developer productivity to zero.
With wicket and grails and Spring MVC and Struts2 why on earth woudl you risk anything on this also ran framework?