Blog

Jun 29

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.

Jun 28

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.

Jun 14

A quick look at Intern’s findByXpath

By on June 14, 2016 9:32 am

Intern Logo

Intern‘s Leadfoot API makes it easier to author functional tests in JavaScript. One of the fundamental concepts for authoring functional tests is to access an element within a page to test it.

While most developers are familiar with CSS selectors, this is not always the most efficient mechanism for referencing a particular element in a page.

findByXpath

XPath is a technology that is often overlooked by developers because of the perception that all things XML are overly complex. That said, XPath selectors can be a very powerful and flexible approach for finding an element.

Jun 9

Dojo is Doing it Again

By on June 9, 2016 12:34 pm

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. Even 3 years later, there are a lot of modern solutions that were solved in Dojo 1.

Apr 26

Intern wins Mozilla grant!

By on April 26, 2016 6:47 am

mozilla_wordmark

Last fall, Mozilla announced its Mozilla Open Source Support program, specifically focused on supporting the Free & Open Source Software movement. AND THIS JUST IN: Intern was selected to receive a MOSS grant in the amount of $35,000!

Initially focused on awarding grants to fund projects used in its own development initiatives, Mozilla is giving back to the OS ecosystem by directly sponsoring development on these open source projects! With Intern specifically, the following improvements will be implemented:

  • Performance with an emphasis on benchmarking and regression analysis
  • Visual regression testing with screenshot comparison and image analysis
  • Accessibility focused on analysis against known accessibility best practices
Apr 19

Simplifying Intern tests with Command helpers

By on April 19, 2016 7:21 am

Intern Logo

Intern, via the Leadfoot WebDriver library, provides a lot of low-level control over the browsers it uses to run tests. Tests can navigate to new pages, resize the browser window, examine elements on a page, and interact with controls like inputs and buttons. Unfortunately, with all this power can come great complexity. Many testing tasks will involve a large number of low-level operations and dealing with these can be error prone and make tests difficult to follow. Command helpers to the rescue!

Apr 13

ES6 Symbols: Drumroll Please!

By on April 13, 2016 6:58 am

ES6 Logo

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. With their addition comes the ability for developers to affect the behavior of the language in new and interesting ways. This article will introduce the concept of a symbol, explain their purpose, and show a couple of the most common ways symbols can be used today.

Mar 28

Intern test suite and CI updates

By on March 28, 2016 2:17 pm

Intern Logo

We’ve recently made a number of updates to Intern, providing additional flexibility and integration for writing and running tests. Seth Holladay and sitecues by Ai Squared generously sponsored some of these efforts!

Continuous integration

Intern has long supported continuous integration, officially supporting travis-ci, Jenkins, and TeamCity. Intern provides a very flexible reporter system, making it easy to add new output formats. We have received requests recently to support Bamboo and Codeship.

Jan 13

Simplified Dijit Functional Testing

By on January 13, 2016 10:03 am

dgrid

One of the nice features of testing with Intern and Leadfoot is the ease of authoring functional tests to mimic end-user behavior. The API for retrieving relevant DOM nodes is relatively straightforward, usually with a single line of code needed to get a reference to the relevant node.

When we started writing tests for Dijit, we realized that it was often a fair amount of boilerplate to get references to specific widget instances, attach points within those widgets, and property values of widgets. One of the advantages of Intern is you can integrate this boilerplate into a helper. So, we set out to create a simple Intern helper utility to make these operations as efficient to author as normal functional tests.

Dec 11

JSConf Last Call

By on December 11, 2015 1:59 pm

Last weekend at the Omni resort on Amelia Island, FL, the last JSConf US took place. The Williams family is no longer able to run this conference, so with much sadness it will not be continuing in its current form. The JavaScript community legacy they have left behind is nothing short of astounding. With currently 30 listed events worldwide in the JSConf family, and more in the planning stages, the idea of building compassionate, creative communities of experts has truly caught on like a wildfire in the JavaScript community.