Welcome Guest, Not a member yet? Register   Sign In
Our reasons to stay away from CodeIgniter 4
#1

Please do not take this the wrong way. We appreciate the efforts that have been made to provide a brand new version of CodeIgniter. It is simply that some design choices make adopting CI4 economically impossible for our company. I originally documented the reasons why that is for our internal info, but later we decided to share our reservations with the community for it might be of value to someone.

After writing commercial applications based upon CI for 13 years we consider ourselves somewhat versed in the topic. So it saddens me personally that I don't have much positive to say about the latest release of my favorite framework.

1. Non-compatibility with CI3 whatsoever
The total disregard for established CI advantages (such as load only what you need) and especially the removal of the Load-Class makes "upgrading" to CI4 very hard. Effectively moving to another framework (e.g. Symfony) would be of equal trouble as "upgrading" to CI4 while I donĀ“t see anything remotely worth making that trade. It goes this far as if we were to change everything that we dislike in CI4 we would end up with something that might have been a CI 3.2 more or less.

2. Less stability / less php compatibility then CI3
It is not a good thing that CI4 has such a narrow range of supported php versions. It is in fact by far less compatible and also less stable than CI3 is. We tried a brew-based MAMP-stack at first and a virgin Ubuntu 20 after that. In both cases CI was not launching before changes were made to the CodeIgniter base classes. In both situations CI3 would come up reliably as expected without any changes even to config files. We are mentioning this as a point of comparison of what we are used to with CI3 and what CI4 painfully lacks.

3.The env file
I personally despise the idea of having configurations outside of PHP files. It is such a step back when you cannot use the full power of the scripting language to make self-adapting directives. I am aware that one does not have to use env but it still bothers me.

4. Compulsory Namespacing
Rasmus Lerdorf famously said that he liked CI because it is "faster, lighter and the least like a framework". This has always been very much a core idea in CI (as far as it concerns Ellis Labs' idea of it) and now being required to namespace everything although PHP does not even require it seems to be pure overhead if you simply do not intend to use namespaces.

5. Abundant infantilism in code commentary
It is very very annoying when working with a new framework to have to wade through a swamp of childish humoristic attempts by inhibited comedians in the code's commentary. This is really not the place to be funny especially when the administrators of the customer will sooner or later stumble upon one or another comment reflecting poorly on us as developers. It is hard enough to defend using CI against more established frameworks as it is and this regression into infantilism is not helping.

6. No Customizer option
In commercial usage it is very common to install a customized product on a client's server as an extension of the base product which in itself remains unchanged to make room for the local configuration as well as possibly required customizations to the code logic and more importantly to stay release capable. In CI3 this was missing, too, but due to the flexibility and extensibility Load-Class this disadvantage was easily remedied. I do not see that CI4 does really take this (at least commercially) very important scenario into consideration even though the directory structure was fundamentally changed.

At this point we stopped trying get along with CI4 since it was not promising a good enough outcome to warrant the necessary man-days to accomplish even a semi satisfactory code base for our needs.

Thanks for your time. Any comments on this are appreciated of course but apart from mutual exchange of view points we do not expect anything remotely eligible for us to continue with CI4 as it is.

Have a nice day anyway and be safe.
Reply


Messages In This Thread
Our reasons to stay away from CodeIgniter 4 - by jhennike - 01-05-2021, 05:08 AM



Theme © iAndrew 2016 - Forum software by © MyBB