Hello Matteo, you are the community leader of RomaJS and you are also a speaker at Codemotion conferences. For whose who don’t know you, could you tell us a bit about yourself?

My name is Matteo Manchi, I am the CEO at Advance, a consulting company belonging to the Impronta Group. I’ve been the RomaJS community leader for four years. Obviously, I also participate in other communities such as PHP User Group in Rome. RomaJs is the community dedicated to JavaScript, a technology reflected in all areas of the web, from front-end to back-end and developer tools.

As for my passions, I can say that all of them are very close to the issues of the community. In fact, I try to carry out personal projects or contribute to some open source projects. But one of my passions that differs a bit from all this world is magic, the famous card games with which I spend some of my free time away from the computer.

And can you tell us why did you choose a career in the IT industry?

I was super lucky to have a computer at home since I was a child and I enjoyed working with the PC from the very beginning. Over the years, I approached the development part and that’s how my passion became my job. I transformed what I did in my free time into something profitable. Initially, I learned everything on my own, I followed articles and forums to delve into concepts that I did not know and then learned. I got my degree in Computer Engineering. Even now I keep up-to-date following blogs, news, Twitter, blog posts written by other more or less famous developers and I also attend some events that give me the chance to be compared with some other developers. I attend the communities meetups as well.

One of the talks that you presented in front of the RomaJS community was entitled “The Introduction to Service Workers”. Could you tell us what it was about?

It was a rather introductory talk about a technology present in almost all browsers and the basis of progressive web apps. It is nothing more than a sort of programmable proxy within your front-end JavaScript application that intercepts all the requests made on the network and then the various strategies for managing it. This is the basis of progressive web apps, web applications where you have full support for offline and other facets.

Moreover, this browser capability allows you to manage the offline side of things differently depending on the resource. It gives you the ability to intercept the request, see if it is cached and then not make the request on the server itself. Alternatively, you can always try it on the server and if it fails, it provides the last cached response letting you make a pre-cache of certain assets so they are already saved within the device.

The latest features that are slowly coming in are part of the service work specifications for the background sync, which also allows for requests to be made to the server with the application closed and data to be kept updated in the cache. This is a technology that I find interesting because it is completely transparent compared to the application being developed. It is a separate file programmed to do this proxy so that I can safely use my existing application in the front-end to graft in the service worker to handle my requests without the application noticing.

How did you choose this topic? Was it your choice or at the community’s request?

It was both in fact. We have a Slack channel with a section where you can make requests for talks or proposals. On the other hand, I wanted to give this talk, I used this technology to work for one of the first progressive web apps we were developing and then, taking advantage of the hot topic, decided to give this speech.