Before reading this post, please note that the author of this blog is an entrepreneur who has turned to business from the technical background. The views and opinions have strong relevance to this fact. Anyone who is purely technical or managerial may not agree with some or all points noted in the article.
1. Learning Curve: Compared to simple PHP, frameworks need to be understood. Normally the curve is longer if the development resources are not very highly skilled. There are many ins and outs which we need to continuously learn from various official and many unofficial sources. After finding a few issues with a given framework switching to a new framework becomes difficult and also necessary. If a particular thing has to be done in a particular framework which is not directly supported one has to do a lot of research on the web. This is substantial efforts required in my experience. Many times a hack is required which eliminate all the benefits of a framework in the first place (Readability, Structure, Re-usability).
2. Code Efficiency: The time and space complexity of frameworks is not easily controllable. In fact, there is very little control available to the developers over fine tuning of the resources consumed by the framework which may not have been used in a particular project.
3. Total Cost of Ownership: Many frameworks have a great get started video that explains how quick a blog application can be created using their framework. I agree it can be quickly done but there is a catch. This is in compliance with the fact that when something is made easy by a framework it is done at the cost of making something else much harder to do. So even if you get started quickly with a framework, eventually, you are not the winner but a big looser when you see that important things have been sacrificed:
a. Time Efficiency: the code runs slow
b. Ability to support advanced web features.
The point is not just of sacrifice. In fact, there will never be any sacrifice to be done at all. But this comes for a cost, a huge cost. Time and Cost budgets get hampered. The time to market is drastically affected making the whole thing a flop. If, however, the budget is not a concern then one can go for such costly frameworks.
It should, however, be noted that these frameworks come handy when developing very small and simple sites which do not need something unsupported by a particular framework. Finding which framework fits best and supports your needs is a time consuming activity and can be avoided by starting with a no-framework to save this extra time again.
A Good Framework:
From the “engineering” point of view a good framework should consider following realities:
- Employee Attrition: Employee turnover has plagued the IT industry since long. It is essential that new employees are quickly absorbed into the working teams instead of spending several months training them.
- Cost Effective: Does your framework increase or decrease your costs? The cost is eventually bore by the clients and not the developers, so it is in the best interest of any customer centric company to use such a framework.
- Time-to-Market-Effective: Does it save your time or force you to invest your precious time into finding the hacks and “making it work”? This should obviously be the most important concern when choosing any tool.
With these points in mind I have written a small post with some of the simple rules to follow while coding PHP. The framework is in the minds of developer. If a developer is put into the right perspective he understands it and moreover the code has the essential qualities of reusability and readability.
Tags: PHP Framework
WHAT TO DO NOW?