Category: ES6

  • Cats vs Dogs: Answering the Important Questions

    Cats vs Dogs: Answering the Important Questions

    Paul Shannon | December 19, 2018

    SitePen participates in a number of conferences around the world presenting new technology and ideas to engineers and designers. Recently Dylan Schiemann and Tom Dye spoke at the HalfStack Conference in London and Paul Shannon spoke at Phoenix TypeScript meetup.

    Read More
  • Programmatically create images with the CSS Paint API

    Programmatically create images with the CSS Paint API

    Umar Hansa | August 27, 2018

    The CSS Paint API is a modern web platform feature to programmatically create images in JavaScript which are rendered to the page when referenced by CSS. You create images using the Canvas API, an API with which you may already be familiar.

    Read More
  • Web Components in 2018

    Web Components in 2018

    James Milner | July 6, 2018

    For many front-end developers, components have become a central concept in their development workflow. Components provide a robust model for architecting and scaling complex applications, allowing for composition from smaller and simpler encapsulated parts.

    Read More
  • A Quick Look at Nest

    A Quick Look at Nest

    Paul Shannon | May 9, 2018

    Nest is a scalable framework for building server-side applications. It is authored in TypeScript and relies on the Express framework. It leans heavily on modern language features such as async/await and decorators to reduce cruft and place the focus cleanly on route-handling business logic.

    Read More
  • Escape the Office: Designing Interfaces for Other Developers

    Escape the Office: Designing Interfaces for Other Developers

    Dylan Schiemann | May 4, 2018

    At the recent TSConf, SitePen engineer Sarah Higley delivered a talk titled Escape the Office: Designing Interfaces for Other Developers. The moment you step into any large project or open source venture you must accept that code you write gets used in ways you did not originally intend.

    Read More
  • Introduction to WebAssembly

    Introduction to WebAssembly

    Dylan Schiemann | April 13, 2018

    WebAssembly is an emerging standard for a low-level assembly-like language in a compact binary format that runs with near-native performance, and is available as a compilation target for a variety of languages. We’ve heard significant misunderstanding around WebAssembly and what it means for the web and JavaScript.

    Read More
  • Testing TypeScript with Intern 4

    Testing TypeScript with Intern 4

    Jason Cheatham | February 12, 2018

    Intern is a popular JavaScript testing framework with an extensive feature set. While Intern has traditionally been focused on testing applications written in standard JavaScript, it has also had great support for TypeScript. With version 4, Intern has been completely rewritten in TypeScript, allowing it to provide a more seamless testing experience for TypeScript projects.

    Read More
  • Web Frameworks: Conclusions

    Web Frameworks: Conclusions

    Kit Kelly | November 10, 2017

    It has come time to read the liner notes and write some conclusions. When we started writing this blog series, we knew that JavaScript/web application frameworks were not easy to summarize.

    Read More
  • State of Modules in JavaScript

    State of Modules in JavaScript

    Umar Hansa | October 26, 2017

    Many modern web applications depend on JavaScript. When the complexity of your JavaScript increases, so does the maintenance cost. To improve the maintenance of complex JavaScript codebases, you most likely adhere to some clean code practices in your codebase.

    Read More
  • Web Frameworks: Soundness

    Web Frameworks: Soundness

    Kit Kelly | October 3, 2017

    For a web framework to be effective, it should offer you more than just functionality. It doesn’t matter how much hard work you put into your application if it breaks when people use it. Beyond testing, let’s explore how frameworks can help us build better code before we test it.

    Read More
  • Rethinking Inheritance

    Rethinking Inheritance

    Paul Bouchon | September 19, 2017

    Over the past year we’ve been heads-down working hard on Dojo 2 and its component architecture. The ability to change default component behavior is essential to a widget library, and several tactics exist for doing so.

    Read More
  • Using Web Components With Angular

    Using Web Components With Angular

    Bryan Forbes | September 14, 2017

    Angular is an application framework favored by many in the JavaScript community. Angular provides a library for building encapsulated components, dependency injection, a templating language with data binding, an application router built on observables, and a command line interface that lowers the barrier to entry.

    Read More
  • Five of our favorite emerging web standards

    Five of our favorite emerging web standards

    Sarah Higley | August 31, 2017

    As we create and improve open source software, and build many applications for our customers, we’re constantly looking for things that will improve the software we create. Part of this is looking at an often dizzying array of proposed and emerging standards, and finding those that feel efficient and ready for use.

    Read More
  • Getting started with Intern 4

    Getting started with Intern 4

    Dylan Schiemann | August 30, 2017

    Unless you have a time machine or a TARDIS, it’s pretty rare to have solid documentation in place before an open source project is released! While we’re getting close to a beta release with the Intern 4 and while we still have a fair amount of documentation and refinements to complete, a number of people

    Read More
  • Web Frameworks: Testing

    Web Frameworks: Testing

    Kit Kelly | August 29, 2017

    Test early, test often, and test some more. Why put our heart and soul into our web applications only to be let down because we are not completely testing them. Let’s explore how the different web frameworks approach testing.

    Read More
  • Web Frameworks: Using and Developing

    Web Frameworks: Using and Developing

    Kit Kelly | August 23, 2017

    Let’s figure out how to play our album. Is it a 45 vinyl or some sort of fancy SACD? Gaining insight into how we might develop and deploy an application built on a web framework helps us figure out if it is the right fit for our team.

    Read More
  • State of Modern Component Styling

    State of Modern Component Styling

    Tom Dye | August 17, 2017

    As new user interface component frameworks are created and old frameworks are replaced with emerging technologies, methods for styling those components must change with them. Long gone are the days of creating a simple HTML component and importing a simple CSS file with corresponding class names.

    Read More
  • Higher Order Components in React

    Higher Order Components in React

    Rory Mulligan | August 15, 2017

    Traditionally, engineers use mixins, decorators, inheritance, and plain code duplication to add common functionality to a handful of components. Mixins and decorators can modify the target object in such a way that you are never really sure what methods are safe to override without unwanted side effects.

    Read More
  • Web Frameworks: Common Usage

    Web Frameworks: Common Usage

    Kit Kelly | August 10, 2017

    Previously on Web Frameworks, we looked at how various frameworks deal with the concept of applications. Akin to listening to the whole album, we got a sense of how the frameworks pull it all together.

    Read More
  • Wrapping Web Components With React

    Wrapping Web Components With React

    Nick Nisi | August 8, 2017

    There are many reasons to like React. It provides a nice library for writing reusable components and leverages its own virtual DOM, abstracting away the obtuse native DOM APIs in favor of a simple method calls, which are further abstracted away with a JavaScript language extension, JSX.

    Read More
  • Web Frameworks: Applications

    Web Frameworks: Applications

    Kit Kelly | August 3, 2017

    Applications built with web technologies, something that was a curiosity a few short years ago, have emerged onto the scene as a must have for most organizations. Transcending websites and providing users with a more open and unbounded experience, web applications are everywhere.

    Read More
  • Event Delegation: Pattern or Anti-Pattern?

    Event Delegation: Pattern or Anti-Pattern?

    Neil Roberts | July 11, 2017

    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.

    Read More
  • Web Frameworks: Foundational Technologies

    Web Frameworks: Foundational Technologies

    Kit Kelly | July 6, 2017

    We have previously discussed the look and feel of web frameworks. While we often become interested in a framework based on the stylishness of the widgets and applications it can create, this may lead to a similar approach to how we have historically selected music.

    Read More
  • Web Frameworks: User Experience Design

    Web Frameworks: User Experience Design

    Kit Kelly | June 27, 2017

    While instruments such as guitar and drums are part of a band, how they are used by the musicians define the style of the band’s music. Similarly, the elements of an application user interface connected together define the user experience.

    Read More
  • Intern and JavaScript Testing in 2017

    Intern and JavaScript Testing in 2017

    Jason Cheatham | June 22, 2017

    Since we released Intern in 2013, the state of JavaScript testing has changed substantially. The JavaScript world was a very different place. Node.js was at version 0.8, and core modules like http were still being heavily developed! Popular tools like webpack, React, and TypeScript were still in the early stages of development.

    Read More
  • Web Frameworks: User Interface Development

    Web Frameworks: User Interface Development

    Kit Kelly | June 16, 2017

    Whether it is Top 40 or classical or R&B, artists and music have a recognizable look and feel. When looking at frameworks, some simply provide us with a bag of instruments, while others provide us with chord progressions and album covers we can customize.

    Read More
  • If we chose our JavaScript Framework like we chose our music…

    If we chose our JavaScript Framework like we chose our music…

    Kit Kelly | June 13, 2017

    …we would all be using justin-bieber.js. We as an organization have been working with JavaScript since 2000. We have seen frameworks rise and fall, including being responsible for some of them. We have seen trends come and go. We have seen browser dominance ebb and flow. We have seen winners and losers.

    Read More
  • ECMA-414: Modularizing the JavaScript Standard

    ECMA-414: Modularizing the JavaScript Standard

    Dylan Schiemann | June 7, 2017

    As we noted in our post about the open and incremental approach to TC39, one of the challenges facing TC39 is that it has grown in size substantially along with the community interest in JavaScript.

    Read More
  • TypeScript 2.3: The Sexy Default Type Argument

    TypeScript 2.3: The Sexy Default Type Argument

    Dylan Schiemann | May 9, 2017

    TypeScript 2.3 is the latest version in the quarterly release cycle from the TypeScript team. This release contains several useful additions to TypeScript which we have already started to leverage within some of our current projects.

    Read More
  • TC39: Open and Incremental Approach Improves Standards Process

    TC39: Open and Incremental Approach Improves Standards Process

    Dylan Schiemann | April 6, 2017

    In our recent post about the key features in ES2017, I was reminded just how much the standards process has changed in the past 15 years. As someone who tried to get involved early to improve standards, the process was broken and I was quickly discouraged.

    Read More
  • The 5 features of ES8 and a wishlist for ES9

    The 5 features of ES8 and a wishlist for ES9

    Dylan Schiemann | March 21, 2017

    As we near the finalization of the proposal, it’s looking like ES8 is going to deliver much more than the simple updates of its ES7 predecessor! We wanted to take a few moments to highlight our 5 favorite things about the upcoming 2017 release.

    Read More
  • Mixins and more in TypeScript 2.2

    Mixins and more in TypeScript 2.2

    Dylan Schiemann | February 22, 2017

    The TypeScript team recently announced the TypeScript 2.2 release candidate which will contain key improvements to the TypeScript language. Most notably, are the introduction of the object type and improved support for mixins and composable classes.

    Read More
  • Moving 4-ward with Intern

    Moving 4-ward with Intern

    Jason Cheatham | February 10, 2017

    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.

    Read More
  • Intern Visual Regression Plugin

    Intern Visual Regression Plugin

    Paul Shannon | December 15, 2016

    Thanks to a generous Mozilla Open Source Support program award, Intern has expanded its testing ecosystem to include new and robust sets of tools. Engineers can now easily write tests to benchmark sections of code, test for accessibility (a11y) support, and test for visual differences.

    Read More
  • The long and winding road to Dojo 2

    The long and winding road to Dojo 2

    Kit Kelly | August 24, 2016

    Recently on GitHub, someone accused Dojo 2 of being vapourware. This opinion came from a position of misinformation. I was glad the individual then engaged with the Dojo 2 project to understand where we are today. We are making swift progress and a beta is on the horizon.

    Read More
  • FullStack 2016

    FullStack 2016

    Dylan Schiemann | July 20, 2016

    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.

    Read More
  • Building Better Enterprise Web Applications Part 3: SitePen solutions

    Building Better Enterprise Web Applications Part 3: SitePen solutions

    Dylan Schiemann | June 30, 2016

    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.

    Read More
  • Building Better Enterprise Web Applications: Challenges

    Building Better Enterprise Web Applications: Challenges

    Dylan Schiemann | June 28, 2016

    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.

    Read More
  • Dojo is Doing it Again

    Dojo is Doing it Again

    Kit Kelly | June 9, 2016

    Peter Higgins, former project lead for Dojo, gave an excellent talk at JSConf in 2013 titled “Dojo Already Did That” (which reflected a humorous meme started at the first JSConf). It was highly informative about how Dojo had already solved problems that the JavaScript community were solving again in 2013.

    Read More
  • ES6 Symbols: Drumroll Please!

    ES6 Symbols: Drumroll Please!

    Paul Shannon | April 13, 2016

    Symbols are a new, unique, primitive type introduced in ECMAScript 6 (ES6). They were added to the language in order to solve the problem of extending the functionality of Object while maintaining backwards-compatibility with code written in earlier versions of JavaScript.

    Read More
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.Privacy Policy