Toptal Engineering Blog

The Toptal Engineering Blog is a hub for in-depth development tutorials and new technology announcements created by professional software engineers in the Toptal network.

EngineeringIcon ChevronMobile

Android Threading: All You Need to Know

by Eliran Goshen

Android provides many ways of creating and managing threads, and third-party libraries exist to make that even easier. However, with so many options, choosing the right approach can be quite confusing. In this article, Toptal Freelance Software Engineer Eliran Goshen discusses some common scenarios in Android development that involve threading and how each of the scenarios can be dealt with.

15 minute readContinue Reading
EngineeringIcon ChevronBack-end

A Unit Testing Practitioner's Guide to Everyday Mockito

by Ivan Pavlov

Using Mockito is not just a matter of adding another dependency. It requires changing how you think about your unit tests while removing a lot of boilerplate. In this article, we'll cover multiple mock interfaces, listening invocations, matchers, and argument captors, and see firsthand how Mockito makes your tests cleaner and easier to understand.

21 minute readContinue Reading
EngineeringIcon ChevronMobile

Xamarin Forms, MVVMCross, and SkiaSharp: The Holy Trinity of Cross-Platform App Development

by Sylvain Gravel

Developing a mobile app for multiple platforms can be quite costly. Implementing the same functionalities in multiple programming languages and dealing with a plethora of unique libraries for each platform requires a massive amount of time and knowledge. In this article, Toptal Freelance Software Engineer Sylvain Gravel talks about Xamarin and its companion technologies that let you build mobile applications for multiple platforms without compromising familiarity, performance, and uniqueness.

9 minute readContinue Reading
EngineeringIcon ChevronMobile

How to Simplify Concurrency with Reactive Modelling on Android

by Christopher Arriola

Dealing with concurrency in Android through imperative-style programming can be quite the hassle. RxJava, a library for reactive and functional style programming, allows concurrency constructs to be modeled in a reactive way in Android's non-reactive world. In this article, Toptal Freelance Software Engineer Christopher Arriola shows us how RxJava can be incrementally introduced to existing Android projects and leveraged to simplify concurrency.

10 minute readContinue Reading
EngineeringIcon ChevronBack-end

PHP Frameworks: Choosing Between Symfony and Laravel

by Karim Sakhibgareev

Many popular languages for web development have their 'default' framework, such as Ruby on Rails for Ruby, or Django for Python. However, PHP has no such single default and has multiple popular options to choose from. In this article, Toptal Freelance Developer Karim Sakhibgareev compares the two most popular PHP frameworks, Symfony and Laravel, explores their features, and establishes guidelines for how PHP developers should choose between them.

17 minute readContinue Reading
EngineeringIcon ChevronMobile

A Guide to CloudKit: How to Sync User Data Across iOS Devices

by Paul Young

Modern mobile application development requires a well thought-out plan for keeping user data in sync across various devices. This is a thorny problem with many gotchas and pitfalls, but users expect the feature and expect it to work well. For iOS and macOS, Apple provides a robust toolkit, called CloudKit API, which allows developers targeting Apple platforms to solve this synchronization problem. In this article, Toptal Software Engineer Paul Young demonstrate how to use CloudKit to keep a user’s data in sync between multiple clients.

21 minute readContinue Reading
EngineeringIcon ChevronBack-end

A Guide to Robust Unit and Integration Tests with JUnit

by Joshua Hayden

Automated software tests are critically important to the long-term quality, maintainability, and extensibility of software projects, and for Java, JUnit is the path to automation. While most of this article will focus on writing robust unit tests and utilizing stubbing, mocking, and dependency injection, Toptal Software Engineer Josh Hayden will also discuss JUnit and integration tests.

18 minute readContinue Reading
EngineeringIcon ChevronBack-end

WordPress REST API: The Next Generation CMS Feature

by Brian Coords

For a while, WordPress seemed to had fallen behind. As the web became more reliant on JavaScript to create immersive, interactive experiences, it became increasingly clear that WordPress needed to offer new ways for users and developers to interact with its content. In this post, Toptal Freelance Developer Brian Coords explores the amazing new features of WordPress's REST API, showing why WordPress is still on the cutting edge of web development.

12 minute readContinue Reading

Join the Toptal® community.