You are on page 1of 4

Web based Rapid Application Development (RAD) tools Yii Framework

Anda Luiza Turcanu
anda.turcanu@info.uaic.ro

Abstract. The purpose of this paper is to give a complete presentation about a RAD tool in the context of Web application development course, studied at the Al.I.Cuza University of Iasi, Faculty of Computer Science. The tool chosen from a list of many Web based RAD tools is the Yii Framework. This framework will be described from the point of view of its specifications, architecture and comparisons with other Web based RAD tools. First, I will give a short explanation of its name and a description to each of its most important characteristics. Then, based on the study of other RAD tools and research about the studies and test made on some other frameworks similar with Yii, I will show some advantages and disadvantages. Keywords: RAD, Yii, Web, framework, development, programming, application, open-source, object-oriented, PHP, AJAX, JQuery, features, MVC, performance

1

Introduction

Rapid Application Development (RAD) is a software methodology that uses methods like iterative development and software prototyping techniques to accelerate software development. RAD involves planning of software which is interleaved with writing the software itself. Missing the extensive pre-planning goes to writing the software much faster and allows it to change the requirements easily. In rapid application development, structured techniques and prototyping are especially used to define user’s requirements and to design the final system. In the development process some steps are repeated iteratively. First stage comes with the development of preliminary data models and business process models using structured techniques. In the next level, requirements are verified using prototyping eventually to refine the data and process models. RAD allows faster development and facilitates application maintenance, but may provide some functionality and performance deficiencies instead.

1 About Yii Framework Yii is a web application framework for developing complex applications in a short time. ecommerce systems. The name Yii (an acronym for Yes. content management systems. it can be used for hightraffic applications. etc. integration with JQuery. open source.1. To develop with Yii. enforcement of an MVC architecture. Yii incorporates many of the great ideas and work from other well-known web programming framework and application. so it is familiar and easy to navigate. forums. authentication and authorization. DAO. tools for testing and debugging the applications and many features. secure and professional framework that enables reusability in Web programming and can accelerate the Web application development process.0 or higher. Yii has been developed with performance optimization in mind from the very beginning and the result is that is a very efficient Php framework. Yii helps the developers to get products that are efficient.0 application development. web services integration. The Yii project is a new one. AJAX-enabled widgets. Yii has been carefully designed to allow nearly every piece of its code to be extended and customized to meet almost any need or requirement. 2008 following the idea of becoming a fast. skinning and theming. efficient and extensible.1. some of which will extend from the core Yii framework component classes.2 Features Yii is packed with features to help the developers to meet many feature needed by today’s Web 2. form input and validation. the version 1. Building Yii application mainly involve writing and maintaining your own custom Php classes. extensible and maintainable and also provides a clear and complete documentation. To run a Yii-powered web application. Starting with version 1. The current version is 1. 1. sophisticated caching. the core framework is packed with an official extension library called Zii. Yii is also designed to help the developers with DRY development. Because it is equipped with advanced caching mechanisms. object-oriented and high-performance PHP5 framework used to develop rapid Web 2.0 applications.8. you only need to know PHP and OOP. Yii encourages maximum code reuse in web programming and can significantly accelerate the development process. . all the developers needs to know is the core framework files and a web server supporting PHP 5. It is a free. hierarchical role-based access control.0 being formally released on December 3.1. such as portals. This framework is not just efficient to use.2 Anda Luiza Turcanu 1. It Is) stands for easy. The developer is not required to learn any new configuration or templating language. DRY (Don’t Repeat Yourself) is a key concept of agile application development. unit testing and functionality testing are just a few examples of Yii extensions. it is also remarkable fast and performance is optimized. internationalization (I18N) and localization (L10N).

Yii has the advantages of being efficient. Yii is equipped with a Web-based code generation tool.Error! Use the Home tab to apply title to the text that you want to appear here. in the case of validation rules. For example. The following diagram shows the static structure of a Yii application: 2 Yii and other RAD tools Comparing with other RAD frameworks. 3 Starting with version 1. the model generator generates an ActiveRecord class for the specified database table. called Gii. Yii enforces this development pattern by providing a place to keep each piece of your MVC code. Gii comes with a few default code generation. well documented (can be easily learned) and having many features. you can define a whole class to be a validation type. . CakePhp uses prototype). 1. This minimizes duplication and helps promote code reuse and ease of maintainability.2. the controller generator generates a controller class together with a few action view scripts. instead defining an action in the model as a validation like CakePhp does. Application collects some information about a user request and then dispatches it to an appropriate controller for further processing. All Yii applications are built using MVC architecture. Another advantage is the fact that the extension can be done more easily comparing with CakePhp. For example.1. Yii also implements a front-controller called Application which encapsulates the execution context for the processing of a request. Each code generator is responsible for generating a specific type of code.3 Yii Architecture The Yii Framework architecture is based on the MVC (model-view-controller) design pattern. It also used as the central place for keeping application-level configuration settings. like integration with JQuery (for example.

com.au/tag/zend-framework/ . 4. 3.com/performance http://blog. Those who construct it (Orite Blog) followed the behavior of each framework regarding response time and memory usage by time doing database operations. References 1.4 Anda Luiza Turcanu The Yii development team has performed performance comparison tests with many other Php frameworks.yiiframework. 5. http://en.1 and PHP5 (2010) http://www. but it has some pros and also cons.wikipedia. the advantages of Zend could be the fact that is flexible and it has great library and feature sets and best community support.orite.org/wiki/Yii_Framework http://www. like insert. It seems that Yii can be faster than CakePhp. extensive. ZendFramework or Symfony. ease to use and performance. [4]&[5] In the picture below you can see some test results made on Yii framework and ZendFramework and other frameworks comparing their performances. Jeffrey: Agile Web Application Development with Yii1. The advantage for Yii resulted to be that it is fast. and Yii looked to be a good framework.com Winesett. but the cons are the long learning curve and some code generation problems.yiiframework. 2. On the other hand. update and display a number of records. but is barely new.

.

47.03 50/.

.

2047   995.*7.

.

2047 .9430.. 17.42   308099 0117000-55.3/!!      995.04520399 .

.

 17.2047 .42.

0   995.3.5071472.

.

-4 4790 .:.42 .

.9.

03/ 17.2047.

 .