使用哪个Web应用程序框架与现有数据库配合使用?

3

我的公司想要开始移动Web应用程序开发,作为我们自己的ERP软件的补充。我们对此没有任何专业知识,这就是为什么我必须研究我们将使用哪些工具/框架/语言。

我们已经有了现有的数据库,并希望能够快速构建一个额外的简单Web应用程序,为我们的客户部署一些方便的移动功能。例如,我们想从使我们软件中的日程表可用于移动/平板电脑开始。

我们希望设置如下:

  • 我们在内部托管Web应用程序
  • Web应用程序远程访问客户端的数据库(Advantage Database Server可以通过JSON查询远程访问),也可以是多个客户端的数据库

我们使用Delphi开发桌面软件,因此不是有经验的Web开发人员。框架应满足以下需求:

  • 提供IDE,可能还有其他方便工具
  • 最好学习曲线小
  • 良好的文档/支持
  • 适用于移动Web开发
  • 适用于简单且小型的Web应用程序,不需要开发具有大量功能的Web应用程序(很可能是为了能够执行两个或三个任务)

我们将在未来几年内选择一个方向,因此任何关于该框架持续一段时间的保证也很好。

到目前为止,我已经了解到我们很可能不需要ORM,因为我们肯定不会更改数据库结构以适应Web应用程序。

我的问题是:

我应该仔细研究哪些框架,哪些框架可以被排除?

顺便说一句:我不在寻找设计师框架(如Sencha Touch,JQueryMobile等)的答案。

提前感谢!


2
我不明白“不会改变数据库结构”和“不需要ORM”之间的联系。ORM是一个非常有用的工具,一个好的ORM将与您已经拥有的任何数据库结构一起使用。 - Quentin
我发表了这个声明,是因为我读到某些ORM也需要特定的数据库结构,或者完全处理结构。你的评论仍然让我不知道哪些ORM是好的 :) - Geerten
DBIx::Class 很棒。 - Quentin
3个回答

2
我们使用Delphi开发桌面软件,因此不具备网页开发经验。
如果是这样的话,我认为您正在解决错误的问题:
请雇用一个团队领导来作为第一或第二个项目的合同角色。您需要有一个人在团队中了解所有涉及的技术(HTML、JavaScript、CSS、HTTP、SSL)以及如何适当和安全地使用它们。
让他们确定团队使用的工具-他们将不得不支持团队学习使用它们。
(如果我要命名一个框架,那就是Dancer,因为它符合您的大多数要求)

我们曾经差点招到一个更有经验的人,但最终他婉拒了...所以我们很希望能找到这样的人,但是找到好的人确实很难。除此之外,我们并不完全不了解所涉及的所有技术。然而,我们不是专家,最重要的是,我们还没有关于框架的任何知识。谢谢你提供关于Dancer的建议,我还没有看过它,我会去了解一下。 - Geerten

1

我有使用许多PHP框架的经验(Zend,CakePHP,Kohana,CodeIgniter,Akelos和2个内部解决方案)。此外,我还有一些使用Python的Django框架的经验,并且在PHP Yii框架方面有很多经验,我可以毫不犹豫地推荐Yii。尽管每个强大的框架都有相当大的学习曲线,但我可以说Yii是最容易学习的,而且我在开发中感到最愉快。

  • Yii是一个PHP 5框架,事件驱动,支持回调闭包和其他PHP 5.3特性。
  • 文档非常详细
  • 由于其组件化,非常快速 - 您可以仅使用您需要的几个基本组件,而且它没有像Zend那样有数百个抽象,因此您不会在对象引用中迷失方向
  • 非常友好的社区 - 如果我解释清楚了我的问题,我从未没有得到过答案
  • 您可以使用Active Record ORM模型,但这完全取决于您自己的选择。您可以使用其DAO(基本上是PDO包装器)并编写纯SQL。我很少这样做。在大多数情况下,使用AR可以节省您大量的工作,并且至少在Yii中,它不会介意任何类型的表模式。因此,除了复杂的查询之外,我看不到不使用AR的有效理由。
  • 它是可主题化的,包括简单的视图和小部件/模块 - 我惊讶地发现,通过创建新主题,制作网站的移动版本非常容易。
  • 它具有出色的i18n支持 - 如果您在某个时刻需要它,制作多语言Web应用程序非常容易
  • 针对PHP的Eclipse PDT和Netbeans 7都是非常好的Web开发工具,它们都有一些额外的Yii支持(尽管在它们支持Yii之前,使用它们开发这样的Web应用程序也很容易)。
  • 它使用jQuery作为其核心小部件的JS框架,用于常见任务,但您可以自由选择任何JS框架(您可能永远不会过多地使用大多数移动核心小部件)。

还有很多要说的,但是请前往它的网站查看详情:http://www.yiiframework.com/

无论你选择哪个框架,成功开发一个移动 Web 应用的大部分工作都需要自己来完成。


0

看看web2py,因为它可能是最容易设置、学习和使用的之一。你可以在任何IDE或编辑器中使用它,但它也包括自己的基于Web的IDE和管理界面,用于应用程序管理和基本编辑(请参见演示)。它有很棒的文档,如果你需要任何帮助,那里还有一个非常活跃和响应迅速的邮件列表

它不仅仅是一个ORM,还包括了一个数据库抽象层(DAL),它更接近于SQL并且提供了一些额外的灵活性(它还包括一些脚本来自动生成现有MySQLPostgreSQL数据库表的web2py DAL模型)。它包含jQuery,并且有一个适用于jQuery Mobile的插件

web2py已经存在了大约四年,并且仍在积极开发中,每个月都会发布新版本(但它从一开始就保持了文档API的向后兼容性,并将继续这样做)。

InfoWorld最近对六个Python Web框架进行了评估,其中包括web2py:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接