Framework or freeshard?
Recently, a lot of applications on freelance have appeared, where customers set tasks by type: creating online store on Laravel or creating a platform for auto-generation on yii2, etc. But there is one problem - most of these people are horrified by prices of developing web applications using frames. Often they give up this idea.
The problem is not the number of renouncements, but the fact that most people do not understand the key difference between developing an application on a framework and developing the same application on a freeshard.
In today's article, we will discuss the topic: what is the difference between developing an application on a framework or freeshard. And also we will try to explain what is the difference between a framework and a freeshard.
What is the difference between a framework and a freeshard?
Let's start with the difference between technologies. If you delve into the task of web development, you may not see the difference between a framework and a freeshard. Everywhere the same server (apache, nginx) + logic describing the actions and response to user actions (php + js + html + css stack). In fact, it is. Everywhere the same technologies (meaning standard tasks. Of course, the stack may differ towards python or even C ++, java).
Then why on one site we see excellent optimization, and on the other the long and tedious work of scripts that do not even try to optimize. It is at this moment that you need to look behind the curtain. And there we will see the structure of this application + database. Here you can minimally see the difference between a framework and a freeshard.
For a programmer who knows three keywords: polymorphism, encapsulation, and inheritance and understands why they apply the basic principles of OOP at all, there is no problem seeing the key difference.
And the average user needs to figure it out a bit. Let's get back to the customer we talked about at the beginning.
Having heard or read somewhere that it is much easier to realize the project that we have conceived. With euphoria in our head, we find a freelance exchange and look at the average statistics on prices for such types of projects. Let's say we have an online store Comfy. We look that the average base rate for an online store is 5000 UAH. And of course, since it’s easier to do it on a framework (it will work faster than what they do on the freeshard), we certainly put 4500 UAH!
We will be surprised we are when, instead of a thousand applications for the project, there will be only dissatisfaction of freelancers and the status of "low budget". And for some reason, thoughts immediately arise like “Greedy freelancers who only know how to tear money from us!”. We forget about the project, just in case, saving our 15 sheets
technical specifications (just in case).
This completes the story of this customer’s acquaintance with freelance. Perhaps in the future he will return and review his positions and ultimately receive his cherished application. But more the fate of this customer, we are not interested in you. Therefore, we return backstage and understand the application pricing policy.
How much does it cost to develop an application on a framework or freeshard?
The most important thing is the complexity of the site.
The difference in price for a business card site built on WordPress and a business card site built on a frame will differ only if it is necessary to implement a backend (admin panel). For the "programmer" working on WP, the main task will be to install a ready-made application, which automatically creates frontend + backend for it. Next will be the task of integrating layout (visual display) and implement the functionality. Usually the last moment is realized by installing ready-made solutions (plug-ins) which are very poorly optimized, or not optimized at all.
After all, there is no difference to our programmer that the site worked perfectly. The main thing for him is to get the money! And as a result, we get an unoptimized application (site) that, if not currently lag, then in the near future, when trying to get some expansion, it will critically bug. It would seem that we have achieved our goals: a beautiful theme (cover) and an admin part that allows you to manage this cover.
But you just have to look behind the cover and immediately everything becomes clear - you were simply deceived!
In general, our task with you now is not to consider all the fates of the “programmer,” who has been working with WordPress. Our task is to understand the difference between applications and make each one their own choice. And for this it is necessary to consider the other side of the coin - framework.
What is the difference between developing an application on a framework or freeshard?
In the case of the framework, during installation, we get the most common set of libraries and a simple web page. There is no interaction with the server. There are only ready-made solutions from the library for the implementation of any absolute functionality. But it has the main things that are necessary for the quality implementation of any project and its subsequent expansion. These are the principles of OOP! You will be interested to read this article: what is OOP?
Although WordPress allows you to use the principles of automation. That is, a simple user can install and distribute plugins. But these frameworks give rise to dinosaurs-programmers who do not delve into the principles of interaction at the bytecode level with a machine (server). And just sculpts whatever. At least minimally aware that WordPress is for the blog !!! Encoding for the database, optimization at the level of database queries, and so on - all this is built from the logic that a blog will be launched on the engine. This is just a series of articles, categories and comments. And that’s it!
As a result, it turned out that it was wordpress that gave development to such a language as php. But, he himself was in the abyss. By releasing plugins such as woocommerce, developers are well aware of their misfortune. Optimization and no OOP. Yes, there are, of course, sites, and in the logic of the chip itself there are OOP principles. But the programmers who work with it do not use these principles. Because of this, unfortunate programmers get tons of code, which subsequently requires more resources from the server. Thus, is born the king of the ball - the lag.
And the framework will not allow you to deviate from the principles of OOP. Although it is possible (you can use the same constructions with operators on the template side). But, these designs in the future will not allow to expand the project, and everyone will quickly understand that this is a pseudo programmer.
Thus, we see that to work with frameworks, a programmer needs to improve his skills - to learn the basic principles, namely OOP.
And where the basic principles are, there is the growth of a specialist. Maybe get to the apache documentation.
Thus, we get the formation of a price for development:
- Wordpress - suitable for the implementation of the blog. It does not have the ability to expand to the level of quality application. A plus of honor is that most freelancers will cope with the implementation of simple applications. Because of this, there is a lot of competition and price dumping.
- Yii2, angular, laraver (etc.) - the frame is suitable for heavy web applications, corporate and commercial areas. The application level is completely dependent on the knowledge of the programmer. The better, the more room for expansion. A basic understanding of OOP, syntax, and programming language constructs is required.
It remains to understand only one thing: the more logic and functionality in your application that requires direct interaction with users (filters, forms, generators), the more complicated it is. Yes, based on the principles of OOP, it will be easier to implement it (the logic above), but high-quality support and a lot of knowledge will be required.
So it turns out that a job well done will cost more money. As in all other aspects of our life.
You will be interested to read the article: Why use the framework in development?