JavaScript Icon

JavaScript

JavaScript is an object-oriented programming language used alongside HTML and CSS to give functionality to web pages.
592 Stories
All Topics

JavaScript whatisjasongoldstein.com

Help! None of my projects want to be SPAs

There’s a lot of wisdom in this post alongside some opinions that I find myself nodding along with: My strategy for dealing with the absurd pace of change in web development has been as follows: ignore 99% of it and see if it goes away. While we cover (and talk about) new technologies on a daily basis here at Changelog, that doesn’t mean we adopt everything that hits our radar. Given the hype cycle, it works pretty well. Mongo isn’t exciting anymore, Angular 1 is dead, CoffeeScript is obsolete, I haven’t heard a word about Meteor since it launched… These are all specific technologies. But what about the Single Page App pattern in general? Back in the early days of SPAs, some people argued that it would be faster to only pass the data you need as JSON than to render whole pages. Nearly a decade later, this is almost never true. He goes on to explain how he’s building a side project SPA-style and all the repercussions of that decision. Really insightful stuff here, please do click through and read for yourself.

read more

Rust swc-project.github.io

swc – like Babel, but 16-20 times faster (because Rust)

You can install swc (the speedy web compiler) from npm just like you’re used to, which will download a pre-built binary. That only works on mac (x64)/linux (x86_64)/win32-x64. For other environments, you’ll need the Rust nightly build. Supports ES 2019, JSX, and TypeScript out of the box. You might want to jump straight to the migrating from Babel section. 😉

read more

Bits and Pieces Icon Bits and Pieces

Understanding Service Workers and caching strategies

Solid tutorial on Service Workers: You can think of the service worker as someone who sits between the client and server and all the requests that are made to the server pass through the service worker. Basically, a middle man. Since all the request pass through the service worker, it is capable to intercept these requests on the fly.

read more

JavaScript eslint.org

Funding ESLint’s future

ESLint began as a side project 6 years ago and has grown into the most popular JavaScript linter in the world with over 6.5 million npm downloads every week. In short, we’ve realized that in order for ESLint to continue to grow and evolve, we need to get more organized and set up a way to fund ESLint’s development going forward. Today, we are happy to announce the ESLint Collective on Open Collective. Support ’em if you got ’em

read more

Klaus Sinani github.com

Qoa – minimal interactive command-line prompts

Lightweight and without any external dependencies qoa enables you to receive various types of user input through a set of intuitive, interactive & verbose command-line prompts. The library utilizes a simple & minimal usage syntax and contains 7 configurable console interfaces, such as plain text, confirmation & password/secret prompts as well as single keypress, quiz & multiple-choice navigable menus.

read more

Tom Barrasso hackernoon.com

Dear Javascript, "this" isn't working...

Are you frustrated with the growing complexity of Javascript and front-end tooling? Read this creative break-up letter from Thomas Barrasso. Here’s an excerpt: We stayed up late at night, holding requests for what felt like hours. You took it to 4 billion places I never thought it could go. In my mind, you had no equal. People thought we were crazy. I could hardly await to escape callback hell because with you, nothing was out of scope. We prototyped one great framework after the next, never stopping to wonder why. Thomas decided to write this break-up letter “as a means of exploring my frustration with both the language and ecosystem.”

read more

Martin Olsansky medium.com

The world’s easiest introduction to WebAssembly with Golang for JS developers

A cool/fun intro to Wasm where you build a game for cats (catch the red laser dot) completely in Go. The fact that WASM is still considered a MVP (MAP) and that you create a game like this, without writing a single line of JS, is amazing! CanIUse is already fully green, there is nothing stopping you from building WASM powered websites and apps.

read more

Alyson Swerdloff github.com

Visualize your React app's component performance with a live heat map

React Quantum parses through your React application to create a color-coded tree model of its component hierarchy. On hover, each tree node will display two key component performance metrics—render time and re-render frequency—as well as memoized state and props to indicate what, specifically, initiated the render.

read more

Denny Tek dennytek.com

Building a personal site with Gatsby (part 1)

The goal of this series of blog posts is to create a personal website using Gatsby V2 from the default starter. The final website will have an index page where you can introduce yourself, a list of all blog posts, individual blog pages, tag pages listing blog posts in specific categories, and a projects portfolio page. Here’s all the parts to this deep dive. Part 1: Introduction and Setup Part 2: Styling with Sass/SCSS Part 3: Generating Blog Posts with Markdown Files Part 4: Creating a List of Blog Posts Part 5: Adding Thumbnail Images to a Blog List Part 6: Adding Multiple Responsive Images to a Markdown Blog Post Part 7: Adding Tags to Blog Posts Part 8: Creating a Project Page from JSON data Part 9: Pagination, Deploying to Netlify, and SEO Check out the example repo on GitHub and preview the final website.

read more

Evan You github.com

Build your own Mint (finance analytics) with Plaid, Google Sheets, and CircleCI

Mint is super cool, but handing over your precious financial information to a 3rd-party is always a bit nerve-racking. Evan You’s new Node app builds a bridge between Plaid (for bank access) and Google Sheets (for data storage) so you can roll your own system. Now you only have to trust your precious financial information to two 3rd-parties 😉. But! This is open source so at least you don’t have to trust the application code.

read more

Gaming script-8.github.io

A fantasy computer for making, sharing, and playing tiny retro-looking games

SCRIPT-8 is designed to encourage play — the kind of wonder-filled play children experience as they explore and learn about the world. In order to support this goal, everything in SCRIPT-8 has immediate feedback. It is what some call a “livecoding” environment. Send this to $YOUNG_PERSON in your life. But also bcc it to yourself. 😉

read more

Kent C. Dodds Medium

Every new web app at PayPal begins with TypeScript (here's why)

Kent C. Dodds shares the backstory of paypal-scripts, a tool that encapsulates all the tools common to PayPal applications and published modules and why TypeScript was a fit. Kent took a poll in their #paypal-scripts Slack channel and 100% of respondents said they wanted the change. Here’s what happened next… About a week later, I had totally migrated paypal-scripts from supporting Flow to supporting TypeScript (most of that time was making all the tools recognize .ts and .tsx files 🙄 and allowing paypal-scripts to dogfood itself which is kinda tricky 🐶). … Then we had Christmas break 🎄 and the week we got back after the new year 🎆, it was merged and now every new project starts off with modern tools that will stay updated by default and will be statically typed with TypeScript.

read more

Isaac Schlueter blog.npmjs.org

npm has a new CEO

npm has faced some interesting challenges with project creator and co-founder Isaac Schlueter playing the role of leading the company AND the product. I’m excited to see how this new leadership and focus for Isaac plays out for npm and the greater JavaScript community. In this post, Isaac shares some backstory and details about this transition: Today, I’m happy to introduce Bryan Bogensberger as npm, Inc.’s CEO. He brings a wealth of experience in Open Source and a ton of excitement and expertise to help grow npm to the next level and beyond. Commercializing something like this without ruining it is no small task, and building the team to deliver on npm’s promise is a major undertaking. We’ve sketched out a business plan and strategy for the next year, and will be announcing some other key additions to the team in the coming months. Meanwhile, I’ve taken on the title of Chief Product Officer and I will be spending my time focused on the part of the problem that I love.

read more

Dan Abramov Increment

The melting pot of JavaScript

Dan Abramov, writing for Increment: Unconstrained by a single vendor, the JavaScript ecosystem closely reflects human culture. It is inventive, incremental, messy, assimilating everything on its way, and ubiquitous. I’ll be honest: I love the melting pot of JavaScript. And while there’s no denying that it’s harder for beginners now to get into it than it was for me five years ago, I believe there are a few things we can do to make it more approachable. But first, let’s see how the JavaScript ecosystem came to be this way. Whether are weighed down by JavaScript fatigue or revved up about the JavaScript renaissance, you’ll probably enjoy this insightful piece all about the melting pot that we call JS.

read more

Webpack github.com

🚀 Jetpack wraps webpack to create a smoother developer experience

Jetpack can be used instead of webpack, webpack-cli, webpack-dev-server and webpack-dev-middleware without writing any configuration. Jetpack is a thin wrapper around webpack, and can be extended with any of the webpack configuration. Taking the configuration out of webpack seems like a recipe for success. This project is an exploration of some ideas accumulated over a few years using webpack in a variety of projects. Webpack is a very powerful and flexible tool. It applies to a lot of use cases and that is one of the reasons it has so many configuration options. Webpack also evolved over the years but preserved backwards compatibility as much as possible to support the large ecosystem built around it. I’d be surprised if some of the good ideas in Jetpack don’t find their way in to webpack proper.

read more

Omar Bahareth Medium

Lessons learned from a year of fighting with Webpack and Babel

Webpack and Babel are awesome, this article isn’t trying to say otherwise. We wouldn’t be able to use a lot of things if it weren’t for them, but the experience of using them together needs to get better. I faced many of these issues over the course of many months and understanding them/finding solutions was incredibly difficult (error messages don’t exactly tell you what went wrong and searching for them doesn’t always give relevant results), and I hope this article can act as the guide I had hoped to find back then. I love posts these where you take your hard-won learnings and share them with the world in an attempt to save others from the same headaches.

read more

Divya Sasidharan shortdiv.com

All eyes on Wasm

We’re tracking the activity around Wasm quite well, but we’re open to more suggestions if you have them. In this post Divya shares some insights and the big idea behind Wasm. It is undeniable at this point that WebAssembly is (and will be) a huge game changer for web development. As a lower level language, it efficiently handles more computationally heavy tasks and allows us to so more, with less. Though we’re still in the early stages of WASM, the future looks bright.

read more

JavaScript chriscavs.github.io

Rallax.js – dead simple parallax scrolling

Vanilla JS. No dependencies. Even handles tricky situations like when conditions: const parallax = rallax('.parallax') // after reaching a certain position in the document, // increase the target's speed parallax.when( () => window.scrollY > 400, () => parallax.changeSpeed(1) ) // stop the parallax after a certain period of time const startTime = new Date().getTime() parallax.when( () => { const newTime = new Date().getTime() return newTime - startTime > 4000 }, () => parallax.stop() )

read more

0:00 / 0:00