If you’d like to develop a WebApp which you know that is going to scale and become bigger and bigger over time, would you use CodeIgniter or your custom made framework?
What’s your arguments for using an open source framework and what’s your arguments against it.
Here are my thoughts:
CodeIgniter Pros
- Great documentation -> Easier to work in a team.
- All the development time is invested in the business logic.
- Not reinventing the wheel
CodeIgniter Cons
- Not sure how scalable it is if I’ll want to grow
- MIT License – not sure what it means, but if I’ll want to sell my app on per license basis, I’m not sure I’ll be able to do that.
Custom coded Framkework Pros
- Scalable. I can decide how it will grow.
- I own the code
- Flexcible design.
Custom coded Framework Cons
- Need to document it, so others will be able to collaborate.
- Need to invest time to maintain the framework
- Unexpected errors/bugs
What’s your take on that? My brain tells me to go with CodeIgniter, my heart tells me to build my own framework.
Use something that already exists.
Why CI
Why limit your choice to one framework – it makes the choice a near straw man argument your heart doesn’t tell you to write your own framework – your ego does. If you eliminate the huge number of other frameworks that exist before starting – you’re already on a path to .. lots of work.
And CI is quite a poor one-choice.
Php is, at the time of writing, at 5.4.0 – if you’re in a position to choose what framework to use for a new project – seriously consider using a framework that uses 5.3+ features – or is already on the road to do so. Don’t choose a framework which has a legacy code base full of php4 style code.
CI Cons
Most likely (and I don’t use or like code igniter) more scalable than a random custom framework.
There are practically no restrictions on how to use MIT licensed software. Read MIT as “don’t delete or modify the license blocks in the framework files” that’s about it.
Custom coded Framework Pros
Are you sure you know what scalable means 🙂
True in almost all cases – and definitely true if you use an MIT licensed framework.
That’s not likely to be a benefit in the long run. For example you achieve explosive success and need to bring on a team of developers. You will have to train each of them in how to use the custom framework on which the app is built. That’s instead of simply pointing them at a few tutorials to get over the initial learning curve of using <insert name of chosen framework here>.
Custom coded Framework Cons
Realistically, unless you build a framework capable of competing with the existing frameworks that’s not going to happen (even with good documentation).
Don’t underestimate how much time that’ll take.
You’ll spend a lot of time here.
In summary
I’d really like to add the existence of unit tests so you can know that your application will work – but code igniter doesn’t have that, so if you’re rigid on your two choices I guess you’re on your own with that either way.