was*_*ans 24 java wicket playframework
我是Java Web开发的新手,我想选择一个好的Java Web框架来学习.我发现了一些关于Apache Wicket框架和Playframework的非常好的回声.我决定去找其中一个; 但我需要选择;-)
那么,选择什么以及为什么?
编辑
我的要求:
DaG*_*RRz 51
Wicket和Play是两种截然不同的框架.
Play是一个MVC框架,您可能会对Django感到熟悉.像Django一样,它提供的不仅仅是Web位,而且提供了基于JPA的ORM框架,脚手架工具以及可能还有更多(我没有实际经验).他们在他们的网站上有一个很棒的教程,你可能会看到那里的Django相似之处.
Wicket是一个面向组件的框架(如JSF和Tapestry),并且主要关注面向对象的设计.它本身也是MVC,但页面通常是通过组合自包含和可重用的组件(View和Controller,可插拔模型)构建的.这些组件可以通过标准继承和组合进行扩展,并且标记与代码非常清晰地分开并且易于修改.
检票可以自动管理事件的回调和状态,这样你就不会有想到的URL,在所有的,不管你的网页是多么复杂.一个可点击按钮的快速示例,当点击它时非常有用(非常有用):
// In a page constructor
add(new Link("link") {
public void onClick() {
setVisible(false);
}
});
Run Code Online (Sandbox Code Playgroud)
我想强调一点,你不必使用服务器端状态,并且如果你愿意的话,很可能将Wicket用作"普通"MVC框架(并且是的,它很容易得到漂亮的URL).
Wicket项目仅关注核心Web框架,并且没有额外的"细节",例如特殊的ORM支持或脚手架.我个人同意Wicket项目的理念,但是对于进入框架的新开发人员来说,做一些"简单"的东西,比如可排序和可分页的表格可能有点令人生畏,因为预构建的组件有点稀缺.Wicket的学习和生产力曲线可能有点陡峭,但好处是,一旦你制作了符合你需求的组件(和"行为" - 更长的故事),它们就是非常可重复使用的.
虽然我个人喜欢Wicket,但我有一种预感,你可能会玩Play最好.你的问题表明你想要一个可以访问Java库的"Django",在这种情况下,我认为Play(或其他一些Java MVC)是安全的选择.另一方面,也许你一直在使用Django,因为你不知道Wicket有多么强大.;)如果您提供有关项目的更多信息,我们将能够提供更合格的回复.
作为一个侧节点:由于Play不是很主流(至少目前为止),我还会考虑Grails,它具有强大的商业支持和更多开箱即用的模块.
Dav*_*low 18
玩!适用于来自Python和PHP等脚本语言的开发人员.它提供了自己的构建系统和管理脚本,有点像Rails或Django.现有的构建工具和基础结构(如通常用于Java-land中的依赖关系管理的Maven存储库)将无法与Play良好集成.
对于来自Java桌面开发的开发人员来说,Wicket会更加舒适.它不提供特殊工具,因此如果您有偏好,将更容易集成到特定的构建工具中(并且有许多构建工具提供Java生态系统中可用的自动依赖项检索等功能.)
所以这两个选项之间存在很大差异:)如果你能找出最有利于你的经历,那么决定应该很清楚.
如果您的系统仅适用于Web层,请播放!框架非常合适.But如果您的数据模型不仅仅适用于Web,可能exported as REST by Spring with CXF并由GWT或其他Web服务使用,并且您希望确保Web层的一致状态,Wicket(使用Spring/hibernate)是一个不错的选择.
我对Play的感觉不太好!是缓存机制.您必须手动命名/插入/检索/无效/清除缓存.这将使整个架构容易出错.使用spring/JPA(hibernate)/ ehcache(或其他提供程序)的wicket时,可以为上层(web/REST ...)定义一致的缓存/ dao层,这不会强加状态不一致.
wicket的另一个优点是它具有Java支持的内置AJAX支持.虽然这些AJAX的状态是在服务器端维护的(可能有点迟钝),但如果你不想学习JavaScript,你仍然可以构建一个"不那么糟糕"的AJAX页面.
随着玩!,如果你不了解JS,并且不想学习它,不想操纵繁琐的DOM,你只能建立一个"普通"的网站.OTOH,如果你熟悉JS/jQuery,你可以选择Play!.
| 归档时间: |
|
| 查看次数: |
10582 次 |
| 最近记录: |