我已经阅读了很多有关Apache Wicket的好东西,但是很难找到坏的东西。由于没有框架始终是解决每个问题的正确解决方案,因此Wicket的缺点是什么?在哪种类型的项目中,您将不使用它?
也许不是一个很普遍的问题,但我认为是一个重要的问题。
Wicket需要一些非常扎实的编码实践。例如,如果将IModel存储在组件中,但不将其用作组件模型,则它不会自动分离,并且会占用会话大小。大多数Java用户都不习惯这种管理。
Wicket已启用,并经常更新。很好,但是每次更新到新版本时,我都意识到我需要做很多重构才能转向更好的编码实践(1.4引入了泛型,1.4.x引入了onConfigure(),1.5具有一些不同的资源策略)。再说一次,所有的更新都是很好的更新,并且将您推向了更好的代码,但是我很羡慕现在而不是两年前加入Wicket的人们:
将以上两者结合起来,我觉得一旦您超越了基本功能集,Wicket就会具备一些真正的编程技能。如果您是一名优秀的开发人员,您一定会喜欢Wicket可以为您做的事情(并且JavaDoc中很好地记录了代码)。如果您是初学者,那么随着学习的深入,您可能会感到沮丧。
[此外,虽然它在Google App Engine上可以“运行”,但我发现了一些问题使其无法在那种环境下正常工作。这是一个不同的讨论。
我的免责声明是我没有使用其他任何东西,所以也许其他框架更糟。
在现实世界中,Wicket的开发速度非常慢。如果您没有像罐装工厂中的工厂工人那样使用预制罐头的组件,那么生产力就会停下来,直到您可以制作新的面板为止。代码复杂度增加,并且很难读取代码,因为您实际上使必须编写的代码行加倍。您一直在寻找如何在互联网和书籍中做一些琐碎的事情。例如,一个简单的重置按钮是一行HTML,但是在Wicket中,它需要Google搜索如何执行此操作。它使简单的事情变得困难而使困难的事情变得不可能。
多个答案声明检票口为无法动态创建组件树
我发现检票口确实有用,但是到目前为止,这将是我发现的缺点:
在这里查看我的答案: