ES6 vs TypeScript: What are the differences?
ES6 belongs to "Languages" category of the tech stack, while TypeScript can be primarily classified under "Templating Languages & Extensions".
TypeScript is an open source tool with 51.1K GitHub stars and 7.06K GitHub forks. Here's a link to TypeScript's open source repository on GitHub.
Slack, StackShare, and ebay are some of the popular companies that use ES6, whereas TypeScript is used by Slack, Asana, and Rainist. ES6 has a broader approval, being mentioned in 1461 company stacks & 1725 developers stacks; compared to TypeScript, which is listed in 982 company stacks and 1447 developer stacks.
What is ES6?
What is TypeScript?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using ES6?
What are the cons of using TypeScript?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Slack's new desktop application was launched for macOS. It was built using Electron for a faster, frameless look with a host of background improvements for a superior Slack experience. Instead of adopting a complete-in-box approach taken by other apps, Slack prefers a hybrid approach where some of the assets are loaded as part of the app, while others are made available remotely. Slack's original desktop app was written using the MacGap v1 framework using WebView to host web content within the native app frame. But it was difficult to upgrade with new features only available to Apple's WKWebView and moving to this view called for a total application rewrite.
Electron brings together Chromium's rendering engine with the Node.js runtime and module system. The new desktop app is now based on an ES6 + async/await React application is currently being moved gradually to TypeScript. Electron functions on Chromium's multi-process model, with each Slack team signed into a separate process and memory space. It also helps prevent remote content to directly access desktop features using a feature called WebView Element which creates a fresh Chromium renderer process and assigns rendering of content for its hosting renderer. Additional security can be ensured by preventing Node.js modules from leaking into the API surface and watching out for APIs with file paths. Communication between processes on Electron is carried out via electron-remote, a pared-down, zippy version of Electron's remote module, which makes implementing the web apps UI much easier.
Obviously, using ES6 and TypeScript is what makes it decent in browser contexts. Throw in a bit of React and now we're cooking with gas!