1 / 29

Comparing Web Frameworks

Comparing Web Frameworks. Dr. Mohammad Iqbal Thanks to ADITYA SENGUPTA. Web Frameworks?. PHP Frameworks Zend CodeIgniter Symfony CakePHP Yii Kohana Drupal * Wordpress * Ruby on Rails Django. Why PHP? Why not PHP?. It’s easy: Easy to learn Easy to run

preston
Télécharger la présentation

Comparing Web Frameworks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comparing Web Frameworks Dr. Mohammad Iqbal Thanks to ADITYA SENGUPTA

  2. Web Frameworks? • PHP Frameworks • Zend • CodeIgniter • Symfony • CakePHP • Yii • Kohana • Drupal* • Wordpress* • Ruby on Rails • Django

  3. Why PHP? Why not PHP? • It’s easy: • Easy to learn • Easy to run • Easy to find PHP developers • 75% of web sites run on PHP • Powerful • Extensible • Open source

  4. Why PHP? Why not PHP? xkcd.com/292 by Randall Munroe

  5. Comparing Frameworks • Default installation as per instructions on the official website of the framework • Except using SQLite as opposed to MySQL as the database engine • Basic website as per the tutorial/getting started document for the framework • Login/Authentication functionality added if not available in the default tutorial • Performance testing for one static page, a large dynamic page and a login page

  6. Functionality Compared License REQUIREMENTS CONSOLE TOOLS Documentation TUTORIALS

  7. Zend Framework • Open source (New BSD License) • Object Oriented • M-V-C Architecture • Requires PHP 5.2.4 or later • Optionally PHPUnit 3.0 • Database agnostic

  8. Zend Framework Provides a console tool (zf) for Rapid Development Automagically generates models, controllers, layouts and views Does not automagically generate SQL Does not automagically create CRUD functions Poor documentation Default tutorials don’t provide Authentication or Security related examples

  9. CodeIgniter • Is not completely open source (CodeIgniter license) • Requires developers to indemnify the company • Object Oriented • M-V-C Architecture • Requires PHP 5.1.6 • Database agnostic • Does not support SQLite3 natively

  10. CodeIgniter • No console tool • No automagic generation for any functionality • Extremely small download (2.2MB) • Does not provide a text tutorial on the site (only video tutorials) • Tutorials on the site use older versions of CodeIgniter • class xyz extends Controller (v 1.x) • class xyz extends CI_Controller (v 2.x) • Default tutorials don’t provide Authentication or Security related examples

  11. Symfony (1.4) • Open source (MIT license) • Object Oriented • M-V-C Architecture • Requires PHP 5.2.4 • Symfony2 will require PHP 5.3.2 • Database agnostic • Uses doctrine or propel for the Object Relational Mapping (ORM) layter

  12. Symfony (1.4) Extremely powerful console tool (symfony) Automagically generates all elements including sql queries (from YAML source) Provides extremely detailed tutorials for all functionality Tutorials work as documented The basic tutorial includes admin functionality as well as authentication and security information Plugins are extremely easy to install using console tools.

  13. CakePHP • Open source (MIT license) • Object Oriented • M-V-C Architecture • Works with PHP4 (4.3.2) • Database agnostic • Does not natively support SQLite3

  14. CakePHP Console tool (cake) cake bake generates code if a database is defined including models, views and controllers for the tables in the database cake schema is used for database backup/restore functionality Separate tutorials for a weblog and ACL controlled applications. Tutorials work as documented

  15. Yii Framework Stands for Yes It Is! Open source (BSD license) Object Oriented M-V-C Architecture Requires PHP 5.3 Database agnostic

  16. Yii Framework Powerful console tool (yiic) Does not generate SQL Uses Gii (web based code generator) for CRUD operations Default yii application as generated by yiic includes authentication functionality and three basic pages Tutorials are regularly updated

  17. Kohana • Open Source (BSD license) • Originally based on CodeIgniter, but no longer • Object Oriented • M-V-C Architecture • Requires PHP 5.1.6 • Database agnostic • Does not support SQLite3 natively

  18. Kohana No console tool No automagic generation for any functionality Extremely small download (1.1MB) even smaller than CodeIgniter Documentation is poor. Most basic information like database connectivity is not available on the user guide for version 3.1. Tutorials are extremely limited (no tutorials for v3.1)

  19. Ruby on Rails User Friendly (27 June 2008) by J.D. “Illiad” Frazer

  20. Ruby on Rails Open source (MIT license) Object Oriented M-V-C Architecture Provides its own server but using Apache with Passenger may uninstall PHP5 on Ubuntu Database agnostic

  21. Ruby on Rails Multiple console tools (rails and rake) Databases can be managed via console tools with YAML configuration files Automagically generated code includes CRUD functionality however the Rails Guide notes that experienced Ruby developers rarely use it Default tutorials use plain http authentication rather than database driven authentication

  22. xkcd.com/353

  23. Django Open source (BSD license) Object Oriented Model-Template-View design (same as MVC) Provides its own server but can integrate with Apache or any other server Database agnostic

  24. Django Uses python manage.py as a console tool Automagically generates sql and admin functionality Can use console tools to manipulate data Tutorial is basic but well written. There is a “coming soon” at the end of the tutorial Admin functions are behind login pages, but the tutorial does not show how to create login pages for the public site

  25. Performance Compared Jakarta Jmeter 2.4 VMWARE workstation 7.1 Windows 7 Basic

  26. Static Page

  27. User/Administrator Login

  28. 101 Blog Entries on a Single Page

  29. Selesai! AdaPertanyaan ?

More Related