CodeIgniter Forums
What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Archived Discussions (https://forum.codeigniter.com/forumdisplay.php?fid=20)
+--- Forum: Archived General Discussion (https://forum.codeigniter.com/forumdisplay.php?fid=21)
+--- Thread: What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? (/showthread.php?tid=58969)

Pages: 1 2 3 4 5


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-11-2013

[eluser]WanWizard[/eluser]
I was waiting for you to appear, did I step on your toes again? Did I offend you, Or your precious piece of code?
Good to see you haven't changed, and still remain predicable. There are still certainties in life.


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-11-2013

[eluser]wiredesignz[/eluser]
@WanLizard,

You've only offended people who might expect more from you.

It's a pity you can't offer facts to support your original diatribe and sad that you choose to attack me personally.

I would have preferred that you defend your comment about "Isolating the request" in terms of HMVC and showed everyone how clever you really are.


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-12-2013

[eluser]jonez[/eluser]
[quote author="WanWizard" date="1376179276"]CodeIgniter is crap if you want to make something big, complex, modular and extendable. And in terms of evolution it's stuck in PHP4 days, and dead (as any work to modernize it will not make it CodeIgniter anymore).[/quote]

Can you give an example of a design pattern you were unable to build with CI? I've only recently started using CI and found it easy to setup a controller inheritance chain. If I need bulk functionality shared between different tiers I use a library and for one-off functions you can use helpers. Unlike most frameworks CI stays out of my way when I want it to, a big plus in my opinion.

I think the PHP 5.3+ hype is blown way out of proportion. I've been developing with PHP for over 15y and I've never run into a situation I couldn't solve because of language constraints. Anyone who jumps frameworks because of a language version barrier is either living on the bleeding edge (maybe 1% of devs are actually there) and have very niche use cases for their app, or they don't understand the problem they are trying to solve well enough (the other 99%) and think a new version/framework will make it easier. It won't.

[quote author="WanWizard" date="1376215079"]We switched more then two years ago, because we're into "big, modular and complex" (we do corporate applications, not public websites), and CI simply didn't cut it. Since we've switched (to Fuel) our productivity nearly doubled, applications are faster and use less memory, and with namespacing and modules/packages there's a lot more separation and reusablility.

HMVC is one of those typical "bolted-on" solutions in CI, that only makes things more complex, replaces a fare chunk of the core (and thus collides with other stuff that has to do the same). And it isn't proper HMVC, as it doesn't isolate the request. It can't, because everything is CI is global (an HMVC call for example should have it's own HTTP request, HTTP method and Input).
[/quote]
I'll give you name-spacing, but I don't understand your second point. If you are "bolting on" an HMVC addition, and editing the core (never a good idea in any framework), then complaining about code you wrote... how is that the frameworks fault?

[quote author="WanWizard" date="1376179276"]
Having “tons” of external stuff just makes it worse, it increases the complexity, things don’t work together, and before you know it you’re extending half the core. Which makes the end result bloated, big, slow and impossible to maintain.
[/quote]
It sounds to me like your app fell into a trap that a lot of large projects do. Without someone managing code quality, steering the ship and rejecting the barnacles, you end up with a house of cards waiting to collapse upon itself. To defend the pile of hacks layered on top of one another, someone is quick to call out the framework as the problem. You build it again, this time with all the foresight you gained building it the first time, and reaffirm that belief.

Was the framework really the problem? Maybe, but probably not. It is more likely that the developers were short sighted and didn't stop to think about the maintenance nightmare they were building under the guise of saving time in the short term. In the long term it always costs you and usually ends in a rebuild of the entire app.

---

@luisvallin My suggestion is try as many frameworks as you can and select the best fit for your task. Every framework is different and has it's own strengths and weaknesses. There isn't one golden framework that solves every problem and there never will be.

What I like about CI:
- Doesn't try to be an all-in-one solution
- Very little bloat, only load what you need
- Easy to extend
- Doesn't force any design patterns on your app
- Great documentation
- Great community

One of the joys of IT is it never stops changing. The framework you develop on today is not the framework you will be using in 5y and is one of 10+ more that you will learn throughout your career. Pick one that helps you solve your current problem and you enjoy working with. Don't worry about what everyone else is doing, your problem is not theirs, and every problem requires it's own solution. And most importantly, have fun while you do it!


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-12-2013

[eluser]WanWizard[/eluser]
I didn't say there is something you can not build with CI. In the end it's PHP.

As everything, it depends on where you stand. For me it's easy, my developers cost money, so the faster they are, the more profit I make and/or the more competitive my business is. So for me it's not a question of "can I make it with CI", but "is CI the most efficient tool for the job?". Which might (and probably is) different for me then it is for you, hence my "ymmv" in my first reaction.

My point about external libraries (the "bolting on") is that I have to (either 3rd party or self-made), because of the fact that the core (again, for me) lacks functionality. And with that process (trying to make CI work for me) comes the complexity of each of these libraries wanting to alter the core. No, not editing, extending. But if you have your 4th library that wants to extend the Loader class, you really are in deep dodo, especially if they extend the same methods, but with conflicting functionality.

I never said that that is the frameworks fault. The framework (CI in this case) is a specific tool, for a specific job. And my job requires a different tool.

Yes, the framework was the problem. Just because you couldn't separate, modularize and abstract out of the box, because we had to come up with clumsy ways to deal with class name collisions, because of the global scope of the entire framework with all it's singletons, the list goes on, we ended up with a monolith that was unmaintainable and slow. In the end we decided to ditch over a year of work, and restarted, with a better tool for this particular job.

Having run software development projects for almost 30 years now, I think I have some idea of how it works, and what doesn't. (like for example 1000 man-day project, using the waterfall method, like it was common in the 80's and 90's Smile).

Again, that might not be an issue for you, or the TS. Your final suggestion was the same as mine: find the right tool for the job, taking into consideration the person holding it. Wink


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-12-2013

[eluser]jonez[/eluser]
[quote author="WanWizard" date="1376334219"]I didn't say there is something you can not build with CI. In the end it's PHP.[/quote]
Then why making sweeping generalizations like "It's dead" in a thread asking for advantages of CI over others? Surely as someone had been using it for a number of years you can provide a less bias opinion then that.

[quote author="WanWizard" date="1376334219"]As everything, it depends on where you stand. For me it's easy, my developers cost money, so the faster they are, the more profit I make and/or the more competitive my business is. So for me it's not a question of "can I make it with CI", but "is CI the most efficient tool for the job?". Which might (and probably is) different for me then it is for you, hence my "ymmv" in my first reaction.[/quote]
Out of curiosity are you a developer or do you manage a team of developers?

[quote author="WanWizard" date="1376334219"]My point about external libraries (the "bolting on") is that I have to (either 3rd party or self-made), because of the fact that the core (again, for me) lacks functionality. And with that process (trying to make CI work for me) comes the complexity of each of these libraries wanting to alter the core. No, not editing, extending. But if you have your 4th library that wants to extend the Loader class, you really are in deep dodo, especially if they extend the same methods, but with conflicting functionality.[/quote]
I'd seriously question any dev who thinks using multiple libraries from different authors all attempting to modify one set of functionality is a good idea. Why wouldn't you just write the code yourself, or at least a bridge to manage cross talk, and save yourself the headache in the long run? Yes it's faster up front, but maintaining that mess will cost you way more in the long term.

[quote author="WanWizard" date="1376334219"]
I never said that that is the frameworks fault. The framework (CI in this case) is a specific tool, for a specific job. And my job requires a different tool.[/quote]
Then perhaps offer an objective opinion with examples instead of bashing it and other posters?

[quote author="WanWizard" date="1376334219"]Yes, the framework was the problem. Just because you couldn't separate, modularize and abstract out of the box, because we had to come up with clumsy ways to deal with class name collisions, because of the global scope of the entire framework with all it's singletons, the list goes on, we ended up with a monolith that was unmaintainable and slow. In the end we decided to ditch over a year of work, and restarted, with a better tool for this particular job. [/quote]
I disagree. I'd say whoever's job it was to manage scope creep failed miserably and should be fired for letting a years worth of work go to waste. The developer should have seen it, unless they really didn't know what they were doing, if they did they wouldn't need to layer on external libraries like that. Or would at least know going down that path was the wrong decision and would ask for help from the team. Talk about cutting corners to the limit.

[quote author="WanWizard" date="1376334219"]Again, that might not be an issue for you, or the TS. Your final suggestion was the same as mine: find the right tool for the job, taking into consideration the person holding it. Wink[/quote]
Then why hate on for CI? I'm guessing one of your dev's burned you and somehow managed to convince you that CI was the problem when really they were talking out of their behind.


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-13-2013

[eluser]WanWizard[/eluser]
You seem to have a problem reading too.

I never said CI was dead.

I said CI was from a PHP4 era, with a PHP4 architecture, and modernizing it will not make it CI anymore. Which means that from a evolution point of view, it's dead.

Quote:Out of curiosity are you a developer or do you manage a team of developers?
Both. I've been developing since the Apple IIc, and PHP since 1999.

Quote:I’d seriously question any dev who thinks using multiple libraries from different authors all attempting to modify one set of functionality is a good idea.
I didn't say that. But if you need functionality that isn't in the framework (like HMVC), you have to do something. And using existing libraries (or at least looking into them) is the obvious option. As said before (and something I agree with), is that you shouldn't simply switch frameworks because of the latest fad. You picked the framework for a reason.

Quote:Why wouldn’t you just write the code yourself, or at least a bridge to manage cross talk, and save yourself the headache in the long run? Yes it’s faster up front, but maintaining that mess will cost you way more in the long term.
You could do that, but that defeats the purpose of selecting a framework (that does the job). This indicates the framework you picked clearly doesn't.

You need to hammer in nails, so you get yourself the screwdriver you bought in the past, and start modifying it until it starts to resemble a hammer? Or you go out to buy a hammer?

If you need to do that you picked the wrong tool for the job, you should have picked the right one, instead of modifying the tool.

So I strongly disagree with your believes that CI is the solution to every problem, as long as you spend enough time tweaking, modifying, extending and changing it. You may work for free, and have unlimited time, but most of the world doesn't work that way. And that is not limited to developers, it's the same in every trade.

I don't hate CI (I used it for 6 years), I just don't think it's the right tool for every job.

You think different, fine, as I said, ymmv.


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-14-2013

[eluser]Pert[/eluser]
I've created my own set of additional tools for CodeIgniter.

It was more work at first, sure, but after that I had complete control and skills to do any work any of my clients could throw at me.

For the same speed and ease of use, that WanWizard is talking about, I do not want to convert to another framework. I dislike the idea of using a typical CMS (Drupal, Wordpress) as they are very limited of how much you can edit the plug ins - I definitely prefer the MVC and ability to just go in and by definition, just know how URL ends up in specific file, how I can request any data and how I then can display completely different HTML depending on clients requests.

CodeIgniter is bare bones, actually I think it has few helpers / libraries too many in it's default installation, but it is very good at giving you absolute base minimum you need (routing, MVC, DB interactions) and rest of it you can implement exactly how you want, in a way that makes it easy for yourself to copy from one version to another.

I don't think CI is any slower than other frameworks, or but it this way, our portal for crowd-sourcing software testing is pretty popular and busy, we don't actually see any speed issues as of yet.



If anyone is interested in the tools itself, I might be releasing it to the public just for kicks and fame.


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-14-2013

[eluser]luisvallin[/eluser]
[quote author="solid9" date="1376158710"]These are the factors why I used CodeIgniter.

1. Simplicity - Very easy to use (This is the right framework it simplify things not complicate)
2. Documentation - Very very nice documentation.
3. No commercialism - It's 100% free and they don't offer to force you to buy products/services. (Unlike Zend Framework)
4. Massive community - Really...
5. Tons of resources
7. Very popular
8. Very stable framework


[/quote]

Thanks you opinion is of great help


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-14-2013

[eluser]luisvallin[/eluser]
thanks for all


What are the advantages of Codeigniter against frameworks as of zend, cakephp, and symphony? - El Forum - 08-14-2013

[eluser]luisvallin[/eluser]
[quote author="WanWizard" date="1376179276"]As always, it's about picking the right tool for the job, considering the person holding the tool...

CodeIgniter is simple, easy to learn, easy to understand, well documented, and reasonably well suited for beginners and the simple work. It's been around for dogs years, and hardly changed in that time, so there's a lot of info around.

CodeIgniter is crap if you want to make something big, complex, modular and extendable. And in terms of evolution it's stuck in PHP4 days, and dead (as any work to modernize it will not make it CodeIgniter anymore).

Having "tons" of external stuff just makes it worse, it increases the complexity, things don't work together, and before you know it you're extending half the core. Which makes the end result bloated, big, slow and impossible to maintain.

ymmv, see line 1... Wink[/quote]

codeigniter is only for small dynamic website? I'm confused