Blog Performance

Event Delegation: Pattern or Anti-Pattern?

By on July 11, 2017 11:50 am

A significant amount of work on JavaScript toolkits and frameworks has centered around trying to fix, normalize, and optimize browser implementations. Doing so requires making many assumptions about what the problems are, how our tools will be used by developers, and what we expect of the future.

The assumptions made often turn out to be wrong. What’s worse is that these choices may prove to be correct for a very long time before coming back to bite us. During this period of blissful ignorance, toolkits can become tremendously popular and become a vital part of large, complex codebases.

Functional reactive programming and Observables in JavaScript, TypeScript, and Dojo 2

By on February 27, 2017 7:45 am

Functional programming and reactive programming principles are not new to JavaScript, but their adoption has recently become widespread across most modern frameworks and toolkits. The ease of using these approaches has improved as we’ve finally seen the decline of legacy browsers, and as we’ve seen the introduction of functional and reactive paradigms within ES6 and ES8.

Dojo FAQ: How do I optimize a Dojo app for mobile?

By on February 14, 2017 8:25 am

Web applications can be deployed to many environments, including desktops, tablets, and mobile devices. We can even deploy web applications natively using a wrapper such as Apache Cordova to gain access to device features such as GPS, battery, and accelerometer data. However, it is not always optimal to package our application into a universal layer file, as we may be sending Cordova-specific code to our web users and packaging web-specific code with our native application. Luckily, Dojo provides us with tools to limit or exclude platform-specific code from our deployments by using dojo/has feature detection and staticHasFeatures within our build profiles.

Moving 4-ward with Intern

By on February 10, 2017 6:51 am

The motivation for Intern 4 is to make it easier to author tests with ES6+ features within tests, with or without transpilation.

Want to skim? Here’s the Intern Roadmap which lists our high level status for each Intern release going forward.

Or if you’re curious to know the details for our plans for Intern this year, read on:

FullStack 2016

By on July 20, 2016 6:56 am

FullStack is a large London JavaScript conference hosted at the Skills Matter CodeNode. The conference brings together an impressive line-up of speakers and workshops covering five tracks over three full days of festivities. We were invited to speak at FullStack, and also enjoyed many of the other sessions and met many great engineers. The sudden popularity of Pokemon Go was a theme throughout several talks at the conference. The videos for many sessions were online within a few hours, which is truly impressive for any conference.

Building Better Enterprise Web Applications Part 3: SitePen solutions

By on June 30, 2016 5:51 am

In this installment of our series on building web applications, we look at the SitePen approach to solving challenges in web application development. We employ all of the solutions described in part 2 of the blog series. Additionally, we have some overarching principles we apply to our work.

The right architecture and an emphasis on quality

Solid applications and robust architecture begins with finding the right approach based on the goals and requirements for a particular application. There is no one right architecture for every application, but having the right approach to understanding requirements, translating those to architecture needs, and having a strong emphasis on quality lead to approaches that work for any application. We do this by making sure we ask the right questions and challenge our assumptions for every application we create.

Building Better Enterprise Web Applications Part 2: Solutions

By on June 29, 2016 6:36 am

While there are many challenges today with building web applications, there are also many options to address the issues we face with technology, process, and people, allowing us to reap the benefits of the web as an application platform.

Technology solutions

While many of the challenges with today’s web applications come from the vast array of technologies that are available, there are clear strategies that can be employed to turn those same issues into advantages that can make building applications easier. The key is to use a technology portfolio that allows applications to be modular, simple, and isolated from any instability in the underlying platform. Another critical aspect of each member of this portfolio is that it must be able to maintain those abilities at the scale at which the application will be built.

Building Better Enterprise Web Applications: Challenges

By on June 28, 2016 8:45 am

Web applications provide many benefits. Most organizations seek to improve the efficiency and effectiveness of business processes through the use of software.

The benefits of web applications include:

  • Simple distribution model for end users (e.g. no installation required)
  • Instant propagation of changes
  • Unified code base to support many platforms (desktop, tablet, mobile, etc.)
  • Easy piloting of new features with a subset of users
  • Lower total cost of ownership
  • Well-established scalability models as user-base grows

Over the past few years, building the client-side portion of web applications has changed significantly. Web application development, while arguably better than any other platform available today, is not without its challenges. We categorize these issues as coming from three sources: technology, process, and people.

We thought it was a good opportunity to take a step back and look first at the challenges, and then the solutions for building modern web applications, and to share some of the strategies and techniques we use at SitePen to improve our approach.

In this installment, we’ll begin by looking at the challenges currently faced when building web applications.

Chrome Dev Summit 2015 Recap

By on December 9, 2015 12:00 pm

I recently attended the Chrome Dev Summit conference in Mountain View, CA, which centered around developing websites for Chrome and the mobile web. The conference was designed to provide attendees the opportunity to talk with the developers working on Chrome. We were able to provide feedback, as well as better share the true need of web developers. Overall, the conference was wonderful, giving me a great opportunity to learn more from both the talks, as well as speaking with the Chrome team.

The sessions touched on three main topics: service workers, RAIL, and progressive web applications. New features are constantly being developed by various working groups. The conference speakers and developers work directly on experimental features, and they were enthusiastic when explaining their area of expertise. The well chosen topics, combined with the excitement of the speakers, made for a productive conference that proved to be well worth the time.