Nowadays, there are many platforms for developers to create web resources of different types and levels of complexity. We decided to start working with one of the most popular platforms today - Yii. Let us talk more about our experience with development on this framework.
Framework or CMS?
We used to create websites for our clients based on self-written CMS like many other agencies. This process was long and complicated. So we decided to reduce the time and cost of such a disadvantageous process for both us and our clients as developing a self-written CMS.
One of the most commonly used ready made platforms for website development in Digital Agency CASTCOM is CMS Bitrix. This reliable platform allowed our specialists to create different types of sites with complex structure and functionality. However with time Bitrix functionality turned to be not enough for developing up-to-date websites.
For the new tool for creating websites we set three main criteria:
The ability to create high-quality modern solutions,
keeping it up to date for several years,
the ability to work with it for all programmers.
It was decided to test the Yii framework. As a result we were able to find both advantages and disadvantages of the tool.
If we compare framework and CMS it should be noted at once that they are two absolutely different tools created for different purposes. CMS builds the architecture that you have to work with. To add new functionality you must first disable any of the existing functions. With a framework, it's completely different. All code in it is divided into three components: data, interface, and interaction. This division helps to minimize changes to one component.
What is the Yii framework
The Yii framework is a free general-purpose web programming tool that can be used to develop any kind of application. It is an object-oriented, component-based, full-stack PHP framework. It can be used to create large projects such as portals, e-commerce management systems, CMS, forums, etc.
Yii is considered as one of the most common and optimal tools for creating web projects of any complexity. It's fairly easy to learn and allows you to expand functionality through the use of third-party modules. You can replace any part of the code and build extensions.
Benefits of developing with Yii
The Yii framework has a large number of advantages that turn application and website development into a fast, but high-quality process. It is quite easy to install through the PHP Composer package manager.
Many extensions have been written for Yii, allowing it to be used with the Bootstrap CSS framework. With an admin panel template written with Bootstrap, programmers can create a high-quality, attractive interface to manage the system on their own, without the help of other professionals. All the necessary elements have already been created, they just need to be assembled into a single system.
As a result of developing sites in Yii we were able to appreciate all the advantages of this framework and create high-quality modern web resources with lots of features and easy navigation. This powerful tool is available to all programmers, which makes it a leader among the most popular frameworks.
Other advantages of Yii are the following features and characteristics:
provides useful documentation for Russian-speaking developers, many articles describing the functionality;
is the result of the work of a whole team of specialists who are constantly tweaking it;
contributes to a simple prototyping applications;
has a built-in mechanism for creating widgets;
a large selection of ready-made extensions on Github with the ability to install them through Composer;
built-in widgets for displaying various information
etc.
Disadvantages of developing with Yii
Like any other solution, the framework has disadvantages. In the process of developing Yii websites and portals, we have faced some challenges as well.
The first thing we had to do was to completely change our development approach. It is not possible to implement a particular single module. It is necessary to go through the whole development process, starting from the creation of the DB structure and administrative panel and ending with the development of individual modules, which are in any CMS. Implementation of these tasks will require additional time.
Second, we haven't found many useful extensions among those that have already been built for Yii. Therefore we had to choose necessary extensions with great care, testing their effectiveness at the same time.
Other disadvantages of the framework include:
weak system of interaction between English-speaking developers;
the rare appearance of useful new updates;
simple, but not the most beautiful code;
not the most flexible routing system.