Jump to content

Outgrowing your framework


Jonob

Recommended Posts

I have been familiarising myself with most of the well known frameworks. Codeigniter seems to come out trumps in terms of usability, ease of use and speed.

 

However, my one major concern that sometimes gets repeated is that its a 'starter' framework and that developers tend to outgrow it. I am not quite sure what it means to outgrow a framework. Does anyone have real experience of this, and reasons why they moved from CI to something else (presumably Zend or Symphony?).

 

I am looking to build a fairly large project, and want to make sure that over the long term is sustainable, maintainable and scalable (lots of ables!).

 

Thanks for any advice that you can give.

 

 

Link to comment
Share on other sites

If you can make your project with what CI has to offer I say go for it.

 

I had a hell of a time integrating external libraries when I tried it (1.2 & 1.3).  I was also going to have to write a RBAC and ACL system from scratch.  With regards to the 'framework' itself, I'd say the core is too encapsulated, its not simple to extend features to suit your own needs and its not as loosely coupled as advertised.  I had the impression when I tried it that it was more like an existing application I was adding on to than a framework I was using to build my own application.  Might have changed since I tried it though.

Link to comment
Share on other sites

I think a lot of people want to believe their framework is better than CI, so CI takes a lot of beatings. I've only used Kohana and CI, and I only use CI now. If you don't need a well documented framework, and if being part of an "elite" community that believes the best way to learn a framework is to look at the code, and if you want to wait for days to get an answer when you ask a question on a framework user forum, then you might try Kohana. I also have other issues, like performance, that keep me using CI.

 

I've never used Zend, but it has a bad reputation for being really slow.

 

I have about 5 years of php experience, and 2 of those using CI. I feel that I can do anything I want to with CI, and I can do it fast because the documentation made it easy to learn. You could say that CI usage in general is easy, and that's why some might think it is for beginners. Take away the great documentation and the community, and you'd have a framework that is similar to others.

Link to comment
Share on other sites

Many general-purpose frameworks are in fact optimized for relatively simple CRUD applications. Claiming that a single, hard-coded approach is good for every kind of application is a nonsense. Of course, it is possible to write many different kinds of applications with almost every framework, but possible does not mean that it is well-designed. The problem is that many programmers have no idea about software architectures and they simply don't know that they could solve their problems much easier just by picking a different architecture.

 

The outgrowing problem has the following reasons:

 

- the programmer discovers that he or she has difficulties in writing non-trivial applications,

- performance reasons - the framework is not able to handle big traffic or has problems with scalability (i.e. because of the invalid caching)

- it is very hard to integrate the framework with third party tools,

- the programmer does not agree with some of the design concepts. I know many programmers who decided not to use frameworks, just because they forced them to use Object-Relational Mapping.

 

Many frameworks have a big fanbase, because most of the programmers actually write relatively simple CRUD applications, and they have the tool that perfectly suits their needs.

 

The last thing: being tied to a single framework is not a good thing for programmer, too, especially that the general idea of web frameworks in PHP follows the same architecture and the differences are not too big. You know one, you know all of them.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.