AMP is also literally breaking internet. People share google.com/amp links,sometimes there'd be no preview and hard telling what the actual website being linked is.
On safari I get nothing except AMP links in google and cannot get myself routed to the actual site even with extensive searching. This disables sharing the link for me as well.
Have you considered switching search engines? I've been using https://duckduckgo.com for the last two years and this is the first time I'm hearing of Google AMP.
I really really really want to use DuckDuckGo.com but the search results are probably 10% as helpful as Google. As a developer it's nearly impossible to find a really specific answer using ddg whereas google will have 3 super-relevant links.
Google can (or refuse to) redirect you anywhere. They also get to know about it, in case the analytics on target page was not enough.
That said, I don’t actually agree that AMP’s link rewriting is necessarily the thing that breaks internet, because the original link is still contained in the modified URL, and can be recovered completely offline.
URL shorteneres are much more harmful in that aspect.
The real danger of AMP is giving Google that much (more) power. They don’t hide links today, but what stops them from turning evil(er) tomorrow.
Preferring AMP pages is a clear monopoly practice, and should be the straw that breaks the camel’s back (if you didn’t care about the censorship…). I’m really trying to have faith in free market sorting this out, but I don’t have much faith in the Facebook drones that brought us all this shit in the first place. Are there enough free people left?
It's a resource problem. The average website is in megabytes(that's expensive in emerging markets), loads lots of JavaScript on small devices draining battery.
Even if we take Louis CK's standard, a lot of sites would take more than 10 seconds on 3g. From a webdev point of view this is unacceptable.
So even with today's browser and JavaScript improvements that 20kb should still be avoided if possible. Why?
- Each file downloaded adds latency. This especially hurts if you're on a satellite or similar, highly latent connection. The more files you have to download the worse start-up and various loading timing can get.
- Okay, so let's say you minified and combined everything to help avoid the first issue, now you have a new issue: all JavaScript needs to get executed when included. So adding 20kb worth of JavaScript, while not all of it is executed immediately, a chunk of it is. This adds to start-up time.
- Don't forget JavaScript execution, when compared to a desktop, is absolutely abysmal. For mobile web browsers you need to shave as much time off of start-up and ready states as possible.
I don't know, man. The average web page size is now around 2.5MB [1], jQuery is <1% of that. I am not going to be less productive to shave off 1% of total page size. If that means that some random satellite user has to wait 101s instead of 100, so be it. To me, that's much ado about nothing.
jQuery is also not doing a whole lot on startup, its functions get called when needed. Lodash is the same.
> The average web page size is now around 2.5MB [1], jQuery is <1% of that. I am not going to be less productive to shave off 1% of total page size.
2.5MB is absolutely ridiculous. Regardless, you just created a straw-man. jQuery is, what, 26kb minified + gzipped? So you could also say that if website is 100kb then jQuery is 25% the size of your website.
Now 26kb is not much at all but small things add up very quickly. If you're not using it, don't include it. If you can write a tiny bit of extra code to avoid a dependency that isn't highly specialized (e.g. moment.js) it's usually a good idea on the web.
> If that means that some random satellite user has to wait 101s instead of 100
FYI satellite connection issues are more about latency than bandwidth. Adding an extra connection (if it's not concatenated) to fetch jQuery can easily add more than 1 second even though it's only 26kb. Also, I sure hope your app doesn't take 100 seconds to start-up :)
A satellite connection is an example of a highly latent connection. I've seen issues which have caused all sorts of other types of connections to spike with high latency. It's important, in my opinion, for your site to be able to handle that (and honestly it's not that hard).
Satellite in a bit of a red herring in terms of the point I wanted to convey.
I also spent about 3 years working on systems that had to work across satellite connections so I have a little bias as well :)
That's quote ,a library that generates code for you at compile time ,it takes code as input,has it's own syntax. It's like compile-time reflection.
It's not code rust programmers would normally write, I'm one of those programmers. I'm glad some libraries like serde,rocket and diesel are using it to generate code instead of doing run-time analysis.
I don't understand why the downvotes , JS is one of the most target languages. Elm,GHJS(Haskell),Purescript,Clojurescript and supersets like Typescript which come with their own toolchains.
You know I really don't care for a pl that tells me how to do things. I fought python for a long time on a simple issue like indentation. C like syntax is best. RUST is stupid syntactically...surely you've noticed it's a leap. I'd use limbo before Rust.
As rust developer from a higher-level languages , I really struggled with that ,then I discovered format!() macro ,maybe they should make it more visible to new developers.