What do you think about doing JS-Free sites?

I've seen such projects appear and disappear for the last 20 years.
Not so long ago, Angular tried and positioned itself as the "One framework to rule them all".
Similarly, Microsoft also tried to produce a single OS for both PC and mobile terminal and failed.

This kind of product has never been successful and will probably never be - at least as long as mobile terminals will leave a place for desktop/laptop computers on the client hardware market. Simply because both serve too different use cases.

However, once in a while, some brilliant market analyst makes a prediction of this kind, which good marketing and sales people transform it into projects.
Then, after some roller-coaster style adventures making managers feel alternatively angry and desperate (and developers stressed and depressed), these projects are either reoriented, or put in production as is, then discretely removed from servers once managers get sure nobody uses them.

 
I've seen such projects appear and disappear for the last 20 years.
Someone's always claiming the current tool is old and needs to be modernized for no known technical reason.
after some roller-coaster style adventures making managers feel alternatively angry and desperate (and developers stressed and depressed)
Making them down and confused,
they need to learn to love the tool their with
 
Absolutely. I think they will provide "compat" HTML/CSS/JS support for a long while but as you probably know, the average stack overflow developer likes to use "the very latest stuff" any chance they get.
Such technology shifts usually take the same time as a human generation: ~20-30 years. For obvious reasons: it's humans who implement that. The shift to WASM will likely need as long, too. I see no reason why that will be faster. E.g. C++ needed 30 years to "grow-up", and you can see that in many many other projects, too. No matter if it's software technology or any other.
 
There are many editors available. Why you choose to not use any of them (and instead use a web browser) is beyond me! j/k

No surprise here. Since it is well known since decades that Real Programmers consider WYSIWYG - "what you see is what you get" to be just as bad a concept in text editors as it is in women.

Though i suppose I could recommend Vim.js as your authoring editor ;)
Well this suggestion makes up for a new subspecies of Real Programmers - the virtual blind ones. ?
 
Since it is well known since decades that Real Programmers consider WYSIWYG - "what you see is what you get" to be just as bad a concept in text editors as it is in women.
Exactly! Just like my text editor, I am happy to put in a bit of effort to get to know and understand my lifelong partner ;)

My mother always told me to stay away from fast WYSIWYG women!

Well this suggestion makes up for a new subspecies of Real Programmers - the virtual blind ones. ?
Not at all, just like Real Numbers, "Real programmers are programmers comprising rational and irrational programmers"

We are all one species (even if some of us make more correct choices) ;)
 
Before you use PHP, watch out for more modern & better alternatives, e.g. Plone/Zope (Python). PHP is ugly, error-prone & not much more than a sequence of security flaws. PHP mixes application & UI logic, which is bad for principle reasons, thus it can not be a good thing. Get rid of it!
Unfortunately, I cannot find reasonable alternatives for some key pieces of my Google-free stack:

Do suggest alternatives.
 
I believe in around 20 years, HTML, CSS and Javascript will not be provided by the browser. Instead it only supports WebAssembly binaries. Then it is up to the developer if they want to use HTML, CSS and Javascript or a different technology stack entirey, they upload the implementations.

Either this will go two ways. HTML and CSS will almost disappear as everyone decides that Javascript-only apps are superior. Or, Javascript will disappear once people realize that another language is more appropriate.
Or maybe another challenger arises? Dart? Lua?
 
No surprise here. Since it is well known since decades that Real Programmers consider WYSIWYG - "what you see is what you get" to be just as bad a concept in text editors as it is in women.


Well this suggestion makes up for a new subspecies of Real Programmers - the virtual blind ones. ?
I've never met a Real Programmer, but I'm pretty sure I don't want such a person designing or writing content for my website. The former requires graphical design skills and some artistic sensibilities, and the latter requires skill writing and editing a natural language. Real Programmers are not known for having either of these skills.
 
My guess is that HTML/CSS/JS will stay alongside with WebAssembly for non-technical reasons:

- To maximize ROI, you have to minimize investment and maximize revenue. Why replace an existing a global infrastructure (billions of web browsers) when you can still make money with it? It would be economical nonsense.

- WebAssembly secures and facilitates the development of customer lock-in systems (e.g. DRM). There's no doubt this technology will be a success as, even though it requires a modest investment, it is designed to maximize revenue.
 
My guess is that HTML/CSS/JS will stay alongside with WebAssembly for non-technical reasons:
...

My guess is that WebAssembly won’t gain wide acceptance, because, look what it really is:
https://webassembly.org said:
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.

Its promised properties:
  • Efficient and fast
  • Safe
  • Open and debuggable
  • Part of the open web platform
This might all be true for the virtual machine itself, but it becomes a total bloat, when we try to build some assembly in any one of the proposed ways.

For example we compile the famous C program hello.c into WebAssembly using emsripten:
C:
#include <stdio.h>

int main(int argc, char *const argv[])
{
   printf("Hello, World!\n");
}

./emcc hello.c -o hello.js
This produces 2 files, namely hello.js and hello.wasm. The second is a WebAssembly file containing the compiled code, and the first is a JavaScript file containing the runtime support to load and execute it.
ls -l hello.*
Code:
-rw-r--r--    1 rolf  staff  116450 19 Aug 21:07 hello.js
-rw-r--r--    1 rolf  staff   21756 19 Aug 21:07 hello.wasm

node hello.js
Code:
Hello, World!

That means, for printing of "Hello, World!" using WebAssembly, the browser needs to download in total at least 135 kB of code. All my own JS together does not come to 135 kB.

When launching this in a web browser it takes a considerable amount of time until "Hello, World!" becomes written into the JS console of the browser. I am not amazed.

I will continue using JS and minify the code using www/closure-compiler.

I would have expected a WASM compiler would take my existing JS code, and precompiles and minifies it so that the VM in the browser could work with it, and that without the need of a clumpsy JS runtime library. But such a thingy doesn't seem to exist.

I will revisit WebAssembly from time to time. But for now, this isn't for me - Efficient and Fast? Laughable!
 
My guess is that HTML/CSS/JS will stay alongside with WebAssembly for non-technical reasons:
I'm all for WebAssembly. I'm also in complete agreement with your last comment. I have a high opinion of the web development/developers. But there's a large number of web/devs, who are going to resist an HTML/JS apocalypse. Not for technical or philosophical reasons. WebAssembly is complex, it's not for everyone and that's fine.
In the past, I had hard time to convince some web/devs, to put a freaking index.html in their website's directory. On multiple occasions, I received rather hostile response when I suggested to them, to create a security.txt under the .well-known directory. Typical responses: who cares, too much work, paranoid!
A complete moving toward the WebAssembly?! good luck with that.
 
<rant>I can't tell you how many times I was in lynx or w3m looking for information to fix a problem when, after scrolling through a long list of site navigation links, I suddenly reached the end of the page because it relied on AJAX to load the actual page content. The site may look great on a graphical browser with JS enabled, but if you can't access any content without JS, it's useless.</rant>

With that said, I still don't think JS is inherently a bad thing; it's merely "misused" quite often, usually because deadlines make it impossible to create a site that uses unobtrusive JavaScript and/or because it's simply a more practical solution. In theory, Google Maps could be done without JS using only HTML (image maps and forms) and CSS, but JS is probably easier. The purist in me wants to call it "wrong", but there are better hills to die on. All that matters to a business is whether a product works, not whether it maintains a strict separation between content|presentation|functionality (X/HTML|CSS|JS) and gracefully degrades when JS is unavailable.

Creating a JS-free site is a refreshing idea, but avoiding JS entirely is not necessarily a good move. If you can avoid relying upon it for core site functionality, then that's "good enough". If your primary resource on the site will be static content, then the old idiom is still true:

Content is king.
 
HTML is not for programmers, but for normal users. It had its deficiencies from the beginning,
then one improvisation after the other came: CSS, javascript. Do you really think WebAssembly
will be for everyone? Or is it one improvisation more over the whole bad development?

I also avoid javascript, but for some things it is the easiest way or the only way (AJAX).

About where must be the state, in the server, in the client, or info continuously transmitted:
it is like normal programming, everything has pro and contra, one must continuously ponder
them, try to find the right balance.

If everything must be a program, at the time of telnet information services run in the server,
now also run in the client, we are losing structure, but gaining flexibility. We are going away
of the original idea of html.
 
<rant>I can't tell you how many times I was in lynx or w3m looking for information to fix a problem when, after scrolling through a long list of site navigation links, I suddenly reached the end of the page because it relied on AJAX to load the actual page content. The site may look great on a graphical browser with JS enabled, but if you can't access any content without JS, it's useless.</rant>

With that said, I still don't think JS is inherently a bad thing; it's merely "misused" quite often, usually because deadlines make it impossible to create a site that uses unobtrusive JavaScript and/or because it's simply a more practical solution. In theory, Google Maps could be done without JS using only HTML (image maps and forms) and CSS, but JS is probably easier. The purist in me wants to call it "wrong", but there are better hills to die on. All that matters to a business is whether a product works, not whether it maintains a strict separation between content|presentation|functionality (X/HTML|CSS|JS) and gracefully degrades when JS is unavailable.

Creating a JS-free site is a refreshing idea, but avoiding JS entirely is not necessarily a good move. If you can avoid relying upon it for core site functionality, then that's "good enough". If your primary resource on the site will be static content, then the old idiom is still true:

Content is king.
In fact, my complaint about JS is not in its very essence, but that most (?) web developers are now no more than experts of the current most fashionable framework. And they use it arguing that this is a trend and you can't become a web developer without it. And they are partly right, because they want to earn money by their craft, and the employer also requires to make the site AS fast as possible and what technologies are relevant to do it. But low-level knowledge in the same JS developer is not the main condition.

This, I believe, reduces the level of knowledge of a large number of developers. And not only in WEB development. For the most part, the principle is not "do it technically correctly and optimally", but "do it quickly and get money". Frameworks allow you to quickly get results using high-level abstractions. But the combination of SPEED, QUALITY, and CONVENIENCE can't have all three elements. Now it is SPEED and CONVENIENCE, and quality suffers.

I mean quality in a General sense, this is the code overload, this is the requirements for PC resources, this is the requirements for the software part.

The simplest example to illustrate this is that websites are not working in different browser versions. And this is despite the fact that sites are not supposed to depend on the browser at all. Just a page that anyone should be able to see. But no, often not only a specific browser is required, but not such and older versions of the same browser are not suitable. This is fundamentally wrong. Why the endless proliferation of WEB standards, if it accumulates the number of errors in browsers due to the complexity of implementing these standards, if it leads to an increasing consumption of resources, if it leads to a constant race of frameworks that need to be known, and not a specific technology or language that the framework is written in.

When did google maps appear? 2005. Chrome 4.0.249 from 2010, full ACID3, size 12 MB. A large amount of PC memory in 2010 - 4 GB.

And what, did something in google maps change, did the necessary innovations appear for users, that the browser began to have a distribution size of 60 + MB, and require acceptable work with any sites of top-end configurations, and even necessarily with SSD drives. Otherwise, the pain and suffering from a hanging PC. I'm talking about google maps, because this is a really unusual application that just rightfully requires advanced technologies for loading data in the background, interactivity, and so on. Gmail, on the other hand, is just a list of emails on the server. But why does it take longer to load in the browser than my operating system starts? Is there any justification for this? All, sorry for the large text, but once I got to the translator, the keyboard will tolerate everything :)
 
One thing I'd like to point out. The Web Assembly FAQ says this:
Is WebAssembly trying to replace JavaScript?
No! WebAssembly is designed to be a complement to, not replacement of, JavaScript. While WebAssembly will, over time, allow many languages to be compiled to the Web, JavaScript has an incredible amount of momentum and will remain the single, privileged (as described above) dynamic language of the Web.
 
In fact, my complaint about JS is not in its very essence, but that most (?) web developers are now no more than experts of the current most fashionable framework. And they use it arguing that this is a trend and you can't become a web developer without it.
Most interviews I've had, they treat frameworks and libraries as a language all to itself as if JavaScript was just a side issue.

I remember going to interviews as an Electronic Engineer. The biggest dividing line then was whether you knew Intel assembly or Motorola assembly. But that was just two languages. Even today there are less than five or so major hardware processors but there are hundreds of software frameworks and employers now request or require knowledge in their specific one. They won't give you the time to learn theirs. Knowing JavaScript well is just a side issue.
 
Unfortunately, I cannot find reasonable alternatives for some key pieces of my Google-free stack:
Do suggest alternatives.
Yes, SIR! Please elaborate what reasonable means in the context of your specific project(s). If that means the software must exactly fit your needs & work flawlessly out-of-the-box, please see below (RFP).
If neither of these fits your requirements, file in a RFP (request for provision) at the <plone-zope-volunteers@pypi.org> developers mailing list ASAP.
 
I will revisit WebAssembly from time to time. But for now, this isn't for me - Efficient and Fast? Laughable!

I only really play with it to port stuff and kind of "see whats new" but I have yet to do any large scale project using it.

Emscripten produces very large binaries because of all the compatibility layers to make a web browser appear like a "semi-standard" POSIX platform to the developer. If you generate WASM binaries using Clang directly, it is much smaller but then you don't have OpenGL bindings, you also don't even have the standard C++ runtime.

I think Rust and Go both produce smaller wasm binaries, again because their goals aren't to provide a UNIX-y environment (they don't have so much legacy baggage whilst porting 30+ year old software).

From what I have seen, the laws that govern the web do not at all strive for efficiency. So I almost see WASM's wasteful nature as an example of why it will *definitely* take off.
 
Google Maps work fine in www/falkon (webkit/webengine, 10MB flat size incl. themes & i18n'ed messages, 2MB pkg size). OpenStreetMap works fine, too, and is also available in astro/marble. Noone needs to go the Firefox path.
Maybe it works with Google Maps, like many others less known browsers, but is it works with VK, Twitter, youtube, online banks and many other every day sites? Use own browser for various sites - not solve problem. My opinion that WEB must not be so complex, that sites can works only in some browsers. And JS tricks has many incompatibilities between support in various browsers.
 
Maybe it works with Google Maps, like many others less known browsers, but is it works with VK, Twitter, youtube, online banks and many other every day sites?
Yes. I don't know what VK is. Obviously, what everyday sites means varies for all of us. EDIT: I don't use twtr because that is evil crap. I can not take people serious who use that. Likewise What'sApe, FresseBuch (facebook) & such. Or Telegram.
Use own browser for various sites - not solve problem. My opinion that WEB must not be so complex, that sites can works only in some browsers. And JS tricks has many incompatibilities between support in various browsers.
If a site does not work at all in a webkit browser, it's definitely not worth to visit... The KDE JavaScript engine implementation is/was setting the de-facto standard :)
 
Yes. I don't know what VK is. Obviously, what everyday sites means varies for all of us.

If a site does not work at all in a webkit browser, it's definitely not worth to visit... The KDE JavaScript engine implementation is/was setting the de-facto standard :)
These sites - just most popular and much JS driven which I remember. It is not my sites, but based on needs the most part of social. So similar sites dictates which browsers "good" - means site works in it, and which are marginals.

Our discussions goes to offtopic :)
 
Back
Top