我是一名java开发人员。我想自己开发一个网站。我想选择一个快速的Web应用程序框架。我有一些春季mvc的经验。现在我想知道我是否应该选择另一个Web框架。这是我想要的清单:
我听说过ruby,python,groovy和scala。我应该将这些包含在我的选择中吗?这需要多少额外的努力?我应该把时间花在这些上还是留在Java世界?请给我一些建议。
非常感谢。
答案 0 :(得分:3)
如果你愿意考虑Python(听起来像你),你应该看看web2py。
设置并尝试它非常容易 - 只需download,解压缩并运行它。它不需要安装或配置,没有依赖性(二进制分发甚至包括它自己的Python解释器),并且包括一个支持SSL的Web服务器,一个关系数据库,一个脚手架应用程序,以及一个基于Web的IDE /管理界面。错误记录和票务系统。它是一个集成良好的全栈框架,具有许多功能,包括缓存,会话管理,国际化,身份验证和基于角色的访问控制,Web服务,Ajax等。
我对Spring MVC并不太熟悉,但我认为你会发现web2py不那么冗长。例如,请参阅this Spring MVC tutorial - 下面是web2py中的等效代码(实际上,web2py代码添加了字段验证,JS日期选择器和图像上传):
from gluon.tools import Crud
db=DAL('sqlite://storage.sqlite')
crud=Crud(globals(), db)
db.define_table('person',
Field('name', required=true'),
Field('birthdate', 'datetime'),
Field('address', 'text'),
Field('image', 'upload'))
def index():
db.person.id.represent=lambda id: A('view', _href=URL('show', args=id))
return dict(people=db(db.person).select(),
new=A('new contact', _href=URL('edit')))
def edit():
row=db.person(request.args(0))
return dict(form=crud.update(db.person, row, next='show/[id]')
def show():
row=db.person(request.args(0)) or redirect(URL('index'))
return dict(form=crud.read(db.person, row),
link=A('edit', _href=URL('edit', args=row.id)))
答案 1 :(得分:2)
Grails。它符合您的经验,并将自己作为快速开发框架。它使用您熟悉的技术(Spring,Hibernate)。 Grails代码是用groovy编写的,Java开发人员可以毫不费力地开始使用它。如果遇到麻烦,你可以回到java。 Grails有一组丰富的插件可以处理非常常见的项目,例如身份验证,排队等。当部署应用程序时,您可以部署战争/耳朵。简而言之,Grails符合您的所有标准。
1)Grails减少了配置 - 它由'约定优于配置'驱动,因此如果您遵循约定,代码将由框架绑定在一起。
2)有许多安全插件,其中一个基于弹簧安全性
3)我不知道你的意思,但如果你的意思是我认为你的意思,你可以在你的模型对象上设置约束来验证数据。此外,grails还有一个单元/集成测试机器
4)Grails域对象默认映射到数据库表。 Grails在封面下使用休眠。您可以在域类中自定义数据库模式 - 如果您熟悉hibernate,那么您将会很好。
基本上,您可以在一个框架中获得经过验证的Java技术的所有好处,使您可以更快地加快速度。
答案 2 :(得分:0)
如果您正在进行Web开发,那么您很可能知道JavaScript。因此,如果您对新框架持开放态度,可以查看Node Express。它的简单性很难超越:
var app = express.createServer();
app.get('/', function (req, res) {
res.send('Hello World');
});
app.listen(3000);
...并且您在端口3000上有一个Web服务器,向访问者说“Hello World”。
Express是Node.js的Web开发框架。您使用JavaScript编写,并且不需要任何Web服务器(如Apache或其他任何东西) - Node 是一个Web服务器。
答案 3 :(得分:0)
如果您同时喜欢语言学习体验,可以试试Scala Lift。 Scala是一种可在Java JVM上运行的可伸缩语言。 Lift是一个非常容易编写代码的框架,只需很少的工作就可以为您提供很多功能。
如果你有空的话,值得一看。
答案 4 :(得分:0)
同样引用python,flask是模块化的,你可以根据需要开始基本和添加扩展。 http://flask.pocoo.org/
希望这有帮助!