Created
January 22, 2014 19:42
-
-
Save anonymous/8565929 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There are a lot of complaints going around about Laravel these days, but a lot | |
of the important ones seem to be missing from the spotlight. | |
Bugfixes, issues and pull requests being left open for months with no | |
clarification of intent: | |
- https://github.com/laravel/framework/pull/1799 | |
- https://github.com/laravel/framework/issues/1963 | |
- https://github.com/laravel/framework/issues/2089 | |
- https://github.com/laravel/framework/issues/2234 | |
- https://github.com/laravel/framework/issues/2243 | |
- https://github.com/laravel/framework/pull/2564 | |
Hostility and/or trolling in issues, with a couple of regulars that are made no | |
effort towards silencing: | |
- https://github.com/laravel/framework/issues/3132 | |
- https://github.com/laravel/framework/issues/1820#issuecomment-32828170 | |
- https://github.com/laravel/framework/issues/3134 | |
- https://github.com/laravel/framework/issues/3295 | |
- https://github.com/laravel/framework/pull/2952 | |
Laravel is a one man project run by Taylor Otwell exclusively, and there is no | |
interest in changing this. The community is fortunate enough to have Taylor's | |
employer give him one week of dedicated Laravel time per month. Laravel's future | |
if/when its author's position should change is uncertain to say the least. | |
Again, there is no organization or company behind the framework, everything is | |
privately owned by Taylor. | |
Dealing with criticism: https://twitter.com/taylorotwell/status/422837742716727296 | |
Laravel being a one-man show: https://twitter.com/taylorotwell/status/420577120188768257 | |
There is no process around the development of Laravel - changes and features are | |
added and reverted as Taylor sees personally fit with no intent of following | |
semver (semantic versioning), no intent of imposing feature freezes to minimize | |
the number of bugs or to do long-term support on older versions of the | |
framework. No changelog between minor versions are maintained, and short of | |
crawling the commit log there are several bugfix versions without documented | |
changes. Bugfix versions are of course not that as most new features are | |
introduced not as a minor version on a developing branch but on the main stable | |
branch tagged as bugfix versions. | |
https://github.com/laravel/framework/commit/73c3c18787838881b9a78b46c66f16f872d1214d#commitcomment-5133770 | |
Taylor removes a public filesystem function in a bugfix release because the core | |
framework isn't using it anywhere. | |
https://github.com/laravel/framework/commits/v4.1.16 | |
Taylor renames a bunch of core classes in 4.1.15 but changes his mind in 4.1.16 | |
which is released few minutes afterwards. | |
https://github.com/laravel/framework/commit/1d0add9955e932a5bfb3900a3c99ee94455ebc3e | |
After 11 bugfix versions, backwards compatibility methods are added to Route/ | |
Router, but only after a pull request for it was up. | |
Undocumented in 4.1 - Sessions and cookies are refactored into application | |
middleware and the default native driver is silently replaced with the custom | |
file one, causing lots of upgrade issues. | |
https://github.com/laravel/framework/commit/04253bd4d3a188af39f2b6b4beb95849a91943ce | |
Right before 4.1 release, URL generation is largely rewritten to allow for query | |
strings, causing several bugs. On the same day as 4.1 release, 4 bugfix versions | |
are released mostly to deal with these. After 8 bugfix releases, Symfony's | |
routing component is brought back in to fix most issues. | |
https://github.com/laravel/framework/commit/3816e425ae3fdaa69474763737d5e906e073c9a9 | |
In version 4.0.8, the session store's IoC binding is updated from 'session' to | |
'session.store', breaking several packages. | |
After the launch of 4.1 the idea of Laravel expansions - paid packages/plugins - | |
was announced, along with a statement that the framework is now more or less | |
complete, confirming the fears that the open source bit of the framework is | |
being further downprioritized. | |
Laravel comes with a ton of __call and __callStatic methods that are very good | |
at hiding the underlying architecture of the framework, and the documentation | |
does a poor job of explaining this. New users will not know that MyModel::foo() | |
under the hood calls (new MyModel)->newQuery()->foo() unless they read and can | |
understand the source code. Calls to facades like DB:: and Session:: are usually | |
redirected from the Manager class to the underlying Connection or SessionStore | |
classes, but if you call an undefined method you still get "undefined method | |
Manager::method". | |
If you're a hobbyist developer, the framework is fine, but you can get an | |
equally intuitive and developer-friendly framework out of Django or Ruby on | |
Rails - without having to deal with breaking changes in "bugfix" versions, and | |
with the guarantee that these frameworks will have a lifetime of up to decades, | |
while who knows what Laravel will be doing in a couple of years' time. If you're | |
a dev team leader or project manager, the lack of response and blatant disregard | |
for maintaining stability in the framework should be a serious warning sign. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Not much has changed ... my findings from the last review I made for a project
... and decided against Laravel.