Why is that obvious? I can think of several other frameworks that this would apply to. Drupal for instance, Yii is another and there are quite a few more.
Why is that obvious? I can think of several other frameworks that this would apply to. Drupal for instance, Yii is another and there are quite a few more.
According to some conversations I've had with folks, Drupal 8 seems to be even worse than Drupal 7, and Drupal 7 is literally the worst upgrade experience I've ever had. Piles of new jargon and new APIs get introduced in every new release, and often replaces or subsumes entire swaths of similar functionality in previous releases (e.g. nodes -> entities), and Drupal was already ridiculously jargon-heavy to the point of documentation making no sense to someone without extensive experience with the specific ways they use terminology, and googling generic terms like "node" and "entity" is a laughably unhelpful process.
I have, at many points in this process, thought: "Fuck everything about this, I'm migrating to WordPress." I probably should have done so the first time I thought that, as it would be done by now. But, every time I made it over another hump in the upgrade, I thought, "Surely that was the worst of it." and kept slogging along. Upgrading WordPress is literally a no-brainer, now...you just get emails every week or two saying, "Your website has been updated to the latest version of WordPress." Sometimes, you click the "upgrade database" button.
Sorry to rant. But, I happen to be working on my Drupal upgrade again today, so I'm grumpy.
So some folks were caught not being able to upgrade due to a crucial module being abandoned at 6.
But, the biggest problem I have is that even when there was a pledge to do so and when they actually eventually produced a D7 module (Drupal 7 is several years old...I spent most of this time waiting for the modules we rely on to become stable on Drupal 7), there wasn't a pledge to provide an upgrade path...so, you've got data in some module in Drupal 6, and no way to get that data into the same module in Drupal 7. Often there are bizarre workarounds, like using the Migrate module, which is designed to handle all sorts of migration tasks and is thus endlessly complex, and requires custom migration code (and comprehension of a huge swath of even more new jargon and convoluted, baroque, APIs).
It begins to remind me of Zope/Plone from many years ago, which had many of the same problems. Lots of jargon, lots of new ideas in each version before the old ideas were stable or fully implemented, painful upgrades, tight coupling of interfaces making changes in one part of the system require changes in every part of the system. A modular system is nearly meaningless, if every module has to be rewritten with every new release.
(now if I can get this damned rails gem to work properly....)
The issues with Yii and Drupal are a bit different. Yii is a serverside framework. And Drupal a CMS. I'd say the case with Drupal is way more problematic than Yii's though.
Properly handling deprecations and providing a clear and reasonable migration path for your users will keep them happy and will keep them upgrading instead of either sticking to old versions or jumping ship.
These are not concerns that apply only to front-end frameworks.
The "that's how you avoid creating another framework and fragmenting community" comment is pretty clearly about the angular mess last year, and rightly so. I have a love-hate relationship with Angular. It's been a complicated journey and at times handled poorly. They seem to be on a better track now.
Regardless, I don't think there was any malintent in nercury's post. They are all good lessons learned.
- The switch from symfony 1.4 to Symfony 2.0 requires a complete rewrite. Support for symfony 1.4 stopped fairly quickly; there seemed no understanding that companies wouldn't pay to rewrite their messy-but-working systems onto a 'cleaner' framework.
- MODX Content Management System. There is no upgrade path from 1.X to 2.X. Good luck to you if you've invested years developing your site on 1.X...