Read Reportoire, the journey to data source independency
Mobile Open Source

Reportoire, the journey to data source independency

Posted on

Concepts like separation of concerns, logic decoupling or dependency injection are things we developers have heard more than a couple of times. At trivago, the Android app is developed using the Model View ViewModel (MVVM) architecture, aiming for views as dumb as possible, leaving the decision making to the view models. This leads to an increased test coverage since testing logic in views is something we can’t do that easily.

Read the post
Backend

Learn Redis the hard way (in production)

Posted on

For our products, like the trivago hotel search, we are using Redis a lot. The use cases vary: Caching, temporary storage of data before moving those into another storage or a typical database for hotel meta data including persistence. The main parts of the hotel search are built with PHP and the Symfony Framework for the frontend (web) and Java for the backend part. In this article, we will focus on the collaboration between our PHP application and Redis. Both are running fine, but it was a long and hard way up to the current situation. This is the story of how we learned to use Redis, including our failures and experience.

Read the post
Engineering Culture

Code Review: Best Practices and Common Pitfalls

Posted on

At trivago we have been using code reviews as a part of our process for a good while now. In the beginning they weren’t used by many teams but as word of their positive impact spread, more and more teams started adopting this practice, benefiting every day from its many advantages. Like any new practice it has been a learning process from the start. In this blog post I will cover why code reviews are incredibly beneficial when done right and will share what we have learned and which best practices we employ.

Read the post
Engineering Culture

A Large-Scale JavaScript Re-Learning Initiative

Posted on

While rolling out our brand-new JavaScript framework to the trivago Hotel Search, we started the largest teaching initiative that our dev department has seen so far. 40 developers, many workshops, many screencasts, some newly discovered teaching talent, some frustration, a lot of puzzle pieces. Read how it went.

Read the post

We're Hiring

Tackling hard problems is like going on an adventure. Solving a technical challenge feels like finding a hidden treasure. Want to go treasure hunting with us?

View all current job openings
Mobile

MVVM-C A simple way to navigate

Posted on

When thinking about design patterns and architectures in iOS development, MVC might be the first thing that comes to mind for most of you. But throughout the last years, MVC got a really bad reputation. Probably a lot of you heard about MVC as the massive view controller.

Read the post
Mobile

Prioritizing resources for a faster app startup

Posted on

We’ve prioritized the resources that our users need to load and gained an impressive boost on our JavaScript application startup. In this article, I will explain how we’ve used Webpack, adjusted our handling of SVG icons and prioritized user needs to achieve up to 4.5 times faster startup.

Read the post