Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Development Costs, Frameworks Vs Straight PHP

I'm looking to get several sites developed and am wondering whether it will be cheaper overall to get them developed in a framework or in straight PHP.

I have ideas for several types of social sites with the following parts: Wikis, tagging, voting, and commenting, very simple blogging. I would like to re-use the components across these sites.

I made a decent start on one site but I'm really not moving fast enough. And as an untrained, mostly spaghetti code PHP programmer I'm afraid my code wont be taken seriously if I want to open the source up to outside contributions.

I understand MVCs are useful for rapid development but I'm wondering whether the reduced cost of development due to this is outweighed by the increased cost of hiring someone with framework knowledge.

I'm also concerned about the framework code going out of date, i.e. not being compatible with the latest framework version. I'm guessing the reduced maintenance costs outweigh the cost of upgrading? I have been looking at Symfony 2 as it claims to be as fast or faster than others.

Many Thanks

like image 560
Joe Avatar asked Apr 05 '11 17:04

Joe


People also ask

Are PHP frameworks worth it?

Why use a PHP framework? A PHP framework provides a basic structure for streamlining the development of web apps. We use them because they speed up the development process. Above all, the responsiveness of websites and applications built using PHP frameworks helps businesses fulfill their performance needs.

Should I use Core PHP or framework?

Core PHP still has its own charm… It may be faster and more accurate to build a web application in the PHP framework, but if you can learn and understand Core PHP, you can work on all the frameworks that are out there.

Which framework is better for PHP?

CodeIgniter is the top choice for a beginner-friendly PHP framework that is easy to use and quick to learn. It works on the MVC architecture, is easy to install, offers several guides and is easy to understand for beginners to get started with developing web applications on PHP.

Which PHP framework is fast?

Phalcon is a full-stack PHP framework whose source code is written in the C programming language. Using the framework doesn't require knowledge of C as it uses PHP classes and its namespaces. Phalcon is one of the fastest PHP frameworks available.


2 Answers

Here are a couple of things you have probably not thought about :

  • Using a framework, your code will be structured a certain way (it'll follow the guidelines of the framework) ; this means it'll be easier for a new employee (who has already worked with the framework) to understand how the code is structured.
  • Frameworks don't only mean MVC : they generally comes with a great library of solid components, well tested, well thought ; that's many wheels you will not have to re-invent
  • Not being compatible with the new version of a Framework can be a problem, yes -- but do you think your code will be easier to maintain without a Framework ?
    • A couples of days to re-works part of your code so it works with a new version of your Framework might be a good investment.
    • If your code is properly structured (Model code in classes that don't depend (much) on the Framework, typically), updating will not be so hard
    • Considering the number of fully-hand-made PHP 4 applications that are still arround, it seems a Framework is not what prevent people from upgrading...


On the other hand :

  • If you do spaghetti code without a framework, it probably means you don't have that much experience -- which means you'll need a bit of time before being efficient with a new Framework (you'll need to learn it -- and, typically, this can require a couple of weeks / months)
like image 135
Pascal MARTIN Avatar answered Sep 29 '22 07:09

Pascal MARTIN


If you don't choose to go with a framework the person that you hire will have to learn your conventions which will take longer for them to actually start producing results at a good rate. Essentially you will be making your own framework and you can bet on no one having any experience with it. With a framework, you at least have some common ground. You should still probably interview them solely on the basics of the language but when they start working they can go online and ask others questions about a specific way to do something in the framework. If you make your framework they might have to ask you for the conventions you want to use.

Frameworks are useful for getting off the ground. Remember that you can "give up" using the framework at some point simply by starting to diverge from the conventions used by the framework. You could simply take the framework code and make it your own. I'm ignoring any kind of licensing by assuming that this is going to be a web app.

like image 42
Ramiro Avatar answered Sep 29 '22 07:09

Ramiro