最好的Web开发框架大全

14年前
PHP

Yiiframework : Yii is a high-performance component-based PHP framework for developing large-scale Web applications. Yii enables maximum reusability in Web programming and can significantly accelerate the development process. The name Yii (pronounced as Yee or [ji:]) stands for easy, efficient and extensible.

Codeigniter : CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you’re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks.

Cakephp : CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code.

Phpdevshell : PHPDevShell would typically be used to develop general web based applications. It is not a CMS (Content Management System) or an MVC Framework nor does it pretend to be one of those solutions. PHPDevShell is essentially a ready made GUI application where you can immediately start with the development work that matters most, your application. For security and usability it already provides you with user registration and management, role management, group management, access rights security, system settings, templates, control panels, cronjob management, menu management, plugin management etc.

Akelos : Akelos PHP Framework is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to: Write views using Ajax easily, Control requests and responses through a controller, Manage internationalized applications, Communicate models and the database using simple conventions.

Symfony : Symfony is a full-stack framework, a library of cohesive classes written in PHP. It provides an architecture, components and tools for developers to build complex web applications faster. Choosing symfony allows you to release your applications earlier, host and scale them without problem, and maintain them over time with no surprise. Symfony is based on experience. It does not reinvent the wheel: it uses most of the best practices of web development and integrates some great third-party libraries.

Pradosoft : PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented. I love its component-based structure. It let you separate the html view apart from the server process. Very well supported and alive.

Zend : Extending the art & spirit of PHP, Zend Framework is based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.

Seagullproject : Seagull is a mature OOP framework for building web, command line and GUI applications. Licensed under BSD, the project allows PHP developers to easily integrate and manage code resources, and build complex applications quickly.

Zoopframework : It predates the recent proliferation of PHP frameworks, based on solid MVC principles, including separation of display, logic, and data layers. It’s designed to be efficient, modular, and extensible, striking a balance between lightweight and fully-featured.

Phpmvc : php.MVC implements the Model-View-Controller (MVC) design pattern, and encourages application design based on the Model 2 paradigm. This design model allows the Web page or other contents (View) to be mostly separated from the internal application code (Controller/Model), making it easier for designers and programmers to focus on their respective areas of expertise.  The framework provides a single entry point Controller. The Controller is responsible for allocating HTTP requests to the appropriate Action handler (Model) based on configuration mappings.

AjaxAC : AjaxAC is an open-source framework written in PHP, used to develop/create/generate AJAX applications. The fundamental idea behind AJAX (Asynchronous JavaScript And XML) is to use the XMLHttpRequest object to change a web page state using background HTTP sub-requests without reloading the entire page. It is released under the terms of the Apache License v2.0.

Qcodo : The Qcodo Development Framework is an open-source PHP framework that focuses on freeing developers from unnecessary tedious, mundane coding.  Qcodo enables some the most highly trafficked websites and data intensive applications for companies like Lockheed Martin and Hewlett-Packard, large organizations like Stanford School of Medicine, Academy of Country Music and NASA, and startups like Chess.com and Uloop.

Maintainable : It is a based around the Model-View-Controller pattern and is modeled after Ruby on Rails. Like any framework, it’s certainly not appropriate for every application. The framework provides a comprehensive test suite to get you on the right track setting up tests.

Evocore : The evoCore framework distinguishes itself by the fact it doesn’t require PHP 5 to work! As of early 2010, evoCore will still work perfectly under PHP 4 in order to guarantee your applications can be hosted on virtually any web hosting provider, including low cost cheap web hosting plans.

Phocoa : PHOCOA’s primary intent is to make web application development in PHP easier, faster, and higher-quality. The framework handles most of the “dirty work” of web application development by providing infrastructure for all of the common tasks. Most of your time writing PHOCOA apps will be spent designing your GUI and writing application-specific logic rather than dealing with form data, database calls, etc.

Kohana : Kohana is an elegant HMVC PHP5 framework that provides a rich set of components for building web applications. It requires very little configuration, fully supports UTF-8 and i18n, and provides many of the tools that a developer needs within a highly flexible system. The integrated class auto-loading, cascading filesystem, highly consistent API, and easy integration with vendor libraries make it viable for any project, large or small.

Limb : Limb3 is an OpenSource(LGPL) Library of Interdependent Modules and Blocks mostly aimed for rapid web application prototyping and development with PHP5. Limb3 consists of many reusable components and you can cherry pick the ones you need and combine them with other frameworks and libraries(e.g. ZendFramework, Symfony, PEAR, etc)

Solarphp : PHP 5 framework for web application development. It is fully name-spaced and uses enterprise application design patterns, with built-in support for localization and configuration at all levels. The code base itself is easy to comprehend, adheres to well-documented naming conventions, and exhibits strong conceptual integrity.

Blueshoes : BlueShoes is a comprehensive application framework and content management system. It is written in the widely used web-scripting language PHP.  BlueShoes offers excellent support for the popular MySQL database as well as support for Oracle and MSSQL.

CSS

52framework : 52framework contains all the header, nav, section, article, footer tags which are the basic html5 tags, with full documentation and growing community this frameworks looks promising. Features like rounded corners, text-shadow, box-shadow, html5 markup, grid system, css reset are just a small list, this framework is worth a look if you want to dive in HTML5 and CSS3.

Elements : Elements is a down to earth CSS framework. It was built to help designers write CSS faster and more efficient. Elements goes beyond being just a framework, it’s its own project workflow. It has everything you need to complete your project, which makes you and your clients happy.

Yaml : YAML is an (X)HTML/CSS framework for creating modern and flexible floated layouts. The structure is extremely versatile in its programming and absolutely accessible for end users. Focussed on web standards and accessibility, Slim framework core with numerous extensions, Robust, flexible layout concept, Design patterns for typography, forms, mircoformats, rtl support ect and Complete multilingual documentation.

YUI : YUI Grids CSS offers four preset page widths, six preset templates, and the ability to stack and nest subdivided regions of two, three, or four columns. The 4kb file provides over 1000 page layout combinations. Other features include: Supports fluid-width (100%) layouts as well as preset fixed-width layouts at 750px, 950px, and 974px, and the ability to easily customize to any number, Supports easy customization of the width for fixed-width layouts, Flexible in response to user initiated font-size adjustments, Template columns are source-order independent, so you can put your most important content first in the markup layer for improved accessibility and search engine optimization (SEO), Self-clearing footer. No matter which column is longer, the footer stays at the bottom, Layouts less than 100% are automatically centered.

Blueprintcss : Blueprint is a CSS framework, which aims to cut down on your development time. It gives you a solid foundation to build your project on top of, with an easy-to-use grid, sensible typography, useful plugins, and even a stylesheet for printing.

Css-Boilerplate : Thi Framework provides the bare essentials to begin any project. It will be lite and strive not to suggest un-semantic naming conventions. You’re the designer and your craft is important.

Tripoli : Tripoli is a generic CSS standard for HTML rendering. By resetting and rebuilding browser standards, Tripoli forms a stable, cross-browser rendering foundation for your web projects.  Tripoli completly resets all default browser standards and rebuilds them quietly with modern web development in mind. Tripoli is not a CSS framework. It doesn’t tell you how to code your web site. Instead, it forms a solid HTML rendering engine and a base for creating dynamic layouts without interfering with typographic measurements.

ContentWithStyle : is a CSS framework that aims to not only give you a framework for your overall design, but also for typography and more in-depth design elements. There are six different layouts included with CWS, including vertical navigation with one content column, vertical navigation with two content columns, and horizontal navigation with two columns of content.  CWS also focuses on semantic markup, including naming conventions for the basic building blocks of the six layouts. It changes the structure of how pages are laid out to make more important content show up first in the code (header, main content, sub content, local nav, etc.)

960.gs : 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.

Typogridphy : Based on the popular 960 Grid System, Typogridphy allows you to create grid layouts which are versatile and great looking. Typogridphy is made of fully validate, semantic and strict xHTML, and validate CSS.

Sencss : SenCSs isn’t a framework like other CSS frameworks. It doesn’t include a layout system littered with silly classes and pre-set grids, so what does SenCSs do for you? SenCSs does everything else: baseline, fonts, paddings, margins, tables, lists, headers, blockquotes, forms and more.

Bluetrip : BlueTrip gives you a sensible set of styles and a common way to build a website so that you can skip past the grunt work and get right to designing.

Emastic : Emastic is a CSS Framework, it’s continuing mission: to explore a strange new world, to seek out new life and new web spaces, to boldly go where no CSS Framework has gone before. Few Features : Lightweight (compressed weight less then 4kb), Personalized width of the page in (em,px,%), Use of fixed and fluid columns in the grid, Elastic Layout with “em”s, Baseline Grid Typography etc.

Malo : Malo is ultra small css library for building web sites.  It is meant to be structural base for small or medium web sites.  Malo derives from it’s bigger brother Emastic CSS Framework. Some Features : Ultra small (compressed is 0,25 kb or 8 lines of CSS! ), Personalized width of the page in (%, px, em), Super flexible and Easy to use.

Elasticss : A simple css framework to layout web-based interfaces, based on the printed layout techniques of 4 columns but with capabilities to unlimited column combinations. and capacity to make elastic, fixed and liquid layout easily.

The Golden Grid : CSS Framework integrating various CSS construction techniques like floats, absolute positioning, complete freedom of your default width, extra usability with em based grid system plus possibility of fluid columns and extra % based grid system and many more features.

1kbgrid : CSS grid (loosely based on Nathan Smith’s 960 Grid System). Its mission is to be lightweight. And, as I’ll show in part 2, it can be used to streamline page templates for content management. All this in just one measly kilobyte (actually, 662 bytes, but who’s counting).

Fluid960gs : The Fluid 960 Grid System templates have been built upon the work of Nathan Smith and his 960 Grid System using effects from the MooTools and jQuery JavaScript libraries. I think the fluid 960 Grid System is awesome, especially how it fills the browser no matter what the width of your monitor.

Logicss : The Logic CSS framework is a collection of CSS files and a toolset designed to cut development times for web-standards compliant web layouts and templates. Main features:  Common cross-browser rendering behavior approach (not a reset), Beautiful font stacks, Typography with text resizing capabilities and vertical baseline/rhythm, Three totally flexible layout grid templates, customizable with the toolset, Elastic layout using EMs, Liquid layout with percentages, Fixed layout using pixel dimensions.

JavaScript

JavaScriptMVC : JavaScriptMVC is an open-source framework containing the best ideas in enterprise JavaScript development. It guides you to successfully completed projects by promoting best practices, maintainability, and convention over configuration.

jQuery : jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.

Mootools : MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.

Prototypejs : Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere.

Themeroller : jQuery UI is an open source library of interface components — interactions, full-featured widgets, and animation effects — based on the stellar jQuery javascript library. Each component is built according to jQuery’s event-driven architecture  (find something, manipulate it) and is themeable, making it easy for developers of any skill level to integrate and extend into their own code.

Dojotoolkit : Dojo saves you time, delivers powerful performance, and scales with your development process. It’s the toolkit experienced developers turn to for building great web experiences. Dojo’s powerful, lightweight core makes common tasks quicker and easier. Animate elements, manipulate the DOM, and query with easy CSS syntax, all without sacrificing performance.

Script.aculo.us : script.aculo.us provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly. It provides an visual effects engine, a drag and drop library (including sortable lists), a couple of controls (Ajax-based autocompletion, in-place editing, sliders) and more.

Ext JS : Ext JS is a cross-browser JavaScript library for building rich internet applications. It includes: High performance, customizable UI widgets, Well designed and extensible Component model, An intuitive, easy to use API.

Uize : UIZE has lots of built-in widgets: slideshow, calendar, date picker, slider, marquee, dialog, menu, mag view, etc. UIZE offers many powerful features: JavaScript Animation, JavaScript Inheritance, JavaScript Events, JavaScript Modules, JavaScript Libraries, JavaScript Templates, JavaScript Widgets, JavaScript Localization, JavaScript Documentation, JavaScript Code Compression, JavaScript Build Scripts.

YUI : The YUI Library is a set of utilities and controls, written with JavaScript and CSS, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. YUI is available under a BSD license and is free for all uses.

Archetypejs : Archetype provides a wide range of possibility and options, but the framework uses a convention over configuration system : use the convention, it’s so easy to use! Want more? Go to the configuration.

Qooxdoo : qooxdoo is a comprehensive and innovative framework for creating rich internet applications (RIAs). Leveraging object-oriented JavaScript allows developers to build impressive cross-browser applications. No HTML, CSS nor DOM knowledge is needed.

Spry : The Spry framework for Ajax is a JavaScript library that provides easy-to-use yet powerful Ajax functionality that allows designers to build pages that provide a richer experience for their users. It is designed to take the complexity out of Ajax and allow designers to easily create Web 2.0 pages.

Rico : Rico provides one of the simplest interfaces for enabling your web application to support drag and drop. Just register any HTML element or JavaScript object as a draggable and any other HTML element or JavaScript object as a drop zone and Rico handles the rest.

Sproutcore : SproutCore is an HTML5 application framework for building responsive, desktop-caliber apps in any modern web browser, without plugins. It has more in common with Cocoa or .NET than jQuery or MooTools. Because of that, SproutCore will change the way you think about building web apps.

Midorijs : midori is a light-weight JavaScript framework. At it’s uncompressed state, it weighs in at only 45 KB (in comparison – jQuery in it’s minified state is 54KB). But just because its light doesn’t mean it’s lacking in complex JavaScript functions – midori offers common functions you’d expect from an JavaScript framework such as cross-browser Ajax functions, the ability to use CSS selectors (as opposed to midori-specific syntax) for matching elements in the DOM, and animated effects.

Simplejs : SimpleJS is a simple and lightweight, but feature-packed JavaScript framework with Ajax helper functions and animation effects. It uses a “plugins” system much like jQuery and MooTools to extend the framework. It’s the perfect solution for developers who don’t need much outside of basic Ajax functions and effects.

Fleegix : Fleegix.js has an excellent “events system” that helps you listen, manipulate, and fire off DOM event (such as mouseover’s, onclick, etc.). It includes a function for serializing JavaScript objects into JSON format (fleegix.jason.serialize) and – because every other JavaScript framework has it – an awesome effects module to help you add rich, animated JavaScript animation onto your web page or web application.

Java

Struts : Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.

JavaServerFaces : JavaServer Faces (JSF) is a java web application framework established the standard for development of server-side user interfaces for Java EE application. The JSF APIs are designed to leverage tools that would make we application development increasingly easier. It uses a component based approach. JSF uses JavaServer Pages JSP as its display technology, but it can also support other technologies such as XUL and Facelets . The UI is saved on clients request for new page and restored when the response is returned.

Spring : Spring Framework addresses the enterprise concern of taking the classes, objects, and services that are to compose an application, by providing a formalized means of composing these various disparate components into a fully working application ready for use. The Spring Framework takes best practices that have been proven over the years in numerous applications and formalized as design patterns, and actually codifies these patterns as first class objects that you as an architect and developer can take away and integrate into your own application(s). This is a Very Good Thing Indeed as attested to by the numerous organizations and institutions that have used the Spring Framework to engineer robust, maintainable applications.

Wicket : Apache Wicket is a lightweight component based web application framework for the Java programming language. Wicket is patterned after stateful GUI frameworks. It features trees of components that use listener delegates to react to HTTP requests against links and forms. With XHTML for templates it separate presentation and business logic and allows templates to be edited with conventional WYSIWYG design tools. Within the framework each component is backed by its own model that represents the state of the components. Wicket might be the best framework for making use of your developers resources.

Stripesframework : Stripes is a presentation framework for building web applications using the latest Java technologies. The main driver behind Stripes is that web application development in Java is just too much work! It seems like every existing framework requires gobs of configuration.

Tapestry : Apache Tapestry is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.

Rife : is a full-stack web application framework with tools and APIs to implement most common web features. Each of its toolkits is usable by itself and together they offer powerful integrated features that boost your productivity. RIFE ensures that every declaration and definition is handled in one place in the code. This simplifies the developer’s task by reducing code replication, enforcing consistency, and easing maintenance.

OpenXava :  is a productive way for creating AJAX Enterprise Applications with Java. Indeed, it’s faster developing with OpenXava than with Ruby On Rails, Spring MVC, or any other MVC framework. This is because in OpenXava you only have to write the Model. The Controllers are reused, and the View are generated automatically.

SeamFramework : Seam is a powerful open source development platform for building rich Internet applications in Java. Seam integrates technologies such as Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence (JPA), Enterprise Java Beans (EJB 3.0) and Business Process Management (BPM) into a unified full-stack solution, complete with sophisticated tooling.

Google Web Toolkit : GWT is a Java software development framework that allows web developers to build and maintain complex Javascript front-end applications in Java. The web development framework makes it easy for developers to write AJAX applications like Google Maps and Gmail. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files. GWT focuses on reusable, efficient solutions for asynchronous remote procedure calls, Internationalization, history management, bookmarking and cross-browser portability. It allows developers to develop and debug AJAX applications in the Java language with any Java development tools of their choice.  However, due to lack of modularity in JavaScript, sharing, testing, and reusing AJAX components becomes a hassle.

Python

Web2py : Web2py Enterprise Web Framework  Free and open source full-stack enterprise framework for agile development of fast, scalable, secure and portable database-driven web-based applications. Written and programmable in Python.

Djangoproject : large collection of apps (= plugins, in other framework terminology) available for Django. The admin app gets most of the attention, but it’s way more than that. For example, there’s an app for built-in CSRF protecion. There’s one for a comment system on any type of object, and another one for threaded comments. Generic tagging and voting apps. Instantly generated RSS (yeah, I know Pylons has this too, but it’s built into the framework and not a 3rd-party add-on) or Sitemaps. There’s an OpenID plugin. A way to automatically generate robots.txt files. ( Django lets you use one user model for all components.)

Appengine framework : AppEngine Framework – easy for use Python web framework. Designed for use on Google App Engine servers. Project features : flexible administration interface for web site, Maximum use already exists good components, simple project structure with plugged applications (like Django), easy configuration and urls map joined in one yaml file, used Django templates (included in Google Ap Engine by default), include useful and flexible reusable applications.

Pylonshq : Pylons combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python web framework. It’s also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility — but only if you need it. Out of the box, Pylons aims to make web development fast, flexible and easy.

Cherrypy : CherryPy is a pythonic, object-oriented HTTP framework. CherryPy allows developers to build web applications in much the same way they would build any other object-oriented Python program. This results in smaller source code developed in less time.

Turbogears : TurboGears is a Python web application framework consisting of several WSGI components such as Pylons, SQLAlchemy, Genshi and Repoze.  TurboGears is designed around the model-view-controller architecture, much like Struts or Ruby on Rails, designed to make rapid web application development in Python easier and more maintainable.

Mako : Mako is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako’s syntax and API borrows from the best ideas of many others, including Django templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server Page) language, which refines the familiar ideas of componentized layout and inheritance to produce one of the most straightforward and flexible models available, while also maintaining close ties to Python calling and scoping semantics.

Ruby

RubyOnRails : Rails is the most well thought-out web development framework. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days. It has had a huge effect both in and outside the Ruby community… Rails has become a standard to which even well-established tools are comparing themselves to.

Merb : Merb is an MVC framework that is ORM-agnostic, JavaScript library agnostic, and template language agnostic, preferring plugins that add in support for a particular feature rather than trying to produce a monolithic library with everything in the core.

Webby : Webby is a fantastic little website management system. It would be called a content management system if it were a bigger kid. But, it’s just a runt with a special knack for transforming text. And that’s really all it does – manages the legwork of turning text into something else, an ASCII Alchemist if you will.

Padrinorb : Padrino is a ruby framework built upon the excellent Sinatra Microframework. Sinatra is a DSL for quickly creating simple web applications in Ruby. Padrino was created to make it fun and easy to code more advanced web applications while still adhering to the spirit that makes Sinatra great!

Perl

Catalyst : is an open source web application framework written in Perl, that closely follows the model-view-controller (MVC) architecture, and supports a number of experimental web patterns. It is written using Moose, a modern object system for Perl. It’s heavily inspired by such frameworks as Ruby on Rails, Maypole, and Spring.

Mason : Mason is a powerful Perl-based web site development and delivery engine. With Mason you can embed Perl code in your HTML and construct pages from shared, reusable components.  Mason solves the common problems of site development: caching, debugging, templating, maintaining development and production sites, and more.

这么多框架哪些你有用过呢?