Live data from Hacker News

How Shopify Uses WebAssembly Outside of the Browser

shopify.engineering

101–110 of 135 posts

Re: How Shopify Uses WebAssembly Outside of the Browser

#101

This is PR about Shopify’s use/promise of WebAssembly—cool. I get WebAssembly tech is cool. I’m interested why Shopify is practically the only sales platform that gets ‘airtime’ at HN. Is this because partner apps are using Ruby? Does it have something to do with the governance of Shopify? Community of Canadians on HN? I have some experience with Square, and a few others. I’m an interested party.

Amazon gets lots of airtime and is a Shopify competitor. Stripe gets lots of airtime and is a Shopify competitor. Anyway, Shopify’s engineering blogs can be worthwhile, so they make it to the front page. They do interesting work at pretty big scale, provide in depth writeups from time to time, and folks like me enjoy reading them. I see nothing suspicious about it.

> "I see nothing suspicious about it."

I didn't intend to imply anything of the sort. I gather from your response including Amazon you might have a different perspective.

I'm interested in sales platforms for small business retail. Platforms which let business owners put a store on the web and maintain their own website design. Shopify's turn-key solution lets you have a stores without all of the Platform cruff. You can seel goods on Amazon, but you're just a another 'seller' under the branding of Amazon.com (unless there is another competing service I'm unaware of).

Personally, I get to see a lot of small businesses from the Admin side. And Shopify's partner platform is one of the most robust. Pricing is competitive (for the businesss) and they're very developer friendly.

No. I really like Shopify, and I was curious why others _like_ it so much.

haha. I understand where you might default to thinking I'm suspicious. We're all suspicious. And I see a lot of businesses who go full-in on a platform (POS, online retail) and when it comes to getting financial reports or API access you might want, they are unhelpful and very costly. (Don't get me started on Third-Party Online Ordering Services like DoorDash or Ubereats).

Re: How Shopify Uses WebAssembly Outside of the Browser

#102

This is PR about Shopify’s use/promise of WebAssembly—cool. I get WebAssembly tech is cool. I’m interested why Shopify is practically the only sales platform that gets ‘airtime’ at HN. Is this because partner apps are using Ruby? Does it have something to do with the governance of Shopify? Community of Canadians on HN? I have some experience with Square, and a few others. I’m an interested party.

An interested party in Ecom or ..?

Not sure why you're downvoted. I'm in retail small business. Easy to get started on a turn-key platform, but due to different governance strategies they are more or less cooperative about their deficiencies.

Re: How Shopify Uses WebAssembly Outside of the Browser

#103

Earlier quoted context omitted.

Like always, browsers are a funny ecosystem and very unpredictable. In all this time I thought that I could see a rise in the adoption of C and Rust libs by the community through WASM but now instead we are building around AssemblyScript. Touche.

It's interesting that this seems on one hand "unpredictable" while also being logical. If a company has employees familiar with TypeScript (or even JS) and they have to make a choice between yet another flavor of that or a new language like C/Rust... well the choice is understandable. Once again the path of least resistance to a new web technology ended up being JavaScript - it just wasn't immediately obvious when WA…

I know I'm deliberately misinterpreting you, but

> a new language like C

is a funny thought ^_^

Re: How Shopify Uses WebAssembly Outside of the Browser

#104
post #99
post #53

Earlier quoted context omitted.

We are talking about two alternative architectures, Cloudflare Workers and Fastly Compute@Edge, solving the same problem: how to run server-side untrusted code. Cloudflare runs a sandboxed V8 runtime in-process with its Nginx servers while Fastly chose a Function-as-Service platform using Lucet compiled WebAssembly modules with minimal runtime and fast startup. Fastly’s Varnish servers invoke FaaS modules and it soun…

> Cloudflare runs a sandboxed V8 runtime in-process with its Nginx servers Maybe nitpicking, but that's not quite right. The Workers Runtime is a separate process from nginx and is inside a heavy second-layer sandbox separating it from the rest of the system. Multiple Workers Runtime instances exist on each machine to serve different tiers of customers, and each instance may additionally create further subprocesses t…

That is not nitpicking at all. Definitely not in-process. Thanks for pointing that out.

Re: How Shopify Uses WebAssembly Outside of the Browser

#105

Earlier quoted context omitted.

Like always, browsers are a funny ecosystem and very unpredictable. In all this time I thought that I could see a rise in the adoption of C and Rust libs by the community through WASM but now instead we are building around AssemblyScript. Touche.

It's interesting that this seems on one hand "unpredictable" while also being logical. If a company has employees familiar with TypeScript (or even JS) and they have to make a choice between yet another flavor of that or a new language like C/Rust... well the choice is understandable. Once again the path of least resistance to a new web technology ended up being JavaScript - it just wasn't immediately obvious when WA…

A JavaScript SuperSet becoming the de facto standard of writing for WASM - I think one can file this under „worse is better“.

Re: How Shopify Uses WebAssembly Outside of the Browser

#106
post #67

The underlying platform is ahead-of-time compiled WebAssembly but AssemblyScript, a variant of TypeScript, will be the only supported language: > Theoretically any language with a Wasm target can be supported, but the effort developers spend to conform to our API is better focused on solving problems for merchants. That’s why we’ve chosen to provide first class support to a single language that includes tools that ge…

Like always, browsers are a funny ecosystem and very unpredictable. In all this time I thought that I could see a rise in the adoption of C and Rust libs by the community through WASM but now instead we are building around AssemblyScript. Touche.

I'm keen on Kotlin Multiplatform. Seems like a pipe dream that might have legs.

Re: How Shopify Uses WebAssembly Outside of the Browser

#107
post #53

Could someone eligthen me. Why not just use JavaScript? It is being used by Cloudflare on the edge, and AWS lambda. Why need to go to WASM?

We are talking about two alternative architectures, Cloudflare Workers and Fastly Compute@Edge, solving the same problem: how to run server-side untrusted code. Cloudflare runs a sandboxed V8 runtime in-process with its Nginx servers while Fastly chose a Function-as-Service platform using Lucet compiled WebAssembly modules with minimal runtime and fast startup. Fastly’s Varnish servers invoke FaaS modules and it soun…

Aah, that's why Fastly's involved. Thanks!

Re: How Shopify Uses WebAssembly Outside of the Browser

#108

Earlier quoted context omitted.

Unlikely? Sounds like you think it could happen.

Nothing is 100%. It’s effectively impossible.

This disproves your point. How many "effectively impossible" exploits have come out recently?

Re: How Shopify Uses WebAssembly Outside of the Browser

#109

Earlier quoted context omitted.

Like always, browsers are a funny ecosystem and very unpredictable. In all this time I thought that I could see a rise in the adoption of C and Rust libs by the community through WASM but now instead we are building around AssemblyScript. Touche.

Yes, funny ecosystem and unpredictable because smart people contribute innovative and interesting things. This is the best feature of an open, truly shared ecosystem. Everyone owns it and feel safe contributing to it. The web rules!

I wish I could share your enthusiasm. Good on you. To me the web of today is an ever-expanding ball of shit being rolled in different directions by giant corporations. I agree it's fun to work with, but it isn't healthy.

Re: How Shopify Uses WebAssembly Outside of the Browser

#110
post #100

Earlier quoted context omitted.

I don’t think you get the difference between seccomp and seccomp-bpf

You've been downvoted to oblivion. Don't you think that's a sign that maybe you're wrong?

Whether or not people who likely have no actual experience in this space dislike what I’m saying about the pointlessness of using wasm for this use case has no bearing on my correctness. Most of them demonstrated they didn’t know the difference between seccomp and seccomp-bpf and there have been no rational counter arguments that hold their weight.

Usually downvotes without rational rebuttals are a sign of the OP’s correctness.

Post reply on HN