DEV Community

Discussion on: Does your website really need to be larger than Windows 95?

 
sudiukil profile image
Quentin Sonrel

I'm getting tired of the "Stop using JavaScript" rant.

Just to make something clear before I elaborate: I don't like JS, and even though I'm a web developer working daily with modern web techs, I don't like how the web looks like today.

Yes it would be nice if it could be more optimized, but optimization takes time. And guess what: time costs money. Because today software is a business. Not an art, a business. And in a business, your goal is to sell as much as possible as quickly as possible while satisfying the client.

So if your client wants the most modern JS-ridden website, unless you can achieve the same result, in the same time, for the same cost but optimized and written in C or whatever pleases you (spoiler alert: you can't), they'll go somewhere else. Because the developer next door will use JS and make the site the client wants and be done with it. Because it sells and because optimization, as of today, is not required to sell a site. That may be sad, but that's true.

So yeah sure, stop using JS if you want, but that won't change the fact that today, we are caught in a trap were JS is necessary. That's because we live in a world influenced by business and business only, not by the satisfaction of producing beautiful and optimized code. Welcome to 2018, welcome to capitalism.

Thread Thread
 
tux0r profile image
tux0r

unless you can achieve the same result, in the same time, for the same cost but optimized and written in C or whatever pleases you (spoiler alert: you can't)

Why not?

That's because we live in a world influenced by business and business only

And it is our job as developers to show businesses how things could be made better than they were.

Thread Thread
 
sudiukil profile image
Quentin Sonrel

Why not?

You are seriously telling me you can pick any modern (that term is relative but you get what I mean) website and do the same thing from scratch in C (or whatever) with the exact same features in the same time, for the same cost (and therefore the same price) AND do the same kind of maintenance on it once it's done?

You know what, let's say you can. Congratulations. But can I do it? Probably not. Can most developers do it? Also probably not. Why? Because that's not the way we learned to do it. We learned the simpler way: JS and all.

That's the goal of JS and all the modern frameworks: to make things easier. So yeah, let's make a crusade and teach every single web dev (because you can't do it alone) to do the same job with different, more optimized tools. But learning takes time too. Which also costs money. For what? Optimized code? Ok, will it sell more? Nope.

Again, the only thing you have to gain is satisfaction (for the developers, since no one else cares), which makes the whole thing irrelevant business-wise.

And it is our job as developers to show businesses how things could be made better than they were.

And it's the job of the engineer who designed your dishwasher to make it durable, but once again, that's not good for business, planned obsolescence is.

So, sure, show businesses how things could be better. But what you are suggesting increases complexity in many ways and does not guarantees better profit, so I doubt businesses will care.

Thread Thread
 
bgadrian profile image
Adrian B.G.

You are delusional or you will publish a paper on how to make websites without JS in the same amount of time/productivity. Please do, many of us want a JS alternative.

Not all people afford to live in a self made bubble, we have to solve real businesses problems, like building Admins that will generate value for customers.

Thread Thread
 
tux0r profile image
tux0r

many of us want a JS alternative.

The "JS alternative" predates JavaScript by decades: If you really need to run code on your users' machines for whatever reason you might make up to rectify being paid for that, write a desktop application. Problem solved.

Thread Thread
 
sudiukil profile image
Quentin Sonrel

You forget one thing: users don't want desktop apps anymore.

Thread Thread
 
bgadrian profile image
Adrian B.G.

Like I said, you live in a self-made delusional bubble world, the real world has changed.

There is no use to talk more until you understand the value that JS brought for developers, businesses and customers (productivity, portability and a huge range of platforms and many more).

After that you can offer a real alternative. Not mobile, not native, not desktop, not CLI, not cronjobs, not salesforce scripts, pure browser apps.

Thread Thread
 
tux0r profile image
tux0r

One of the problem might be the term "apps", blurring the thick line between desktop applications, websites and mobile crapps. (Yes, I have just invented a new term. Public domain, of course.)

Users want software that works. Their web browser is a desktop application, their Solitaire is a desktop application, their Word/Excel/Outlook (with Outlook being more and more replaced by web cruft...) is probably a desktop application. Who are "the users"? The ones you know? The ones I know?

There is no "all users want $thing". Users use whatever fits their needs - and their needs are not "we need everything in our web browser", because else Electron would not be a thing. Their needs are fulfilled by software that is easily accessible. Of course, web cruft can be sold easier (because you own the servers and the users are forced to rent access instead of buy the full thing)... but is that the most important aspect to you?

Thread Thread
 
sudiukil profile image
Quentin Sonrel • Edited

Their web browser is a desktop application, their Solitaire is a desktop application, their Word/Excel/Outlook (with Outlook being more and more replaced by web cruft...) is probably a desktop application

Yeah and just like you said: Outlook is being more and more replaced by an online solution, Word/Excel are getting the same treatment as the time passes and I'm pretty sure a good deal of people have traded their Solitaire for an online version (actually, they play Clash of Clans on their smartphone instead *sigh*)

Users use whatever fits their needs - and their needs are not "we need everything in our web browser", because else Electron would not be a thing.

That's true, for some things users still require desktop software and Electron is just like most of the JS stuff: a convenience for the developers. If you developed a web app that needs a desktop version, Electron is a quicker solution than rewriting a real desktop software. Once again, I'm not saying it's a good thing, nor that I like Electron (I truly don't), but once again, business-wise, Electron is relevant.

but is that the most important aspect to you?

That's what I'm trying to say: what's important to me is not relevant. I started programming with C and for years I wanted to write desktop apps and hated web for almost the same reasons as you. Then I realized that I need to make money (and that web is actually fun despite it's many defaults, but that's another debate) with programming, hence my current job involving JS (among others). What's important to me does not matter, the reality is here: JS is a tool answering the needs of today, and we have to stick with it for this exact reason.

Thread Thread
 
tux0r profile image
tux0r

I need to make money (...) with programming

Apple makes money with programming, not having one single "web application" that would be worth a cent.

Thread Thread
 
sudiukil profile image
Quentin Sonrel

Apple is Apple, you are not, I am not, and no one else is, what applies to them cannot be generalized.

You are talking about a company that makes money by having it's own ecosystem and it's own marketing target. They don't sell products, they sell a brand. Their phones are not the best (none are) yet they sell, because they have their customers ready to buy just for the brand. The same goes for their software, may it be desktop or not. They could just switch everything to the cloud tomorrow, they'd still make a shitload of money because their customers will remain.

Thread Thread
 
tux0r profile image
tux0r

Apple is Apple, you are not, I am not, and no one else is

No one else can make money with software that does not run in your web browser? Are you serious?

Even some of my (free) desktop software - not even actively marketed by me - generates donations because people want it. What am I doing wrong?

Thread Thread
 
sudiukil profile image
Quentin Sonrel • Edited

I'm not saying no one else can, I'm saying Apple is an irrelevant example because of their very specific way of doing things.

Of course you can make money by developing something that runs outside a web browser, I'm just saying this has nothing to do with the whole JS topic.

JS is needed for some things and desktop apps are not always an alternative, that was the original debate.

Thread Thread
 
zhu48 profile image
Zuodian Hu

As long as we're here, non-browser apps generally reach a smaller audience since there's a slightly higher barrier to entry. The user has to go and install it. Is that a problem for a well-targeted application? Probably not, depending on the space it's trying to get users in. Is that a problem if you're trying to reach a broad audience? Yes. I know plenty of people who resist downloading and installing an application as long as they can. Download one browser, access millions of websites and associated content! Now that is a user experience that just feels good.

Making a desktop application that has the same reach as a web app seems insanely impossible. You write a webapp, it work on Windows, all Linux distributions that run a desktop and Firefox or Chromium, iOS, OSX, Android, and Chromebook. You write a desktop application, just making sure your application is portable to all of those operating systems takes careful design. Sure, you may not care about every single one of those OSs, but then you probably aren't trying to reach that broad of an audience in the first place and writing a desktop application was a design decision you made. People who are trying to reach that broad of an audience made the design decision to write a webapp. Every webapp developer who's commented on this post says they don't like JS, but they still use it. You can bet a great sum of money that they're not just using JS to be masochistic.

Another benefit of the webapp frontend is the uniformity of the user experience. Slack is the same if I use the desktop wrapper, a web browser, the Android app, or the iOS app. To me as a user, that's a beautiful thing! You can use other means of achieving that cross-platform uniformity, but only if you can afford to target a smaller user base.

Webapps and JS have carved out a big niche on the modern Internet, and it will take a lot of effort to dig JS out.

Thread Thread
 
tux0r profile image
tux0r

You write a webapp, it work on Windows, all Linux distributions that run a desktop and Firefox or Chromium, iOS, OSX, Android, and Chromebook. You write a desktop application, just making sure your application is portable to all of those operating systems takes careful design.

It had become much harder to target all major web browsers (with all major JavaScript versions...) than to target all major operating systems. JavaScript can break tomorrow. The Windows API probably won't.

Thread Thread
 
zhu48 profile image
Zuodian Hu

Even with the disparity in abstraction level between desktop and mobile operating system development environments, making cross-learning and cross-development more difficult? Your first step in trying to generically cross all of those operating systems is surely to make a uniform abstraction layer. But that's what the web app platform is. To supercede the web app platform, you have to do it better and market it to developers really well. Maybe HTML5 is the answer, I don't know, I write embedded code for the most part. But I sure don't expect developers to abandon all the really nice JS frameworks in 5 years.

Also, even if what you say is taken for granted, that doesn't address how much more difficult the Windows API is to learn than JS.

Anyways, what I'm saying is, give us an open source framework better than Qt, and stop telling current JS developers what they already know.

Thread Thread
 
bgadrian profile image
Adrian B.G.

Even QT and JavaFX are "polluted" by CSS. Like JS, CSS is not the perfect language but is the best we have for now for client apps.

Thread Thread
 
tux0r profile image
tux0r

Even with the disparity in abstraction level between desktop and mobile operating system development environments, making cross-learning and cross-development more difficult?

With the advent of FireMonkey (Delphi for Android/iOS) and Xamarin (.NET for Android/iOS), this can safely be considered a solved problem.

that doesn't address how much more difficult the Windows API is to learn than JS.

The Windows API was an example. Even if you use wxWidgets or (my favorite GUI framework) IUP, you can be sure that there will be no major OS upgrade in the next two weeks that breaks everything. This can not be said about Chrome's and Firefox's JavaScript interpreters.

Thread Thread
 
zhu48 profile image
Zuodian Hu

Okay, well then evangelize your favorite cross platform GUI framework instead of lecturing JS devos about JS.

Thread Thread
 
qm3ster profile image
Mihail Malo

Lmao when have Chrome's or Firefox's JavaScript interpreters ever broken a single thing?

Thread Thread
 
tux0r profile image
tux0r

"Lmao" (please try to keep your questions at least relatively civil, "lmao" looks dumb and won't make you win this argument), you are aware that both V8 and SpiderMonkey (or whatever is the current name of that thing) are constantly updated and extended with non-standard "ECMAScript" features? You are aware that every single Chrome update has - so far - broken one or more websites?

Feel free to use your favorite search engine instead of lmao'ing at me.

Thread Thread
 
qm3ster profile image
Mihail Malo

I didn't realize I'm in any sort of argument right now
I was just requesting specifics, of which I received none so far.

Can you give me an example of serious breakage from a Chrome or FF update in recent history?

I googled the last 4 versions of chrome before I got bored and got one bug in timezones that was fixed within that same version.

Thread Thread
 
tux0r profile image
tux0r

I didn't realize I'm in any sort of argument right now

Neither was I before you started to laugh at me. That was not nice.

Can you give me an example of serious breakage from a Chrome or FF update in recent history?

This one?

Thread Thread
 
qm3ster profile image
Mihail Malo

Synchronous AJAX request

tho