Intern and JavaScript Testing in 2017

By on June 22, 2017 12:24 pm

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. Jasmine was probably the most popular testing framework for JavaScript, although there were were several other tools in common use such as Mocha and QUnit. WebDriver testing with JavaScript was still a fairly manual affair unless you used a cloud testing service like Sauce Labs or BrowserStack.

Web Frameworks: User Interface Development

By on June 16, 2017 4:32 pm

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.

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

By on June 13, 2017 9:20 am

…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. We have seen JavaScript go from an obscure simplistic scripting language to the language of the internet. Through all of this we have experienced and learned a lot. We would like to share some of that with you.

Probably the most common question we get asked as we get to know an organization is “What framework should I use?” No matter what some people would have you believe there is no straightforward answer. The answer though is founded in our typical response of “What are you trying to do?”

Ahead of the Curve:
TypeScript & Enterprise Web Development

By on June 12, 2017 2:48 pm

For a concise read on why the enterprise should care about using TypeScript in its applications, look no further than Remo Jansen of the Aon Centre for Innovation and Analytics’ presentation on the 6 reasons you should be using TypeScript.

The SitePen engineering team has been using TypeScript since it came onto the open source scene 5 years ago. We’ve built several customer applications using TypeScript and TypeScript frameworks. Our next generation version of Dojo (which will be the defacto enterprise framework for organizations who value sustainability, longevity and true open source software) is 100% TypeScript.

With a healthy respect for what the TypeScript team has accomplished and being enthusiastic contributors to the TypeScript language through development, our TypeDoc improvements and our testing framework, Intern (built with and for use in testing TypeScript), we are well-positioned to modernize applications beginning with tech stack migration, forward-thinking architecture, TypeScript development, team training and commercial support.

While we’ve been offering online TypeScript workshops for quite some time, our UK contingent of engineers have their hearts set on delivering a public training course to the London (and surrounding countries) developer community. So, for one time only, please join our CTO, Kitson Kelly – a team-labeled TypeScript purist – as he brings you some serious TypeScript training and to the next level in enterprise web development.

August 31, 2017 | 9:00 – 17:00 BST
Location: TBD, London

Course Outline

  • Introduction to TypeScript: Benefits and key TypeScript concepts
  • Compatibility with ES6+: Which ES6 and later features are supported
  • Development Environment Setup: Quick and optimal environment setup
  • Basic types: Working with types
  • The power of interfaces: Leveraging TypeScript interfaces to improve code readability
  • Extending interfaces: Unions, aliases, and other advanced interface features
  • Classes and composition: Using Classes, functional composition, and differences from ES Classes
  • Generics: How to use generic types for building APIs
  • Ambient Declarations: Leveraging other type definitions
  • Decorators and Metadata: Syntax for efficient extension of Classes and other language features
  • Advanced TypeScript configuration: Additional options for getting the most from TypeScript
  • Testing: A robust testing workflow with TypeScript
  • Debugging: Troubleshooting and finding errors in your application
  • Future of TypeScript: Summary of highly anticipated TypeScript features

Early Bird pricing is now available!

Register Here

Can’t Attend/Still Need Help with Typescript?

Workshops Logo

SitePen’s TypeScript for the Enterprise Development Team training is a great way to level up your team! Ask us about a private training experience for your team.

Support Logo

SitePen Support for Developers. Receive timely answers and relevant code examples from early adopters and active users of TypeScript.

Let's Talk! Logo

Let’s talk about how we can help your organization benefit from the use of TypeScript in your next project.

Contact Us Logo

Have a question? We’re here to help! Get in touch and let’s see how we can work together.

Typings for dojox/gfx

By on April 25, 2017 10:02 am

dojox/gfx is Dojo 1.x’s vector graphics library, with support for SVG, Canvas, and other legacy rendering environments through a drawing API based on the semantics of SVG. This API also provides the foundation for dojox/charting. Often the biggest challenge in working with vector graphics is the large number of possible configuration settings and permutations.

TypeScript makes it easier to leverage auto-complete within an editor. We’ve been working for a while to add and maintain typings for Dojo 1.x. One of SitePen’s support clients kindly suggested that it would be very valuable to put gfx and TypeScript together, and happily sponsored our efforts in making this happen!

Making TypeDoc better

By on April 20, 2017 11:01 am

Over the past several months, the SitePen team has been hard at work on Dojo 2 along with the tools and infrastructure to support it. Part of that infrastructure, and one of the major priorities for Dojo 2, is to have top notch developer documentation, complete with examples, tutorials, and API documentation. The early fruits of this labor can be seen on the new dojo.io website.

For API documentation of JavaScript projects, JSDoc is a solid tool that gets the job done, and we wanted to be able to use something similar for TypeScript. JSDoc has support for type annotations in source code documentation comments, but this is redundant in TypeScript as the type annotations are provided in the code. We wanted to find a tool that was similar and a defacto standard, but that would take advantage of the TypeScript compiler API to derive the types of nodes.

TC39: Open and Incremental Approach Improves Standards Process

By on April 6, 2017 6:29 am

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. However, much has changed since the early days of the web.

Back in the early 2000s, standards bodies attempted to codify features already implemented, and attempts to extend the web were often overly complex. The process typically occurred behind closed doors, usually with a few large companies attempting to push their technology agenda, with little opportunity for the public to participate in the process other than perhaps a mailing list. The collaborative tools we rely on today simply did not exist, and most browser implementations were not based on open source software. Simply put, it was difficult to make progress in that environment.

Here we’ll look at the non-technical side of the standards process, and how modern web standards are evolving in a more open and collaborative manner, leading to a better web platform.

What TypeScript can offer to Dojo 1.x

By on March 29, 2017 7:24 am

As many of you know, Dojo 2 is being built on TypeScript. Many of us involved in Dojo 2 believe that TypeScript brings several advantages to developing with web technologies these days. Features like structural typing and interfaces help us write code that is less prone to errors as well as being able to express to those consuming Dojo 2 what the intent of the code is.

If you have worked with Dojo 1 for any extended period of time, you will realise how feature rich and complex the Dojo Toolkit is. Because of the power and backwards compatibility of Dojo 1, it can often be daunting, even for an experienced user, to effectively use Dojo. If as a developer, you need to utilise a new part of Dojo, it can be confusing to understand what part of the API to use and how to use it. I know from personal experience, I would often review the test cases for a part of Dojo I wasn’t familiar with to try to figure out what the intent of the original author was.

As we have continued to work on Dojo 2, several of us realised that TypeScript could offer a lot to Dojo 1, potentially allowing people to start to migrate code to TypeScript and ES6+, making their current code even better, but giving them an easier path to the future. In order to be effective at using TypeScript with Dojo 1, we need to do a bit of enablement.