honeybadger.js is now universal
Some devs use JavaScript in the browser; some use JavaScript on the server. What if you do both?
Some devs use JavaScript in the browser; some use JavaScript on the server. What if you do both?
Let’s talk about SPAs. It all starts from a blank page which is subsequently filled with HTML and JavaScript. If we take PHP pages as an example, they already come bundled with the server, which is an advantage in terms of performance, right? For situations like these, server-side rendering frameworks (such as Next.js) come to the rescue. They process the code on the server-side to pre-fill the HTML result page with something (if not the whole page) before it reaches the browser.
The year 2015 was marked by a new paradigm shift in web development. Google introduced Progressive Web Applications and JavaScript libraries and frameworks, such as React.js, Angular.js or Vue.js, created new development methodologies. By 2020, the web environment is flooded with PWAs based on reactive programming and built with cutting-edge frameworks.
Garbage collection (GC) is a very important process for all programming languages, whether it’s done manually (in low-level languages like C), or automatically. The curious thing is that most of us barely stop to think about how JavaScript — which is a programming language, and hence, needs to GC — does the trick. Like the majority of high-level languages, JavaScript allocates its objects and values to memory and releases them when they’re no longer needed. But, how?
Javascript is a funny language. It claims to be (and very much is) a single-threaded language (i.e., it executes statements in order, one at a time, one after another, in a synchronous fashion). Despite just having the one native thread to work with, it somehow allows you to write concurrent, asynchronous code that is non-blocking in nature.
Do you use an error tracking tool for your website? Have you ever tried to debug a problem that a user reported, and when you looked at your error tracking tool the reported error was simply: “Script Error”? Such errors are impossible to further debug because there is no additional information apart from that message.