For those who want to understand “Serverless architectures”, I recommend reading this post by Mike Roberts. The term Serverless was already used in 2012. Mike defines the following characteristics of serverless architectures:

Mike Roberts’ Definition of Serverless

No management of server hosts or server processes

You as a developer don’t have to care about e.g. the number of servers running your software or where where it runs or things like OS upgrades, etc.

Self auto-scale and auto-provision based on load

Costs based on precise usage

Get charged based on usage. Don’t get charged if you don’t use a service. Platform itself should auto-scale or spin up new things and also terminate them according to the current need without having anybody involved.

Performance capabilities defined in terms other than host size/count

Serverless gives you higher level of abstraction which also means that you loose some of the control of lower levels.

Implicit high availability

You don’t have to apply concious thought, you get high availabilty as a side effect of using the serverless product.

Front-end Frameworks

The Big-3: Vue, React and Angular

Node.js Frameworks

Despite its age, Express was not only the trendiest node.js framework in 2017 but it’s also used as the backbone of many other frameworks or CMS, including Feathers, Keystone or Nest.

React Ecosystem

In 2016 Create React App solved the problem of how to start coding a React application by providing a nice set of presets, very well packaged. Facebook keeps releasing new versions very often and it was by far the most popular project in 2017 among the React ecosystem.

Vue Ecosystem

Element and iView are the two most popular UI component kits, both focused on rapid desktop UI development. Mint UI and vux, on the other hand, are the two most popular mobile-focused UI kits.

Mobile

JavaScript is so versatile that it can also be used to build mobile applications, meaning that you can share components between the web and the mobile platforms.

In this category, we find again the 3 main actors of the “Front-end frameworks”:

Compilers

JavaScript has basic dynamic types but not static types. A lot of developers feel like they need types in their code, especially in big code base, to make it more robust and easier to read/understand.

And then, if you think you need types, the 2 main contenders are: TypeScript, provided by Microsoft and Flow, provided by Facebook (and used on their main projects: React, React Native, Jest…)

Build Tools

It’s maybe the biggest surprise of the year, the trendiest building tool is Parcel, a brand new project that gathered more than 14,000 stars since the project was launched on GitHub in August.

Parcel offers all the goodies of modern web development with a killer feature: zero configuration!

Testing Frameworks

As we predicted last year (it’s the first time we predicted something right!), Jest became the trendiest testing framework in 2017.

IDEs & Editors

In 2016, VS Code, backed by Microsoft and Atom, backed by GitHub were really close at the top of the category.

They also led the way in 2017 but VS Code took a big advantage over its rival.

CSS in JavaScript

Styled Components was by far the trendiest project in this category this year. It lets developers include regular CSS syntax inside the React components, using a recent addition to the JavaScript language: tagged template literals.

Static Sites

Static site generators (or “SSG”) are tools that generate a bunch of .html, .css and JavaScript files that you can deploy on any web server without the fuss of setting up a database. Static web sites are fast, robust and easy to maintain.

Number 2 in 2016, Gatsby gets revenge in 2017. It comes with a lot of great features to optimize your static site:

Fast browsing & exporting

Aggressive preloading

Intelligent code splitting (templates + page data)

Gatsby uses React as the view layer and GraphQL to query the content at the building time. It has a strong community and React official web site itself is built with Gatsby.

GraphQL

Major companies such as the New York Times have started adopting GraphQL, and on the library front both Relay and Apollo (the two main GraphQL client libraries) released major updates this year.

Currently I work on an implementation for authentication and authorization using Spring Boot, Spring Security, OAuth 2.0 and JSON Web Tokens (JWT). In order to get a good understanding on these topics I found several talks that I’m going to list here.

“100% Stateless with JWT (JSON Web Token)” by Hubert Sablonnière. I found it very useful to get a better understanding on using JWTs to create a really stateless authentication architecture.

I’m interested in Apache Kafka Streams and would like share some information on this topic with you. There is a great talk about Stream Processing from Neha Narkhede who co-authored Apache Kafka and is currently a co-founder and Head of Engineering of Confluent.

Have you ever wondered how git works internally or why git does certain things in a certain way? Recently I found an interesting talk about git’s internals on goto; conference. It explains all the building blocks that you need to understand to better understand git.