Every web app is assumed to be responsive, period.

Yes, even the complex enterprise applications bursting with large data tables and charts. Even if it isn’t the best fit, every type of content should be accessible from any kind of device…

Responsive web design (RWD) is an approach to web design which makes web pages render well on a variety of devices and window or screen sizes — Wikipedia

or for the more visual folks…

Example of a responsive web app, pay extra attention to the footer 😉

OK Tomáš, we have been building responsive web apps since forever so what’s the big deal ?!

Well, after many years of waiting, Bootstrap 4 was finally released in January 2018. Bootstrap was the first widely popular css framework which contained responsive css grid as one if its main features. The new version built upon this successful foundation and brings many improvements which makes working with responsive grids even easier.

Bootstrap is the OG of the responsive layouts

Angular 6 was released in May 2018. It brought unification of versioning in the Angular ecosystem. This means that all Angular projects are now released together.

Angular CLI 6 changed quite a lot in comparison to previous versions. New angular.json config file has completely different structure than the original angular-cli.json . This has some implications for how we approach Bootstrap / Angular integration in our projects.

T here are many approaches to building responsive apps with Angular. Feel free to use one of the many available css frameworks or use Angular semi-official flex-layout library. Personally, I prefer Bootstrap because of simple declarative approach which is decoupled from the application logic. As always, use what is best for your particular use case.

In this post we will integrate Bootstrap 4 in a fresh Angular 6 project generated using Angular CLI. Feel free to check out Angular Ngrx Material Starter if you’re interested in more complete example (GitHub repo).