While I was working on our toolkit library Desmond I stumbled upon a problem when defining the TypeScript definition for a function
Two years ago, my colleagues participated in a weekend hackathon and came up with an idea to create a Rock-Paper-Scissors game for Facebook messenger. The real-world RPS game is simple and pretty much everyone knows how to play it. The mobile app didn’t aim to add cool new ways to play the game and tried to be as simple as possible.
All our apps are developed in several different environments. Let’s have a look at what we call an environment, what the motivation to have different environments in one app is and what type of inconveniences it could bring. We’ll also unscover a part of our technological stack which helps us to do it the way we do it. ?
Performance matters. It is especially true for audio performance, where you want the audio to be as smooth as possible. In this article I will have a look at various available options you can use in your high performance audio app on Android. But first, we need to understand the motivation behind high performance audio. Why is it important? What problems are we trying to solve? What apps are we actually talking about?
Ethereum smart contracts have a wide variety of use cases, but until now it has been quite difficult to call them from your iOS app. Well, that has changed! Just by using Ethereum iOS Dev Kit and EtherKit, you can get started in no time. At the end of this tutorial you will be able to call any public contract function that is defined in its ABI (Application Binary Interface). (more…)
The Material Design 2.0 comes with couple of new and interesting concepts. One of them is the emphasis on shapes of your components. There is one way to create very nice complex shapes in a very simple way which is called MaterialShapeDrawable. Is it useful? Is it easy to use enough? Let’s find out.
Every app needs localization even when it’s small and “single language” app. You never know when another language could be added. Even when you’re totally sure there will be no more languages in the app, you should never have strings written directly in the code for many reasons. So you can create some custom enums, constants, whatever or you can use standard default localization keys. Guess what’s better. ? (more…)
As you might know from our previous blogs, our primary language for writing backends is Node.js. One of the main reasons why we have chosen this technology was that we started to feel the limits of all the other classic monolithic applications, where all the basic logics, renders, request processing and so on were done in one codebase. It was rather limiting not only technologically, but also from the human resources point of view. Also in the area of our PHP “ends”, according to our recently finished projects, we used to divide the final depicting layers into the individual thin client written in React. But we wanted to go even further; dividing the backend into multiple smaller and self-maintaining parts.