Blog

Insights about the app design and development ecosystem.

Mobile Business

2020 Retrospective on Apple Announcements

As a leading iOS developer, going into 2021, we want to make sure you have all information at your fingertips on the various updates and announcements Apple has made throughout 2020. These enhancements could prove valuable to your business, or detrimental if you are not optimizing your applications.

As you review the below, keep in mind that Cheesecake Labs is happy to provide you a free consultation on how any of these updates could support your business and continue to build on a delightful experience for your users. Continue Reading

Test Development Development Back-end

Behavior-driven Development: how to develop tests for a Pokédex using BDD

In this tutorial, I am going to show you how to start using BDD and will use a Pokémon Pokédex search feature as an example. BDD means Behavior-driven Development and it’s a refinement of existing TDD processes. It considers the feature behavior ahead of the development and the test processes. A system can have many behaviors, which are basically how a feature operates input, process and output.

Continue Reading

DevOps Development Back-end

Asynchronous Task Queue with Django, Celery and AWS SQS

When dealing with heavy workload functionalities that can have a big impact on web application performance, you may face the need of running it asynchronously (scheduled or not). These asynchronous background tasks can not only drastically improve the scalability of the application by moving those highly consuming operations to the background, but also improve the functionality usability. Once spread on different components, each with its own responsibility, your code can even look cleaner, more isolated and can be easier to maintain.

Continue Reading

Technical Front-end Development Development

How to Avoid Array Mutation

Originally posted on dev.to

In this article, I’ll focus on showing how to add, edit and remove items in an array causing mutation and non-mutation ways.

One thing we need to keep in mind when writing code avoiding mutation is to return a new reference to the data after the update.

It’s a common approach when working with functional programming and if you want to understand some concepts of functional programming I recommend you read this article I wrote some time ago.

Continue Reading

Technical Front-end Development

Using functional programming to create a game in JS

There has been a lot of hype around the functional programming paradigm for some time and there are a lot of great books and articles about it on the internet, but it’s not so easy to find real examples with its application. So have I decided to create a game trying to follow its concepts using Javascript, which is the most popular programming language today. In this post, I will share some of this experience and tell you if it was worth it.

Continue Reading

Opinion Front-end

Rethinking Atomic React: an interpretation of Brad Frost’s Atomic Design to use in React projects

Atomic Design is a very widespread topic nowadays within the front-end community, but while looking at several projects, I realized that there is still  a lot of personal opinion on its implementation, and here I list some points that caught my attention throughout the years.

This article is not a tutorial on how to create your applications but it is intended to share my interpretation on how to best use this amazing methodology. Continue Reading

Mobile Development Android

Android Architecture Components: you are probably leaking ViewModel and might not know why

The Guide to app architecture suggests using ViewModel + Repository with LiveData in order to implement the data flow from Repository to ViewModel. If you use this approach or anything similar, there’s a high chance you could be leaking ViewModel. To help you understand and fix this issue, this article will briefly explain what a memory leak is, some of its implications, what happens when a ViewModel is leaked, why it happens and how to fix it for good.

Continue Reading