Hacker News new | ask | show | jobs
by elfogris 2581 days ago
At its core, Salesforce is a platform. As such, our customers expect their code to work for the long run (and backwards compatibility forever). Not owning the framework fundamentally means jeopardizing our business and our customers, since we can't control our future.

We believe the best way to future-proof our platform is to align with standards and help push the web platform forward, hence our sugar and take on top of Web Components.

Also to your comment about using different frameworks, again as a platform, allowing our customers to trivially include their framework choice of the day, will mean that we might end up having to load seven versions of react, five of Vue, 2 Embers .... You get the idea :) Outside the platform we love all the other frameworks (hence other properties might choose what it fits their use cases) and we had a lot of good discussions with framework owners about how to keep improving things over the last two years.

Our goal is to keep contributing to the standards and push all the things to be implemented natively on the platform so we all get faster and better.

2 comments

So fork a sanctioned version of React or some other framework, why reinvent the wheel? Just fork it and call it ReSales or something like that, stick with the baseline and then if FB moves in a direction you don't like, then move your fork in the direction that best suits Salesforce.
> So fork a sanctioned version of React or some other framework

They have basically done that by making LWC a pure ES6 implementation. If you look at how one authors LWCs, then you'll see that you're very much at home if you have worked in React or Angular using JS or TypeScript. It's basically, conceptually the same as those other frameworks and all your JS experience applies.

The difference is all the styles and widgets that make their JS library (called Salesforce Lightning Design System (SLDS)), plus all the decorators and how they work.

Here's why I think that Salesforce should be praised for the direction they have taken in the last two years or so...

They have completely revamped and sped up the Lightning UI so that speed is not an issue anymore. They have also flattened their authoring environment to ES6. To get this done, they have taken the bold step of dumping their old Lightning (Aura) framework for this new LWC framework.

That means if you're an enterprise who's invested in the old Aura-based framework, you're basically screwed and now have a dead codebase. But, it also means that no one has to use that old, crappy framework anymore.

And, here's the most important thing that Salesforce has done to bolster it's own ecosystem. With Lightning Web Components, if you are looking for Salesforce devs, it's now a lot easier to hire SQL-savvy Javascript devs who can adapt their React experience to LWC.

> Not owning the framework fundamentally means jeopardizing our business and our customers, since we can't control our future.

Then why make the framework open source in the first place? The definition of open source is not owning the framework.

We all know that Facebook controls React and Google controls Angular and so on., similarly Salesforce will control LWC
that's the definition of free software, not open source. Open source just means you can view the code.
No, open source[1] and free software[2] are the same thing. The only difference is in philosophy of advocacy - the open source movement branched off from the free software movement because they wanted to emphasize the practical benefits rather than the ethical aspects (user freedom).

[1] https://opensource.org/osd

[2] https://www.gnu.org/philosophy/free-sw.html

That’s my point.
If you look at the definitions I linked to, you'll see that they are very similar to each other and both involve a lot more than "just means you can view the code".

In fact, the very first sentence of the introduction explicitly rejects your proposed definition: "Open source doesn't just mean access to the source code."

Sure, buddy