Originally published October 2018. Updated March 2023. This article describes the features and functionality of TypeScript 5.0. One of the most interesting languages for large-scale application development is Microsoft’s TypeScript. TypeScript is unique in that it is a superset of JavaScript, but with optional types, interfaces, generics, and more.
Introduction Accessing paint metrics from JavaScript Reporting paint timing metrics to a server Viewing paint metrics in the Chrome DevTools Browser Implementations Traditionally, front-end performance focused primarily on page load times as an important performance metric. Commercial web performance dashboards would show granular level performance metrics for back-end aspects, like database lookup times, template compilation, server response times, etc.
Automating browsers provide many benefits including faster execution of repetitive tasks, ability to parallelise workloads and improved test coverage for your website. Google recently announced Puppeteer, a new tool to assist with Chrome browser automation.
On the modern web platform, many interesting features appear which enable new functionality which were not previously possible, for example, Web Bluetooth, Background Sync & Web VR. For new features in JavaScript specifically, many are just syntactic sugar for things you could already do in an alternative way, like template literals, arrow functions & the spread operator.
You can use Intern to test just about everything! How about testing your Grunt tasks? Even though Intern focuses on tests authored as AMD modules, it certainly can be used to test CommonJS modules, like those used with Grunt. (As well as TypeScript, ES6 modules, and non-module code) Why would you want to test your Grunt tasks under Intern? Well, for all of the advantages that Intern brings, like integrated code coverage analysis, CI integration, etc.
As part of our great updates to the Dojo Tutorials for Dojo 1.8, we’ve been busy creating several new tutorials. Dojo 1.7+ now uses the popular has() pattern for feature detection in combination with a has()-aware build system.
As part of our great updates to the Dojo Tutorials for Dojo 1.8, we’ve been busy creating several new tutorials. This tutorial teaches you how to easily handle keyboard events with Dojo’s event normalization and dojo/keys implementation.
SitePen was in full effect at DojoConf 2011. Not only did we lead up to the conference with our amazing tutorials, we also impressed with our intense knowledge of all things Dojo. In case you missed it, or if you just want to see them again, here are our presentations. Dojo Conf 2011 Keynote- Dylan Schiemann dgrid: Next Generation Dojo Grid- Kris Zyp The Power of Promises- Brian Arnold Better late than never? We think so..
DojoConf 2011 is under way, and we continue our Dojo enlightenment with a trifecta of tutorials! In this tutorial, we will show you the basics of creating and using simple form elements using Dijit—including how to set up a Dijit theme for your web application. Check out the tutorial.
On the eve of DojoConf 2011, let the tutorials continue! Today’s topic is dojoConfig. Let’s dig in, shall we? The dojoConfig object (formerly djConfig) allows you to set options and default behavior for various aspects of the toolkit.
Just 3 days left until DojoConf 2011 and our series of tutorials leading up to it is almost complete! Here’s today’s tutorial… It is frequently useful to isolate a page’s “behavior” from its style and its content.
DojoConf 2011 is THIS WEEK! Let’s roll into the conference with our latest tutorial… In this tutorial, you’ll learn the basic APIs all dojo.stores follow and how to create your own store—including how to handle query results.
We’re closing in on DojoConf 2011! Are you excited yet? We’re keeping up the excitement with another Dojo Tutorial! The HTML5 specification provides many new features, such as the <input type=”range”> element which allows users to choose from a range of values. Unfortunately, this new input type is not supported in all browsers, and looks different in each browser that does support it.
Less than two weeks out from DojoConf 2011! Let’s keep this tutorial train rolling! In this tutorial, you’ll learn about the dojox.embed project, and how to use it to include plugin-based objects such as Flash and Quicktime movies—as well as learning about the special proxy method available for Flash objects. Check out the tutorial.
Two weeks out from DojoConf 2011! Ready for the next Dojo Tutorial? Dates can be awkward to work with in JavaScript. This tutorial walks through the use of dojo.date—Dojo’s answer to the need for a standard library for date math, comparisons, parsing and formatting.
Wow! We’re just 15 days out from DojoConf 2011 and our new dojo tutorial everyday series is going strong with our latest edition… In this tutorial, you’ll learn about the special dijit.Declaration widget, which was designed to allow you to quickly prototype custom widgets—all using declarative syntax.
You didn’t think that with just 18 days left until DojoConf 2011 we would leave you hanging and not post another tutorial in our new dojo tutorial everyday series did you? I thought not! Here’s today’s tutorial! JSON with Padding (JSONP) has become a common technique for accessing cross-domain resources from the browser. In this tutorial you learn what JSONP is and how you can use it to retrieve data from cross-domain sources.
Only 23 days left until DojoConf 2011 and our new dojo tutorial everyday marathon is going strong. Here’s todays tutorial! The Dojo Tree component is a powerful tool for visual presentation of hierarchical data.
With just 24 days left until DojoConf 2011 our new dojo tutorial everyday marathon continues! There are a number of benefits to loading Dojo from a CDN, but using it and custom modules can be a little confusing at first. This tutorial will demonstrate how easily that can be done.
We’re 28 days away and as promised we’re releasing a tutorial everyday until DojoConf 2011! Here’s today’s tutorial! Dojo Data is the legacy data interface used to abstract data consumers (like widgets) from the concerns of data providers. While the new object store interface has superseded the dojo.data interface, there are a number of existing data stores that implement this API and is used by quite a few existing widgets.
Anxiously crossing off the days on your calendar until DojoConf 2011? We are too! We’re so excited to be sponsoring and speaking at DojoConf that we can hardly sleep… so instead of sleeping we’re writing Dojo tutorials and releasing a new one every day until DojoConf (Sept. 16, 2011), now you can stay up late hacking on Dojo just like us! Form Management with dojox.form.Manager “While there are elements within Dojo to allow for simple form validation, occasionally you may want a more powerful solution.
Next in our series of Dojo Tutorials, we have the first of three tutorials on the DataGrid! The DataGrid is the central component of many applications due to its effective and usable presentation of tabular data. In this tutorial we will look at how to define a grid’s layout and discuss the scrolling mechanism the DataGrid uses.
Building on a previous topic, we continue our ongoing series of Dojo tutorials with Advanced Charting. While most developers only need basic charts, dojox.charting is capable of highly advanced charts: charts with animations, charts that respond to changes in data, and charts that respond to events.
Today we continue our ongoing series of Dojo tutorials with Dojo Charting. Presenting statistical data in a readable, eye-catching manner is important, but it can also be difficult.
Building on our continuing series of Dojo Tutorials, learn about Creating Builds. The build system is critical for any real web application.
Next in our ongoing series of Dojo mobile tutorials, we create the Settings View of our TweetView app. In the previous post, Getting Started with TweetView: Tweets and Mentions, we solidified our mobile application’s file structure, reviewed TweetView’s goals, and created the Tweets and Mentions views by coding tweetview._ViewMixin andtweetview.TweetView.
Next in our ongoing series of Dojo tutorials, learn what’s available Beyond Dojo’s Core. One of the things that differentiates Dojo from many other JavaScript libraries is its scope.
Receive Our Latest Insights!
Sign up to receive our latest articles on JavaScript, TypeScript, and all things software development!