可供选择的32个Web开发框架

13年前
Ruby on Rails

Ruby on Rails是一个 Web 应用程序框架,是一个相对较新的 Web 应用程序框架,构建在 Ruby 语言之上。它被宣传为现有企业框架的一个替代,而它的目标,简而言之,就是让生活,至少是 Web 开发方面的生活,变得更轻松。    J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性能高可靠性以及可扩展性的应用的需求。    Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。     Ruby on Rails和 J2EE 堆栈的比较   可以看到,Rails 堆栈和构成普通的基于 J2EE 的 Web 应用程序的组件之间的基本区别很小。两者都有用来执行应用程序代码的容器;都有帮助分离应用程序的模型、视图和控件的 MVC 框架;以及持久存储数据的机制。

Django

Django框架的核心包括:一个 面向对象 的映射器,用作数据模型(以Python类的形式定义)和关联性数据库间的媒介;一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;以及一个模板系统。

核心框架中还包括:

  • 一个轻量级的、独立的Web服务器,用于开发和测试。
  • 一个表单序列化及验证系统,用于HTML表单和适于数据库存储的数据之间的转换。
  • 一个缓存框架,并有几种缓存方式可供选择。
  • 中间件支持,允许对请求处理的各个阶段进行干涉。
  • 内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。
  • 一个序列化系统,能够生成或读取采用XML或JSON表示的Django模型实例。
  • 一个用于扩展模板引擎的能力的系统。

Django 包含了很多应用在它的"contrib"包中,这些包括:

  • 一个可扩展的认证系统
  • 动态站点管理页面
  • 一组产生 RSS 和 Atom 的工具
  • 一个灵活的评论系统
  • 产生Google 站点地图 (Google Sitemaps)的工具
  • 防止跨站请求伪造(cross-site request forgery)的工具
  • 一套支持轻量级标记语言(Textile和Markdown)的模板库
  • 一套协助创建地理信息系统(GIS)的基础框架

Drupal Drupal是一个开源的内容管理系统(CMS) 平台,它是用PHP写成的。主要用于构造提供多种功能和服务的动态网站,这些功能包括用户管理(UserAdministration)、发布工作流 (Publishing Workflow)、讨论、新闻聚合(NewsAggregation)、元数据(Metadata)操作和用于内容共享的XML发布。Drupal有一 个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛、投票 等模块。并且Drupal模块的下载、安装、定制非常方便。

CakePHP

CakePHP是一个开源的PHP on rails的full-stack framework。最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。    为什么是CakePHP?  CakePHP有多个特点,这些特点让CakePHP成为了快速开发框架中的佼佼者之一。       1.活跃友好的社区       2.灵活的许可协议(Licensing)       3.兼容PHP4和PHP5       4.数据库交互和简单查询的集成       5.应用程序Scaffolding       6.MVC体系结构       7.友好的表现形式,自定义的URL的请求分配器(Request dispatcher)       8.内置验证机制       9.快速灵活的模版(PHP语法,利用helper)      10.AJAX,JavaScript,HTML Form以及更多的View Helper..      11.安全,对话(Session),请求处理组件(Request Handling Components)      12.灵活的ACL机制      13.数据的清理(Data Sanitization)      14.灵活的视图缓存(Flexible View Caching)      15.可在任何web站点的子目录里工作,不需要改变Apache配置

CodeIgniter

CodeIgniter 是一个简单快速的PHP MVC 框架。EllisLab 的工作人员发布了 CodeIgniter。许多企业尝试体验过所有 PHP MVC 框架之后,CodeIgniter 都成为赢家,主要是由于它为组织提供了足够的自由支持,允许开发人员更迅速地工作。

自由意味着使用 CodeIgniter 时,您不必以某种方式命名数据库表,也不必根据表命名模型。这使 CodeIgniter 成为重构遗留 PHP 应用程序的理想选择,在此类遗留应用程序中,可能存在需要移植的所有奇怪的结构。



PHP Frameworks

DooPHP: DooPHP是一个用于开发高性能Web应用程序的PHP框架。它主要关注7个方面的特性:MVC,REST,URI路由,ORM,模板引擎,易于使用和 性能。该框架采用松耦合设计,方便开发人员修改和增加新功能。开发人员可以使用它来开发稳定快速的Web 2.0 应用程序。 DooPHP 的功能也是非常丰富的,支持一般Web框架具备的功能,例如MVC框架、RESTful API、REST 客户端、URL路由、ORM映射工具、模型生成器以及 HTTP摘要认证,同时还提供一个灵活的模板系统、日志工具以及性能测试工具。

Horde: primed for use as an email client and groupware, comes with a modern library and a complete application stack.

Joomla!: Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发,可运行在Linux、WindowsMacOS、Solaris等 各种平台上。Joomla!除了具有新闻/文章管理,文档/图片管理,网站布局设置,模板/主题管理等一些基本功能之外。还可通过其提供的上千个插件进行 功能扩展包括:电子商务与购物车引擎,论坛与聊天软件,日历,博客软件,目录分类管理,广告管理系统,电子报,数据收集与报表工具,期刊订阅服务等。

Kajona: PHP5 based it provides a great base for developing hooks and plugins.

Kohana: Kohana 是一款纯 PHP5 的框架,基于 MVC 模式开发, 它的特点就是高安全性,轻量级代码,容易使用。

Lithium: adhering to no nonsense philosophies Lithium wants you to build better applications without sacrificing quality.

Rain Framework:

Rain Framework是一个快速简单的PHP5 MVC框架。该框架让开发者与设计者能够更好的专注于各自的工作,因为该框架的目标是将项目各个层分离。Rain Framework的主要特性有:

  • 快速安装与配置
  • 易于学习
  • 快速并节约内存资源
  • 程序小
  • 安全,数据过虑
  • 有趣,因为宽松的API让开发者可以用自己的风格写代码
  • 可扩展外部程序库
  • 层分离让团队组织更简单
  • 所见即所得,模板基于相对路径
  • 开源社区支持

Symfony: symfony是一个开源的PHP Web框架。基于最佳Web开发实践,已经有多个网站完全采用此框架开发,symfony的目的是加速Web应用的创建与维护。它的特点如下:

  • 简单的模板功能
  • 缓存管理
  • 自定义URLs
  • 搭建了一些基础模块
  • 多语言与I18N支持
  • 采用对象模型与MVC分离
  • Ajax支持
  • 适用于企业应用开发。
  • Yii: a framework that is quickly gaining traction, great for developing Web 2.0 applications.

    Zend Framework: powering some of the world’s most trafficked sites, build applications of any size.

    Java Frameworks

    Apache Click: A free and opensource framework that is built on top of the Java Servlet API.


    AppFuse: Build apps quickly with a large number out-of-the-box features.

    Google Web Toolkit: Develop and maintain complex frontend Javascript applications in Java.

    Play!: inspired by Rails and with scala support, harness the power of Java to build web applications.


    Apache Sling: Bring back the fun to web development in the creation of content centric web applications.


    ZK: code enterprise apps and slick looking user interfaces with no Javascript and little programming.

    Python Frameworks

    CherryPy: wants you to build object orientated applications as you would normally do in Python

    CubicWeb: build applications quickly and efficiently with cubes.

    Flask: a mircoframework which has a very simple core. Developers only add on what is necessary.

    Grok: emphasizes agile web development, sutable for all levels of developers.

    Nagare: a web framework dedicated to application development rather than content publishing.

    Pylons: strongly influenced by Ruby on Rails, pylons gives you a near complete third party stack of schools with which to code.

    web2py: originally a teaching tool, development and easy are key.

    TurboGears: built with a large number of components and libraries, TurboGears attempts to make application developed easy, rapid and maintainable.

    Ruby Frameworks

    Camping: Ruby goodness in less than 4k, fully compatible with Rails if you ever out grow your tent.

    Ramaze: keeping things straight forward and simple

    Sinatra: dependent on the Rack web server interface, very flexible and allows you to create applications quickly.