I often see how they whine here that the habr has a terrible karma system. Like to write a comment, the author must approve it, but the authors are hammered into moderation, and I am deprived of the freedom to speak, although I wrote a meaningful and balanced opinion.
Here I am the author, and I score for moderation. Not because I’m lazy – my pitiful development salary is not enough for a powerful enough machine to moderate my publications, where 1000+ comments. Habr works in a browser, and our society is not yet so technologically advanced that it is possible to take and display a couple of thousand entries on the screen like this. In the browser. In all other places it is easy. But Habr does not have such other places, they are concentrated on the web version for everything – for a desktop, tablet, ios and android.
I would scold them thoroughly, but they just follow trends. Somewhere once some sooo big asshole took and said: “Look, if you make a website and use it as an application, you will get almost the same!” And he was right. But this “almost” is a gigantic, insurmountable abyss.
When he said this, I’m sure all sorts of plus-men came along and began to grumble – nothing would work, the web is the web, and applications are applications. Nobody listened to the grumblers – they are always unhappy with everything, but somehow the world needs to be moved forward. The idea is tempting – why create five applications if you can do only one at once for all platforms. Make it on the front-end stack, where everyone is his own dad, and any hell from the garage “Creator of someGreatShit.js, rambda.js contributor, shit.js committee”. Technologies and libraries for every taste, and the tools are updated every day, and writing code here is very fashionable.
I am ironic, but I myself somehow sold the idea to a business to build our desktop applications on electronic, because I was insanely impressed by the latest releases of the typescript (we can only dream of such flexible stat.typing in the sisharp). But I then tried to make the simplest application on this electron, looked at how it works, and threw the idiotic idea out of my head. I’m a great fellow. People who decided to bring the world of applications to the browser are not great at all.
When they considered how much money and time their web apps would save them, they forgot to calculate how much worse they are than conventional applications. They started making them, the rest of the world began to monkey, and now, when you try to make a good application for each platform, they twist your finger to your temple. Are you an idiot – why are you doing extra work ?!
You tell them that everything is not working well for them. That it is not the same. That in the browser two thousand comments cannot be rendered – and even if it works, it will consume several gigs of operative. That it is impossible to maintain the state normally. That, after all, there is a bunch of software that could work without a network. That the very concept of cross-platform implies that the application will only contain what can be implemented for all platforms in general. And if you try to write one application with different functionality for each platform, then you won’t win anything in the budget, but you will keep the other disadvantages of browser applications.
That the browser restrictions themselves – such as the address bar, security restrictions, built-in devtools, window resizing given to the user – and a bunch of other things – do not lie on all software concepts.
Sometimes companies run into these things – but they persist. They made an electron that works absolutely horrible. And developing on it is a real hell. But he is in a paradigm, and everyone forgives him for this.
I once worked in a team that presented a web application as real. At the beginning of the project, everything went well, but as soon as it grew a little, the nuances began. So we realized that here we need a double click, and here we need a lingering tap – and so we piled crutches to support it. And here we have a lingering tap on aios does not work like a lingering tap on an android. But we have an event that we want to process on Windows, and we have no analogue on other platforms. And here we have a table in which we can easily display all the data on desktops, and on mobile phones we need a complex preview system. And then, finally, we noticed that with the growth of the application, the sexy animations on each screen suddenly began to slow down wildly, and nothing can be done about it.
And the project is already a year old, rewriting on native is not an option. He will ALWAYS be like this now.
But it’s okay – after all, all our competitors have the same thing. When there is a thing on the market that makes a very expensive development process several times cheaper, there will be no thing in the world that will stop a business from choosing. And users can now whine as much as they want that nothing is loaded with them, and the buttons on the ios do not respond to tapas. Bro, noah as much as you like, an extra development team for a native app for your fucking android costs half a million dollars a year. You and your problems are much cheaper.
The worst thing is that this paradigm is ideologically correct. At a high level, software is process automation. It is much better if programmers are engaged in complex work on this automation, rather than sort out the specifics of platforms, and do the same application five times.
But. Our platforms are not the result of a consolidated team of architects. They grew up in a competitive and anarchic environment in a strange and fast-paced world. These are the platforms that we deserve, not the ones that should be. And the web is the worst of them all.
From the very beginning there were the most complex and intricate requirements for him, at some point literally everything did it – as it turned out. Browser engines are now a terrible, unreproducible legacy precisely in the sense of the requirements that have accumulated for them. They cannot be rewritten and redefined – only built on and extended. This whole system, as it is, did not take shape according to a calculated plan – it is a series of a huge, simply innumerable number of random decisions of random people, none of whom saw the whole picture.
We will never build the world on applications that run on such a system. The further we go, the further we will stumble – nothing will work for us, and each new fix will cost twice as much as the previous one. The future of humanity will absolutely revolve around the custom software we write. And we need to think hard about whether we have chosen the right path in pursuit of economy.
Needed development server or for any other purpose? Epic servers from VDSina with modern and powerful processors from AMD are perfect. A wide range of configurations with daily pay. We recommend trying it now!