03 December

Clean-swift architecture is very simple and does not require any additional libraries. It consists of 3 layers that nicely separate views from logic; the flow of information in clean-swift is unidirectional as shown in the image attached below. This means that if, for example, after pressing the button we have to change the value of text field, the information (after pressing the button) should go to interactor that will prepare the model and send it to presenter, which will “enhance” the text by setting the type of font, color, etc. and will pass it as new model to ViewController for displaying.

25 November

With the new Android version, Nougat 7.1 (API 25), Google gives us some interesting possibilities. One of them is the option to create shortcuts to an application. In this post I will show you how static shortcuts work.

Android shortcuts allow you to automatically transfer user to desired location within your application. Among others, this allows to grant user faster access to frequently used functionalities of the application, saving the user from performing steps necessary to get to a particular activity.

Android shortcuts can be divided into two types: static and dynamic. They are completely different in terms of how we build them. Static shortcuts are created via XML, as opposed to dynamic ones, which can be created in the application code at any point. In today's post I will focus on static shortcuts.

17 November

The new version of iOS introduces a number of changes concerning both local and server notifications. We can use a new framework, UserNotifications, which enables both delivering and handling notifications. New notifications allow you to add images (jpg, png, gif) and videos, and to perform other actions. Moreover, we can now use Notification Content Extension through which we can design the exact appearance of notification in our application.

11 November

Recently, the new 3.0 version of the Swift language has been presented. Some of the noticeable changes include modifications involving the removal of functions which have already been removed in Swift 2.2. Changes involving modernisation of the language are also present.

04 November

Nowadays, there are tools that help us a lot to manage the memory when creating apps. Because of that, most software developers rarely encounter memory problems (or are simply unaware of them). However, every once in a while, we have to face some memory leaks. What do we do then? The most common method is to activate the Instruments tool and debug the problem, which can often be quite laborious. With the release of the new Xcode 8, Apple has introduced a new tool which significantly facilitates that – Visual Memory Debugger.

21 October

Introducing 10th version of iOS, Apple gave developers a new tool – UIViewPropertyAnimator. It enhances options of creating animation in our application. New options include stopping animation and resuming it (also with other time parameters), finishing animation at any time, reversing animation or moving it to any chosen moment, and many more. Another novelty is the fact that apart from previously used timing options of animation, such as EaseInEaseOut we now also have the ability to define our own time function based on checkpoints of cubic function.

06 October

Today, I will talk about one of the frameworks added in iOS 9: Core Spotlight . API allows you to add content to spotlight search engine, so that, for example, an application used for watching movies allows for adding movies, actors, directors and reacting if users select an item, so that we can move them to the desired location within the application.

18 July

Each application requires user's permission to use network, access sensors and memory of the device. API-23, that is Android 6.0, introduced a new model of permissions system. So far, before an installation, a user had to absolutely approve a list of permissions requested by application. Currently applications can push at runtime requests only for the specific permissions needed at a given moment.

03 July

When getting into the subject of dependency injection, we need to understand numerous new techniques that enable us to control created objects. Dagger allows developers to declare interfaces that will handle that. We can create an interface which will be a component or a subcomponent. What is the difference?