aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md')
-rw-r--r--content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md334
1 files changed, 167 insertions, 167 deletions
diff --git a/content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md b/content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md
index 120dcae..78595fa 100644
--- a/content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md
+++ b/content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md
@@ -7,23 +7,23 @@ draft: false
7 7
8## Initial thoughts 8## Initial thoughts
9 9
10*This post is a critique on the current state of web development. It is an 10*This post is a critique on the current state of web development. It is an
11opinionated post! I will learn more about this in the future, and probably 11opinionated post! I will learn more about this in the future, and probably
12slightly change my mind about some of the things I criticize.* 12slightly change my mind about some of the things I criticize.*
13 13
14I have started working on a hobby project about two weeks ago, and I wanted to 14I have started working on a hobby project about two weeks ago, and I wanted to
15use that situation as a learning one. Trying new things, new technologies, new 15use that situation as a learning one. Trying new things, new technologies, new
16tools. I always considered myself to be an adventurous person when it comes to 16tools. I always considered myself to be an adventurous person when it comes to
17technology. I never shy away from trying new languages, new operating systems 17technology. I never shy away from trying new languages, new operating systems
18etc. Likewise, I find the whole experience satisfying, and it tickles that part 18etc. Likewise, I find the whole experience satisfying, and it tickles that part
19of my brain that finds discovery the highest of the mountains to climb. 19of my brain that finds discovery the highest of the mountains to climb.
20 20
21What I always wanted to make was a coding game, that you would play in a 21What I always wanted to make was a coding game, that you would play in a browser
22browser (just to eliminate building binaries for each operating system) where 22(just to eliminate building binaries for each operating system) where you would
23you would level up your character and go into these scriptable battles. You 23level up your character and go into these scriptable battles. You know, RPG
24know, RPG elements. 24elements.
25 25
26So, the natural way to go would be some sort of SPA (single page application) 26So, the natural way to go would be some sort of SPA (single page application)
27with basic routing and some state management. Nothing crazy. 27with basic routing and some state management. Nothing crazy.
28 28
29> **Before we move on**, I have to be transparent. Take my views on this with 29> **Before we move on**, I have to be transparent. Take my views on this with
@@ -31,92 +31,92 @@ with basic routing and some state management. Nothing crazy.
31> and my knowledge is full of gaps. This is my experience using some of these 31> and my knowledge is full of gaps. This is my experience using some of these
32> products for the first time or in a limited capacity. 32> products for the first time or in a limited capacity.
33 33
34Having this out of the way, I got myself a fresh pot of coffee and down the 34Having this out of the way, I got myself a fresh pot of coffee and down the
35rabbit hole I went. 35rabbit hole I went.
36 36
37## Giving React JS a spin 37## Giving React JS a spin
38 38
39I first tried [React JS](https://reactjs.org/). I kind of like it. Furthermore, 39I first tried [React JS](https://reactjs.org/). I kind of like it. Furthermore,
40I have worked with libraries like this in the past and also wrote a couple of 40I have worked with libraries like this in the past and also wrote a couple of
41them (nothing compared to that level), but I had the basic understanding of 41them (nothing compared to that level), but I had the basic understanding of what
42what was going on. I rolled up a project quickly and had basic things done in 42was going on. I rolled up a project quickly and had basic things done in a
43a matter of two hours, which was impressive. 43matter of two hours, which was impressive.
44 44
45I prefer using [Tailwind CSS](https://tailwindcss.com/) for my styling 45I prefer using [Tailwind CSS](https://tailwindcss.com/) for my styling
46pleasures, and integrating that was also a painless experience. It was actually 46pleasures, and integrating that was also a painless experience. It was actually
47nice to see that some things got better with time. In about 2 minutes I got 47nice to see that some things got better with time. In about 2 minutes I got
48Tailwind working, and I was able to use classes at my disposal. All that 48Tailwind working, and I was able to use classes at my disposal. All that
49`postcss` stuff was taken care of by adding a couple of things in config files 49`postcss` stuff was taken care of by adding a couple of things in config files
50(all described really well in their documentation). 50(all described really well in their documentation).
51 51
52It is not that different from Vue which I have had more encounters with in the 52It is not that different from Vue which I have had more encounters with in the
53past People will probably call me a lunatic for saying this. But you know, it 53past People will probably call me a lunatic for saying this. But you know, it is
54is the truth. Same same, but different. I still believe that using libraries 54the truth. Same same, but different. I still believe that using libraries like
55like this is beneficial. I am not a JavaScript purist. They all have their 55this is beneficial. I am not a JavaScript purist. They all have their quirks,
56quirks, but at the end of the day, I truly believe it’s worth it. 56but at the end of the day, I truly believe it’s worth it.
57 57
58## Bundlers and Transpilers 58## Bundlers and Transpilers
59 59
60I still reject calling [Typescript](https://www.typescriptlang.org/) to 60I still reject calling [Typescript](https://www.typescriptlang.org/) to
61[JavaScript](https://www.javascript.com/) conversion a "compilation process". 61[JavaScript](https://www.javascript.com/) conversion a "compilation process". I
62I call them [transpilers](https://devopedia.org/transpiler), and I don’t care! 😈 62call them [transpilers](https://devopedia.org/transpiler), and I don’t care! 😈
63 63
64And if you want to fight this, take a look at this little chart and be mad at it! 64And if you want to fight this, take a look at this little chart and be mad at
65it!
65 66
66![Compiling vs Transpiling](/assets/state-of-web/compiling-vs-transpiling.png) 67![Compiling vs Transpiling](/assets/state-of-web/compiling-vs-transpiling.png)
67 68
68The first one that I ever used was [webpack](https://webpack.js.org/), and it 69The first one that I ever used was [webpack](https://webpack.js.org/), and it
69was an absolute horrific experience. Saying this, it is an absolutely 70was an absolute horrific experience. Saying this, it is an absolutely fantastic
70fantastic tool. I felt more like a config editor than actually a programmer. 71tool. I felt more like a config editor than actually a programmer. To be fair,
71To be fair, I am a huge fan of [make](https://www.gnu.org/software/make/), 72I am a huge fan of [make](https://www.gnu.org/software/make/), and you can do as
72and you can do as you wish with this information. I like my build systems 73you wish with this information. I like my build systems simple.
73simple.
74 74
75Also, isn’t it interesting that we need something like [Babel](https://babeljs.io/) 75Also, isn’t it interesting that we need something like
76to make JavaScript code work in a browser that has only one client side 76[Babel](https://babeljs.io/) to make JavaScript code work in a browser that has
77scripting available, which is by no accident also JavaScript. Why? I know 77only one client side scripting available, which is by no accident also
78why it’s needed, but seriously, why. 78JavaScript. Why? I know why it’s needed, but seriously, why.
79 79
80I haven’t used Babel for years now. Or if I did, it was packaged together by 80I haven’t used Babel for years now. Or if I did, it was packaged together by
81some other bundler thingy. Which does not make things better, but at least 81some other bundler thingy. Which does not make things better, but at least I
82I didn’t need to worry about it. 82didn’t need to worry about it.
83 83
84I really don’t like complicated build systems. I really don’t like abstracting 84I really don’t like complicated build systems. I really don’t like abstracting
85code and making things appear magical. The older I get, the more I appreciate 85code and making things appear magical. The older I get, the more I appreciate
86clear and clean, expressive code. No one-liners, if possible. 86clear and clean, expressive code. No one-liners, if possible.
87 87
88But I have to give props to [Vite](https://vitejs.dev/)! This was one of the 88But I have to give props to [Vite](https://vitejs.dev/)! This was one of the
89best developer experiences I have ever had. Granted, it still has magical 89best developer experiences I have ever had. Granted, it still has magical
90properties. And yes, it still is a bundler and abstracts things to the nth 90properties. And yes, it still is a bundler and abstracts things to the nth
91degree. But at least it didn’t force me to configure 700 lines of JSON. And 91degree. But at least it didn’t force me to configure 700 lines of JSON. And I
92I know that this makes me a hypocrite. You can’t have it all. Nonetheless, 92know that this makes me a hypocrite. You can’t have it all. Nonetheless, my
93my reasoning here is, if using bundlers is inevitable, then at least they 93reasoning here is, if using bundlers is inevitable, then at least they should
94should provide an excellent developer experience. 94provide an excellent developer experience.
95 95
96I also noticed that now the catch-all phrase is “blazingly fast” and 96I also noticed that now the catch-all phrase is “blazingly fast” and “lightning
97“lightning fast” and “next generation” and stuff like that. I mean, yeah, 97fast” and “next generation” and stuff like that. I mean, yeah, tools should get
98tools should get faster with time. But saying that starting a project now takes 98faster with time. But saying that starting a project now takes 2 seconds instead
992 seconds instead of 20 seconds is something that is a break it or make it kind 99of 20 seconds is something that is a break it or make it kind of a deal is
100of a deal is ridiculous. I don’t mind waiting a couple of seconds every couple 100ridiculous. I don’t mind waiting a couple of seconds every couple of days. I
101of days. I also don’t create 700 projects every day, and also who does? This 101also don’t create 700 projects every day, and also who does? This argument has
102argument has no bite. All I want is a decent reload time (~100ms is more than 102no bite. All I want is a decent reload time (~100ms is more than good enough for
103good enough for me) and that is it. 103me) and that is it.
104 104
105You don’t need to sell me benefits if I only get them when I start a fresh 105You don’t need to sell me benefits if I only get them when I start a fresh
106project, and then try to convince me that this is somehow changing the fate 106project, and then try to convince me that this is somehow changing the fate of
107of the universe. First of all, it is not. And second, if this is your only 107the universe. First of all, it is not. And second, if this is your only argument
108argument for your tool, I would advise you to maybe re-focus your efforts to 108for your tool, I would advise you to maybe re-focus your efforts to something
109something else. Vite says that startup times are really fast. And if that 109else. Vite says that startup times are really fast. And if that would be the
110would be the only thing differentiating it from other tools, I would ignore 110only thing differentiating it from other tools, I would ignore it. But it has
111it. But it has some really compelling features like 111some really compelling features like [Hot Module
112[Hot Module Replacement](https://www.geeksforgeeks.org/reactjs-hot-module-replacement/) 112Replacement](https://www.geeksforgeeks.org/reactjs-hot-module-replacement/) that
113that really works well. It was a joy to use. 113really works well. It was a joy to use.
114 114
115So, I will be definitely using Vite in the future. 115So, I will be definitely using Vite in the future.
116 116
117## Jam Stack, Mach Stack no snack 117## Jam Stack, Mach Stack no snack
118 118
119Let's get a couple of the acronyms out of the way, so we all know what we are 119Let's get a couple of the acronyms out of the way, so we all know what we are
120talking about: 120talking about:
121 121
122- Jam Stack - JavaScript, API and Markup 122- Jam Stack - JavaScript, API and Markup
@@ -124,74 +124,75 @@ talking about:
124 124
125It is so hard to follow all these new trendy things happening around you, that 125It is so hard to follow all these new trendy things happening around you, that
126it makes you have a massive **FOMO** all the time. But on the other hand, you 126it makes you have a massive **FOMO** all the time. But on the other hand, you
127also don’t want to be that old fart that doesn’t move with the times and still 127also don’t want to be that old fart that doesn’t move with the times and still
128writes his trusty jQuery code while listening to Blink 182 All the small things 128writes his trusty jQuery code while listening to Blink 182 All the small things
129on full blast. It’s a good song, don’t get me wrong, but there are other songs 129on full blast. It’s a good song, don’t get me wrong, but there are other songs
130out there. 130out there.
131 131
132I have to admit. [Vercel](https://vercel.com/) is really cool! Love the 132I have to admit. [Vercel](https://vercel.com/) is really cool! Love the
133simplicity of the service. You could compare it to [Netlify](https://www.netlify.com/). 133simplicity of the service. You could compare it to
134I haven’t tried Netlify extensively, but from a couple of experimental 134[Netlify](https://www.netlify.com/). I haven’t tried Netlify extensively, but
135deployments I still prefer Vercel. It is much more streamlined, but maybe this 135from a couple of experimental deployments I still prefer Vercel. It is much more
136is bias in me. I really like Vercel’s Analytics, which give you a 136streamlined, but maybe this is bias in me. I really like Vercel’s Analytics,
137[Core Web Vitals report](https://web.dev/vitals/) in their admin console. Kind 137which give you a [Core Web Vitals report](https://web.dev/vitals/) in their
138of cool, I’m not going to lie. 138admin console. Kind of cool, I’m not going to lie.
139 139
140This whole idea about frontend and backend merging into [SSR (server-side rendering)](https://www.debugbear.com/blog/server-side-rendering) 140This whole idea about frontend and backend merging into [SSR (server-side
141looks so good on paper. It almost doesn’t come with any major flaws. 141rendering)](https://www.debugbear.com/blog/server-side-rendering) looks so good
142on paper. It almost doesn’t come with any major flaws.
142 143
143But when it comes to the actual implementation, there is much to be desired. 144But when it comes to the actual implementation, there is much to be desired.
144I’m going to lump [Next.js](https://nextjs.org/) and [Nuxt.js](https://nuxtjs.org/) 145I’m going to lump [Next.js](https://nextjs.org/) and
145together because they are essentially the same thing, just a different library. 146[Nuxt.js](https://nuxtjs.org/) together because they are essentially the same
147thing, just a different library.
146 148
147Now comes the reality. Mixing backend and frontend in this manner creates this 149Now comes the reality. Mixing backend and frontend in this manner creates this
148weird mental model where you kind of rely on magical properties of these 150weird mental model where you kind of rely on magical properties of these
149libraries. You relinquish control over to them for better developer experience. 151libraries. You relinquish control over to them for better developer experience.
150But is that really true? Initially, I was so stoked about it. However, the 152But is that really true? Initially, I was so stoked about it. However, the more
151more I used them, the more I felt uncomfortable. I felt dirty, actually. Maybe 153I used them, the more I felt uncomfortable. I felt dirty, actually. Maybe this
152this is because I come from old ways of doing things where you control every 154is because I come from old ways of doing things where you control every step of
153step of request, and allowing something to hijack it feels like blasphemy. 155request, and allowing something to hijack it feels like blasphemy.
154 156
155More than that, some pretty significant technical issues arose from this. How 157More than that, some pretty significant technical issues arose from this. How do
156do you do JWT token authentication? You put it in `api` folder and then do some 158you do JWT token authentication? You put it in `api` folder and then do some
157fetching and storing into local state management. But doing this also requires 159fetching and storing into local state management. But doing this also requires
158some tinkering with await/async stuff on the React/Vue side of things. And then 160some tinkering with await/async stuff on the React/Vue side of things. And then
159you need to write middleware for it. And the more I look at it, the more I see 161you need to write middleware for it. And the more I look at it, the more I see
160that this whole thing was not meant to be used like this, and it all feels and 162that this whole thing was not meant to be used like this, and it all feels and
161looks like a huge hack. 163looks like a huge hack.
162 164
163The issue I have with this is that they over-promise and under-deliver. They 165The issue I have with this is that they over-promise and under-deliver. They
164want to be an all-in-one replacement for everything, and they don’t deliver 166want to be an all-in-one replacement for everything, and they don’t deliver on
165on this promise. And how could they?! We have to be fair. It is an impossible 167this promise. And how could they?! We have to be fair. It is an impossible task.
166task.
167 168
168They sell you [NoOps](https://www.geeksforgeeks.org/overview-of-noops/), but 169They sell you [NoOps](https://www.geeksforgeeks.org/overview-of-noops/), but
169when you need to accomplish something a little bit more out of the scope of 170when you need to accomplish something a little bit more out of the scope of
170Hello World, you have to make hacky decisions to make it work. And having a 171Hello World, you have to make hacky decisions to make it work. And having a
171deployment strategy that relies on many moving parts is never a good idea. 172deployment strategy that relies on many moving parts is never a good idea.
172Abstracting too much is usually a sign of bad architecture. 173Abstracting too much is usually a sign of bad architecture.
173 174
174Lately, this has become a huge trend that will for sure bite us in the future. 175Lately, this has become a huge trend that will for sure bite us in the future.
175And let’s not get it twisted. By doing this, PaaS providers like 176And let’s not get it twisted. By doing this, PaaS providers like
176[AWS](https://aws.amazon.com/), [GCS](https://cloud.google.com/), etc. obscure 177[AWS](https://aws.amazon.com/), [GCS](https://cloud.google.com/), etc. obscure
177their billing, and you end up paying more than you really should. And even if 178their billing, and you end up paying more than you really should. And even if
178that is not an issue, it comes down to the principle of things. AWS is known 179that is not an issue, it comes down to the principle of things. AWS is known for
179for having multiple “currencies“ inside their projects like write operations, 180having multiple “currencies“ inside their projects like write operations, read
180read operations, etc. which add up, and it creates this impossible to track 181operations, etc. which add up, and it creates this impossible to track billing
181billing scheme. It all behaves suspiciously like a pay-to-win game you could 182scheme. It all behaves suspiciously like a pay-to-win game you could find on
182find on mobile phones that scams you out of your money. 183mobile phones that scams you out of your money.
183 184
184And as far as I am concerned, the most important thing was me not coding the 185And as far as I am concerned, the most important thing was me not coding the
185functionalities for the game I want to make. I was battling libraries and 186functionalities for the game I want to make. I was battling libraries and cloud
186cloud providers. How to deploy, what settings are relevant. Bad documentation 187providers. How to deploy, what settings are relevant. Bad documentation or
187or multiple versions of achieving the same thing. You are getting bombarded 188multiple versions of achieving the same thing. You are getting bombarded by all
188by all this information, and you don’t really have any control over it. 189this information, and you don’t really have any control over it.
189Production-ready code becomes a joke, essentially. Especially if you tend to 190Production-ready code becomes a joke, essentially. Especially if you tend to
190work on that project for a prolonged period of time. 191work on that project for a prolonged period of time.
191 192
192All of these options end up creating a fatigue. What to choose, what not to 193All of these options end up creating a fatigue. What to choose, what not to
193choose. Unnecessary worrying about if the stack will still be deemed worthy 194choose. Unnecessary worrying about if the stack will still be deemed worthy in
194in six months. There is elegance in simplicity. 195six months. There is elegance in simplicity.
195 196
196> JavaScript UI frameworks and libraries work in cycles. Every six months or 197> JavaScript UI frameworks and libraries work in cycles. Every six months or
197> so, a new one pops up, claiming that it has revolutionized UI development. 198> so, a new one pops up, claiming that it has revolutionized UI development.
@@ -202,102 +203,101 @@ in six months. There is elegance in simplicity.
202 203
203![To many options](/assets/state-of-web/2008-vs-2020.png) 204![To many options](/assets/state-of-web/2008-vs-2020.png)
204 205
205And this jab at these libraries and cloud providers is not done out of malice. 206And this jab at these libraries and cloud providers is not done out of malice.
206It is a real concern that I have about them. In my life, I have seen 207It is a real concern that I have about them. In my life, I have seen
207technologies come and go, but the basics always stick around. So surrendering 208technologies come and go, but the basics always stick around. So surrendering
208all the power you have to a library or a cloud provider is in my opinion a 209all the power you have to a library or a cloud provider is in my opinion a
209stupid move. 210stupid move.
210 211
211## Tailwind CSS still rocks! 212## Tailwind CSS still rocks!
212 213
213You know, many people say negative things about Tailwind. And after a lot of 214You know, many people say negative things about Tailwind. And after a lot of
214deliberation, I came to the conclusion that Tailwind is good for two types of 215deliberation, I came to the conclusion that Tailwind is good for two types of
215developers. Tailwind is good for a complete noob or a senior developer. A 216developers. Tailwind is good for a complete noob or a senior developer. A
216complete noob doesn’t really care about inner workings of CSS, and a senior 217complete noob doesn’t really care about inner workings of CSS, and a senior
217developer also doesn’t care about CSS. Well, at least, not anymore. And 218developer also doesn’t care about CSS. Well, at least, not anymore. And
218developers in between usually have the biggest issues with it. Not always of 219developers in between usually have the biggest issues with it. Not always of
219course, but in a lot of cases. 220course, but in a lot of cases.
220 221
221I like the creature comforts of Tailwind. Being utility first would make me 222I like the creature comforts of Tailwind. Being utility first would make me
222argue that it is actually more similar to [Sass](https://sass-lang.com/) or 223argue that it is actually more similar to [Sass](https://sass-lang.com/) or
223[Less](https://lesscss.org/) than something like Bootstrap. Not technically, 224[Less](https://lesscss.org/) than something like Bootstrap. Not technically, but
224but ideologically. After I started using it, I never looked back. I use it 225ideologically. After I started using it, I never looked back. I use it every
225every time I need to do something web related. 226time I need to do something web related.
226 227
227Writing CSS for general things feels like going several steps back. Instead of 228Writing CSS for general things feels like going several steps back. Instead of
228focusing on what you are actually trying to achieve, you focus on notations 229focusing on what you are actually trying to achieve, you focus on notations like
229like [BEM](https://en.bem.info/methodology/css/), code structuring, optimizing 230[BEM](https://en.bem.info/methodology/css/), code structuring, optimizing HTML
230HTML size. Just doing things that make 0.1% difference. You know that saying: 231size. Just doing things that make 0.1% difference. You know that saying: Early
231Early optimization is the root of all evil. Exactly that. 232optimization is the root of all evil. Exactly that.
232 233
233I am also not saying that Tailwind is the cure for everything. Sometimes custom 234I am also not saying that Tailwind is the cure for everything. Sometimes custom
234CSS is necessary. But from what I found out in using it for almost two years 235CSS is necessary. But from what I found out in using it for almost two years in
235in a production environment (on a site getting quite a lot of traffic and 236a production environment (on a site getting quite a lot of traffic and
236constantly being changed), I can say without any reservations that Tailwind 237constantly being changed), I can say without any reservations that Tailwind
237saved our asses countless times. We would be rewriting CSS all the time without 238saved our asses countless times. We would be rewriting CSS all the time without
238it. And I don’t really think writing CSS is the best way to spend my time. 239it. And I don’t really think writing CSS is the best way to spend my time.
239 240
240I have also noticed that people who criticize Tailwind the most never actually 241I have also noticed that people who criticize Tailwind the most never actually
241used it in a real project that has a long lifetime with plenty of changes that 242used it in a real project that has a long lifetime with plenty of changes that
242will happen in the future. 243will happen in the future.
243 244
244But you know, whatever floats your boat! 245But you know, whatever floats your boat!
245 246
246## Code maintainability 247## Code maintainability
247 248
248Somehow, people also stopped talking about maintenance. If you constantly try 249Somehow, people also stopped talking about maintenance. If you constantly try to
249to catch the latest and greatest train, you are by that logic always trying 250catch the latest and greatest train, you are by that logic always trying new
250new things. Which is a good thing if you want to learn about technologies and 251things. Which is a good thing if you want to learn about technologies and try
251try them. But for the production environment, you have to have a stable stack 252them. But for the production environment, you have to have a stable stack that
252that doesn’t change every 6 months. 253doesn’t change every 6 months.
253 254
254You can lock dependencies for sure. Nevertheless, the hype train moves along 255You can lock dependencies for sure. Nevertheless, the hype train moves along
255anyway. And the mindset this breeds goes against locking the code. This 256anyway. And the mindset this breeds goes against locking the code. This
256bleeding-edge rolling release cycle is not helping. That is why enterprise 257bleeding-edge rolling release cycle is not helping. That is why enterprise
257solutions usually look down on these popular stacks and only do bare minimum to 258solutions usually look down on these popular stacks and only do bare minimum to
258appear hip and cool. 259appear hip and cool.
259 260
260With that said, I still think that progress is good, but should be taken with a 261With that said, I still think that progress is good, but should be taken with a
261grain of salt. If your project is something that should be built once and then 262grain of salt. If your project is something that should be built once and then
262rarely updated, going with the latest stack is a possible way to go. But, if 263rarely updated, going with the latest stack is a possible way to go. But, if you
263you are working on a project that lasts for years, you should probably approach 264are working on a project that lasts for years, you should probably approach it
264it with some level of caution. Web development is often times too volatile. 265with some level of caution. Web development is often times too volatile.
265 266
266## Web development has a marketing issue 267## Web development has a marketing issue
267 268
268I noticed that almost every project now has this marketing spin put on it. 269I noticed that almost every project now has this marketing spin put on it.
269Everything is blazingly fast now. I get it, they are competing for your 270Everything is blazingly fast now. I get it, they are competing for your
270attention, but what happened to just being truthful and not inflating reality. 271attention, but what happened to just being truthful and not inflating reality.
271 272
272And in order to appeal to mass market, they leave things out of their marketing 273And in order to appeal to mass market, they leave things out of their marketing
273materials. These open-source projects are now behaving more and more like 274materials. These open-source projects are now behaving more and more like
274companies do. Which is a scary thought on its self. 275companies do. Which is a scary thought on its self.
275 276
276And we are also seeing a rise in a concept of building a company in the open, 277And we are also seeing a rise in a concept of building a company in the open,
277which is a good thing, don't get me wrong. But when it is using open-source to 278which is a good thing, don't get me wrong. But when it is using open-source to
278lure people and then lock them in their ecosystem, there is where I have issues 279lure people and then lock them in their ecosystem, there is where I have issues
279with it. 280with it.
280 281
281This might be because I have been using GNU/Linux for 20 years now and have 282This might be because I have been using GNU/Linux for 20 years now and have been
282been so beholden for my success to open-source that I see issues when 283so beholden for my success to open-source that I see issues when open-source is
283open-source is being used to trick people into a false sense of security that 284being used to trick people into a false sense of security that these projects
284these projects are built in the spirit of open-source. Because there is a 285are built in the spirit of open-source. Because there is a difference. They are
285difference. They are NOT! They have a really specific goal in mind. And the 286NOT! They have a really specific goal in mind. And the open-source is being used
286open-source is being used as a delivery system. Which is in my opinion 287as a delivery system. Which is in my opinion disgusting!
287disgusting!
288 288
289## Conclusion 289## Conclusion
290 290
291I will end my post with this. Web development is running now in circles. People 291I will end my post with this. Web development is running now in circles. People
292are discovering [RPC](https://www.tutorialspoint.com/remote-procedure-call-rpc) 292are discovering [RPC](https://www.tutorialspoint.com/remote-procedure-call-rpc)
293now and this is the now the next big thing. [GraphQL](https://graphql.org/) is 293now and this is the now the next big thing. [GraphQL](https://graphql.org/) is
294so passé. And I am so tired of it all. Of blazingly fast libraries, of all 294so passé. And I am so tired of it all. Of blazingly fast libraries, of all these
295these new technologies that are actually just a remake of old ones. Of just 295new technologies that are actually just a remake of old ones. Of just the
296the general spirit of the web. I will just use what I already know. Which worked 296general spirit of the web. I will just use what I already know. Which worked 10
29710 years ago and will work 10 years after this. I will adopt a couple of 297years ago and will work 10 years after this. I will adopt a couple of little
298little tools like Vite. But I will not waste my time on this anymore. 298tools like Vite. But I will not waste my time on this anymore.
299 299
300It was a good exercise to get in touch with what’s new now. Nothing really 300It was a good exercise to get in touch with what’s new now. Nothing really
301changed that much. FOMO is now cured! Now I have to get my ass back to actually 301changed that much. FOMO is now cured! Now I have to get my ass back to actually
302code and make the project that I wanted to make in the first place. 302code and make the project that I wanted to make in the first place.
303 303