blog cover exceptions handling with retrofit

Retrofit Your Exceptions Using Retrofit

Using domain exceptions in your app is an important step if you want to create abstractions over different 3rd party networking libraries like Retrofit or gRPC. Handling and mapping of these exceptions can quickly become a boilerplate that you and your colleagues have to think about and sooner or later you will probably forget to do it somewhere in your code. I want to explore how this task can be done automatically in a generic and clean way when using the Retrofit library. (more…)

David Bilík

David Bilík

Lead Android Developer

blog cover Android

Enforcing Dependency Rule With Custom Detekt Rules

Clean Architecture is a much-discussed topic in recent years not only in the Android community. You can find many articles about it and most of them are devoted to an explanation and implementation of the Dependency Rule, which is the basis of the Clean Architecture. Implementing the Dependency Rule is quite easy but it is also really easy to violate it and it can be really hard to uncover that on the code review. It would be possible to control it better using package private visibility or divide app layers properly to separate modules. The problem is that we do not have package private visibility in Kotlin and layer modularization does not have to be a good or preferred architecture for our app. But don’t worry! We can use help from the static code analysis tool called detekt and I am going to show you how in this article. I expect that you already know and understand Clean Architecture including the Dependency Rule. If you don’t, I recommend this great article from Mario Sanoguera de Lorenzo. (more…)

Jan Mottl

Jan Mottl

Android Developer

blog cover Tuist

Our Journey to Generated Projects

The Xcode project file has quite a complicated structure and it brings unnecessary complexity where something simpler could be used instead. Thus we were very intrigued to move to project generation. Project generation has a lot of benefits – not committing Xcode files means fewer merge conflicts (truth be told, merge conflicts have become quite rare now!) and also clearer project settings. Unless you are a wizard 🧙‍♂️, you probably cannot read a project file fluently (and even if you can, it is still very hard to get familiarized with it).

(more…)

Marek Fořt

Marek Fořt

iOS Developer

blog cover tezos tutorial

Part 1: Creating iOS App With Smart Contract Interaction

Tezos smart contracts have matured a lot – and it’s time to use them in iOS apps, closer to the users’ hands. 😉 Throughout this tutorial we will write a smart contract using SmartPy.io and then move to Xcode and get a hands-on experience with interacting with our contract in Swift using generated code from tezosgen. Note that this tutorial will touch on the most important parts of RateMyTeam app and is not a complete step-by-step tutorial. (more…)

Marek Fořt

Marek Fořt

iOS Developer

blog cover ackee agile app development

Ackee Agile: Our Approach to App Development

18 years have passed since the publication of the agile development manifesto, which is a really long time in IT. However, we still do not use it as often as we would like. Agile methodologies are not universally applicable to all. For which projects and customers is therefore agile suitable and how can it really look like in the real life of agency development? (more…)

Marek Elznic

Marek Elznic

Project Manager

blog cover GatsbyJS

Internationalization of a Static Website with GatsbyJS

Do you use React? Do you need an internationalized static website? We have a brand new GatsbyJS starter supporting you out-of-box! Check out our Github.

In Ackee, we use React as the main front-end technology. Most of the time we create SPAs, but sometimes we need to create a static website with just a few pages, and an internationalization is compulsory every time. There is a lot of static site builders but if you want something easy to use with React, you should go with GatsbyJS and its huge starter ecosystem.

(more…)

Marek Janča

Marek Janča

Front-end Web Developer