Starter kit and reusable scripts

The JavaScript ecosystem has reached a very interesting point in its history. There are members of the community overwhelmed by the learning curve required to start a new project and based on that they express JavaScript fatigue. There are also contradicting opinions announcing renaissance of JavaScript because it became truly general purpose language and dominated front-end development. So the question is, how to take advantage of all existing tools but at the same time change the first impression in a way that makes the following joke irrelevant:

Continue reading Starter kit and reusable scripts

Migrating to Jest test runner

I have already shared my comparison of two JavaScript testing solutions where I admitted that I favor Jest over Mocha. Back then, I listed all major differences between those tools summarized with advantages and disadvantages of migrating to Jest:

Pros:

  • Simpler API, less boilerplate code.
  • Flexible and easy configuration.
  • Test files executed in isolation.
  • Advanced watch mode.
  • Snapshots support = easier start with testing.
  • Code coverage.

Cons:

  • Another migration.
  • Mocha has still a bit better performance (according to my quick tests).

My analysis got very positive feedback, with only a few little concerns, so I got encouraged to take action and verify the assumptions stated. I picked two different projects to play with to ensure both of them will uniformly benefit from using Jest.

Continue reading Migrating to Jest test runner

React Native EU 2017 – my selective recap

I had an opportunity to attended React Native EU 2017 conference last month. This 2 days long event took place in my hometown Wrocław, Poland. It was a very interesting experience for me because I’m a frontend developer. I don’t have any working experience with React Native and the only mobile project I worked on was built using Apache Cordova. Anyway, I found many of the talks very attractive and I wanted to highlight some of them in this post.

Continue reading React Native EU 2017 – my selective recap

Central Japan with Shinkansen

Visiting Japan is definitely a unique experience. With my wife, we went there directly from the trip to Sri Lanka in July 2016. We have been travelling between numerous cities for 10 days. First we rode between Tokyo and Kobe by the famous bullet train Shinkansen. Then we spent one night in an historical Ryokan with hot springs in the Arima Onsen area located behind the Mount Rokko. We also visited two old capital cities Kyoto and Nara. Finally we had a chance to see Mount Fuji hidden behind the clouds from a Shinkansen car’s side window on our way back to Tokyo.

Continue reading Central Japan with Shinkansen

Different types of software testing

Software testing helps protect code from incoming bugs and improves general quality of the functionalities exposed to the users. When you look at it from the developer’s standpoint the first thing that comes to mind is unit testing. However it turns out tests come in many flavors. I have already shared in the recap from Advanced TDD workshop with Uncle Bob what kinds of tests a professional team should use to ensure that the application remains intact. The following items create a hierarchy:

Continue reading Different types of software testing

Picking Jest over Mocha – testing tools comparison

At Automattic we use Mocha to run all tests written for Calypso project which powers WordPress.com. It also includes end-to-end tests, which live in their own repository. We have been using this setup for over 3 years now. I think it is a good moment to revisit this choice. I found this unit testing tools comparison very helpful when evaluating alternatives. I strongly agree with the conclusions shared by Martin Olsson in his article:

Staying with Javascript, I think it’s hard to ignore the momentum behind Jest. I would be awesome if someone fixed #2059 though. Then again, Mocha seems to work well enough for a lot of people.

Continue reading Picking Jest over Mocha – testing tools comparison

Time to get interactive as a performance measure

I have already published one post about Progressive Web Apps (PWA) a few months back. It looks like Google is investing a lot of efforts to make it a new standard of building websites. At the last Google I/O, there were a few announcements made related to making PWA a default feature in a few popular boilerplates and CLIs for libraries like React, Preact, Polymer or Vue. I recommend watching the following presentation by Addy Osmani:

Continue reading Time to get interactive as a performance measure