首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该选择哪一个web框架?

我应该选择哪一个web框架?
EN

Stack Overflow用户
提问于 2011-02-24 03:11:12
回答 5查看 2.1K关注 0票数 2

我是一个java开发人员。我想自己开发一个网站。我想选择一个快速的web应用程序框架。我对spring有一些经验。现在我想知道我是否应该选择另一个web框架。这是我想要的清单:

  1. 快速发展
  2. 易于保护
  3. 易于验证
  4. 易于与DB(mysql或NoSql)通信

我听说过ruby、python、groovy和scala。我应该把这些纳入我的选择吗?这需要多少额外的努力?我应该把我的时间花在这些上,还是留在Java世界?请给我一些建议。

非常感谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-24 17:42:28

如果您愿意考虑Python (听起来是这样的),您应该查看web2py

  1. 它的主要目标是易用性、快速开发和安全性。
  2. 更多关于安全这里这里的信息
  3. 如果您所说的“易于验证”指的是输入/表单验证,那么它有一个很好的表格和验证系统
  4. 为了方便和可移植的数据库通信,它有一个数据库抽象层,它与SQLite、PostgreSQL、MySQL、Oracle、MSSQL、FireBird、DB2、Informix、Ingres和Google (即BigTable)一起工作,以及对CouchDB的部分支持。

很容易设置并试用它--只要下载,解压缩,并运行它。它不需要安装或配置,没有依赖项(二进制发行版甚至包括自己的Python解释器),还包括一个启用SSL的web服务器、一个关系数据库、一个脚手架应用程序和一个带有错误记录和票务系统的基于web的IDE/管理接口。它是一个集成得很好的全堆栈框架,具有许多特性,包括缓存、会话管理、国际化、身份验证和基于角色的访问控制、web服务、Ajax等。

我不太熟悉Spring,但我认为您会发现web2py不那么冗长。例如,请参见本Spring教程 --下面是web2py中的等效代码(实际上,web2py代码添加了字段验证、JS数据报警器和图像上传):

代码语言:javascript
复制
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)))
票数 3
EN

Stack Overflow用户

发布于 2011-02-24 03:20:47

砂砾。它与您的经验相匹配,并将其本身视为一个快速开发框架。它使用了您熟悉的技术(Spring,Hibernate)。Grails代码是用groovy编写的,Java开发人员应该不难开始使用它。如果您遇到麻烦,您可以回到java。Grails有一组丰富的插件,可以处理非常常见的项,如身份验证、排队等。当部署应用程序时,您可以部署wars/ears。简而言之,Grails符合您的所有标准。

1) Grails减少了配置--它是由“约定而不是配置”驱动的,因此如果您遵循这些约定,代码就会被框架绑定在一起。

2)有许多安全插件,其中一个是基于spring安全的。

3)我不知道你是什么意思,但如果你是我认为你的意思,你可以在你的模型对象上施加约束来验证数据。另外,grails有一个单元/集成测试机器。

4)默认情况下将Grails域对象映射到数据库表。Grails在封面下使用hibernate。您可以在域类中自定义db模式--如果您熟悉hibernate,您会做得很好。

因此,基本上,您可以在一个框架中获得经过验证的java技术的所有好处,这样您就可以更快地运行。

票数 2
EN

Stack Overflow用户

发布于 2011-02-24 03:17:53

如果您正在进行web开发,那么您很可能知道JavaScript。因此,如果您对新框架开放,您可能会看到节点快车。很难克服它的简单性:

代码语言:javascript
复制
var app = express.createServer();

app.get('/', function (req, res) {
    res.send('Hello World');
});

app.listen(3000);

...and你在3000端口上有一个web服务器,上面写着“Hello”给访问者。

Express是一个面向Node.js的web开发框架。您使用JavaScript编写,您不需要任何像Apache之类的web服务器- Node 是一个web服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5099957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档