Category: EnterpriseJS

Exploring the Network Information API

In 2007, we were invited to speak at the Apple WWDC event. At the time we didn’t know why we were invited. We later learned that because there was initially no native SDK, developers were advised to use JavaScript, HTML, and CSS to create iPhone apps, and were encouraged to attend our session. Obviously the world has changed quite a bit since 2007, but one of the questions we asked the Apple team at the time was: “What APIs would

Read More »

How to Pick a Web Mapping Library for your App

With the boom of location-based technologies like mobile location services and the Geolocation API in the browser, we have seen the growth of mapping and location inside of applications. Alongside this we have seen numerous mapping libraries appear for the web, allowing developers to build map based experiences into their apps. These libraries abstract away the complexity of things like geographic coordinate systems, ordering map tiles correctly, panning, zooming and various other behaviors. When it comes to building a web

Read More »

Next Generation Virtual Scrolling

Rendering large data sets in the browser while optimizing for performance and accessibility is a complex problem. The current approach to handling long lists of data is using an infinite scroll pattern to incrementally load and render data just before the data enters the view. This approach comes with trade-offs that we will look at in detail as well as new features and standards that are coming down the pipe that will improve virtual scrolling in the future. Virtual scrolling

Read More »

Getting Started with Electron, Typescript, React and Webpack

If you need to build a desktop application today, Electron is an increasingly common choice. It is cross-platform and is built using the same web technologies that you probably already know. We’re long-time users of Electron at SitePen, and have previously talked about Setting up Electron with Dojo. Here we will explore an opinionated approach to setting up Electron: TypeScript, React and Webpack.

Read More »

Using WebAssembly with Web Workers

When building web apps, writing processing intensive code can be a challenge. One issue is getting predictable running times across browsers and JavaScript engines that optimise different code paths differently, as well as producing code that doesn’t interfere with user experience. Since 2010 we’ve had a standardised way to manage interactivity for long, non-DOM related tasks. Web Workers allow for offloading processing onto a separate thread keeping the main thread free. Recently we have seen the growth of another specification,

Read More »

Deploying a Dojo App with Docker

So you’ve built an amazing app using Dojo and now you are ready to go live. After a bit of research, you learn that traditional deployments are challenging! Luckily, the days of FTPing files are long gone, and we can rely on Docker for fast, reliable deployments. Using Docker will not only document your build process, but it will also give you a Docker image you can easily deploy to production or run locally. In this article, we’ll step you

Read More »

Secrets to a Successful Designer Developer Handoff

Let’s be honest, getting designs from your UX team into the hands of your engineering team in a way that makes sense is rarely easy. Add tight deadlines, team changes, and miscommunication to this process and your application will likely end up looking very different than what you expected. The handoff between design and development is no easy task. At SitePen, we’ve spent a lot of time learning how to improve this process. When we work with a client, we

Read More »
Codemods: Effective, Automated Refactoring

Codemods: Effective, Automated Refactoring

Maintaining software is challenging. Stagnant software quickly becomes obsolete and this couldn’t be truer than in the JavaScript ecosystem. JavaScript firmly holds the reigns as the language of the web and with that comes a unique opportunity for the language and ecosystem to learn and adopt best practices and paradigms from other languages and ecosystems, as JavaScript is the convergence point for all web projects. This means that everything changes, from the language syntax to the popular patterns used to

Read More »
Compiling Go to WebAssembly

Compiling Go to WebAssembly

For many years there has been the only way to write client-side logic for the web; JavaScript. WebAssembly provides another way, as a low-level language similar to assembly, with a compact binary format. Go, a popular open source programming language focused on simplicity, readability and efficiency, recently gained the ability to compile to WebAssembly. Here we explore the possibilities with writing and compiling Go to WebAssembly, from installation of Go, to the compilation to WebAssembly, to the communication between JavaScript

Read More »
Episode 26: 12 Months of TalkScript

Episode 26: 12 Months of TalkScript

On this week’s episode of TalkScript, we take a look back at 2018 and listen to some of our favorite clips from each month. Between perfectly predicting the future in January, to our interview with Will Smith, our failed fannie pack promotion, and our live show at [REDACTED] conference, it’s been an eventful year. Take the ride with us and let us know which month was your favorite! Speakers Bryan Forbes on Twitter Neil Roberts on Twitter Nick Nisi on

Read More »