如何快速构建Web应用程序?

5 投票
8 回答
4490 浏览
提问于 2025-04-15 14:28

要构建一个网络应用程序,目前有哪些开源的网络应用框架或技术呢?这些框架或技术应该满足以下几点:

  • 学习起来比较快。
  • 使用起来简单方便。
  • 有一些小工具可以帮助快速开发(从图形用户界面的角度来看)。
  • 能够和数据库连接。

我希望这个网络应用能和一个Java客户端进行通信。 我在服务器端不一定要用Java,可以尝试任何好的快速应用框架。
总的来说,我在服务器端的工作不多,所以对相关的工具和技术不太熟悉。
你有什么建议吗?
任何意见都非常欢迎!...

8 个回答

4

你已经给你的问题加上了“java”、“php”、“python”和“ruby-on-rails”的标签,所以多了解这些工具可能会对你解决问题有帮助。

不过,我觉得快速构建一个应用程序几乎从来不是正确的目标。通常,你想要做的是构建一个可以快速维护的应用程序,也就是说,能够在时间上以最低的整体开发成本进行维护。

8

Django 有几个很不错的“快速”特点,比如自动生成的管理界面、内置的ORM(这能减少开发时间,因为你不需要写SQL和其他一些代码),还有一个拥有多个可重用应用程序的大社区。

不过,Django(或者Ruby on Rails,或者其他任何MVC框架)在你刚开始学习的时候,学习曲线会比较陡峭。Django(和RoR)有很多“关注点分离”的设计,如果你不习惯这种环境,学习框架会花费一些时间。如果你使用ORM,这也是需要适应的,当然,任何框架都有API需要学习。

而PHP在代码放置和网页构成方面相对直观。它基本上允许你随意放置代码,所以一开始可能会更快。但最终虽然速度快,最终产品可能会比较杂乱,可能还需要后期重构。

这就涉及到框架的用途问题。如果是为了一个爱好网站,选择简单的(PHP)就好;否则,你可能想考虑一个支持良好的MVC框架。

正如其他人提到的,jquery可能是现成的GUI组件的最佳选择。

编辑 -- 显然现在Django(从1.1开始)有一套非常棒的单元测试工具,这些工具是捆绑在一起的。比如专门为Django设计的扩展TestCase、一个测试客户端(你可以在没有实际客户端或服务器的情况下进行页面请求测试)、一个工具可以告诉你项目的测试覆盖率百分比,还有其他一些很酷的东西。

8

这个问题没有一个“正确”的答案。作为一个有十多年经验的Java程序员,当被问到这个问题时,我通常的回答是……PHP。原因有很多:

  • 资源使用少(比如Apache和nginx);
  • 主机费用便宜;
  • 入门门槛非常低;
  • 它更专注于网页开发,而不是像Java那样的通用语言;
  • PHP脚本在请求之间不会保持状态(不像Java的servlet),这让它们更宽容,不容易出现内存泄漏等问题;
  • 没有部署步骤(像Python、Perl等)。我认为这是动态脚本语言最好的地方。只需保存文件,然后在浏览器中点击刷新;
  • 虽然PHP的语法和其他方面可能不太一致,但它已经成熟,并且被一些大型网站使用(例如Facebook、Yahoo、Flickr、Wikipedia);
  • PHP绝对是最受欢迎的网页开发语言。
  • 小部件可以通过各种JavaScript框架来实现,比如YUIExtJSSmartClientjQuery UI等;
  • PHP与MySQL配合得很好。

不过,很多这些优点也适用于其他语言(比如Python/Django)。

我认为你不一定需要一个框架来使用PHP,但如果需要的话,可以考虑以下几个:

  • Kohana:它是更现代的版本,类似于更流行的CodeIgniter
  • Zend Framework:它是模块化的,你可以根据需要使用它的部分或全部;
  • Smarty:这是一个强大的模板系统。

撰写回答