It is not easy to give up illusions, but it's time to draw a line. Maybe someone will fit at the crossroads of choice. Well, then I will show my grandchildren. This story is already 20 years old. Summary: frameworks - never again; there is an exit.
You can go straight to the point , or with a preface: why is a meteor at all?
Started on Delphi under the flags of RAD and VCL . Two suitcases of books - bought everything, like a maniac. It's nice to know that some people learned to code in the Winsyntax editor.
Years have passed. Got a webmaster in the IT department. In addition to shaking up the corporate website in PHP, I got acquainted with the SharePoint monster: widgets in C #, InfoPath forms, a gateway to HP ServiceDesk in Java. And really wanted to raise saytik about my typewriter .
Like SharePoint, but for PHP - hello, Drupal. It was love at first sight. Delphi for the web. The register of modules is a treasure box. The basic functionality can be customized with the mouse. Collective intelligence to solve technical issues. I got sick myself, and infected the author of LiveStreet :
Work on the engine (for the time being just a universal engine, without being linked to blogs) began almost two months ago, after a charge of energy from communication with an advanced PHP developer.
Then there was Mamba. I learned about Highload and Big Data, about the costs of developing and maintaining a large, very large bike. Then he tried on the role of a major expert of web technologies in a fat startup: a framework will save us from any troubles, in a hare I will raise a super-duper project to the Maldives. Django? Python is charming, but no. Maybe Yii? Oh nafig PHP in general. V8, NPM, CoffeeScript, Jade, Express - expanse. The roof went from SocketStream (wow, still alive), thanks to the author for the tip - hello, Meteor. It was blown up once or twice, as it seemed to me. Today, I have gained a lot of full-time practice.
Suddenly realized the cynical truth. I chose frameworks to compensate for the lack of resources for a quick start, but this is a conditional value when running a long distance. The framework, by definition, has excessive functionality - you need to please all-all applications. "The more we surrender, the better." No matter how beautiful the framework may seem, the story will be repeated every time. Our business goals diverge.
Recall the terrifying intricacies of the data schema under the hood of Drupal, where stupid caching saved (Alexander Solovyov also spoke about this in the optimization report modnaKasta).
The framework assumes responsibility by limiting the choice of third-party solutions. Initially dubious decisions interfere. The right decisions become obsolete. The meteor is changing and packages are being bombarded: AutoForm, CollectionFS, Jade, IronRouter, crafts from guru @arunoda. The lifetime of packages dependent on the framework is significantly inferior to the libraries for the platform. And here is a specific ambush: on the support there are thousands of lines of spreading left code with obligations to update dependencies for new versions of the framework.
Atmosphere - the official register of packages that stores tons of junk junk. And no longer collects installation statistics, although the mechanism can be embedded in Meteor (I remember Drupal). From the "wealth of choice" eyes run. The situation is aggravated by the rejection of free hosting demos on * .meteor.com - does the launch of Galaxy close the possibility of further foreign investments? Well, ok.
And this Atmosphere of yours slows down the whole way (although it can be accelerated, see Fastosphere) - nobody cares.
On the redesign of the documentation . Previously, it was one page with anchors. Who is she disturbing? Links from Google no longer work (the guys apparently do not know that hypertext is the integrity of the links in the first place). Under the howl of criticism, after some time, an internal search appeared, but keep it for yourself (moved to devdocs.io).
The more responsibility the framework takes on, the greater the technological gap in the basic packages. Selected examples: HTTP / 2 , Mongo , Node . The build speed has increased markedly with the transition to version 1.3 (the long-awaited support for NPM), but this is still a natural thrash.
The cornerstone of productivity (yes, yes, I speak only for myself) is sent to landfill. JS bit the bit, alas. The language should be simple at a basic level. But the framework must follow the trends, yeah. Really met the requirement in vacancies: disgust for CoffeeScript. See how beautiful CoffeeScript React is.
Does GraphQL close the question about scalability LiveQuery? Wait and see, only I need it today. While Horizon is ahead in the development of Apollo . Plus, Viktor Grishchenko criticized the DDP at the HolyJS conference . They say there is no id version in the forwarded packets. And this means that if users went offline and returned after some time, then “optimistic updates” (aka latency compensation) will not work and the data will be lost.
Favro - elegant, but the source is not available. RocketChat is still there, but it's sad :
I believe that RocketChat will outgrow Meteor. We have been developing many workarounds to Meteor's limitations. If you want to make it your own way, you can’t get it. easier and necessary.
I found nothing more interesting.
By the way, here are the alternative sets on the knee with a jigsaw without a claim to be called frameworks: Meatier , lovli.js .
Just now I found out how it was intended :
It is designed to be exclusive to the well-funded teams.
Meteor is increasingly moving to the Facebook technology stack, apparently wants to merge in ecstasy. Amen!
You need to reach the horizon to see the new horizon.
PS: one more sight .
PPS: why frameworks are evil .
Source: https://habr.com/ru/post/305338/
All Articles