AnyView's impact on SwiftUI performance
Introduction AnyView is a type-erased view, that can be handy in SwiftUI containers consisting of heterogeneous views. In these cases, you don't need to specify the concrete type o
Writing about software engineering, AI, and technology.
Introduction AnyView is a type-erased view, that can be handy in SwiftUI containers consisting of heterogeneous views. In these cases, you don't need to specify the concrete type o
Optimizing performance is definitely one of the most interesting topics, not only on iOS, but software development in general. There are many thought provoking challenges, accompan
Introduction WWDC21 brought us a lot of new cool things, such as the new Swift concurrency features, Xcode Cloud, new frameworks, as well as updates to the existing ones. One of th
Introduction Android and iOS are the leading mobile operating systems in the world. They have some similarities, but also some differences, that trigger strong opinions in the user
Introduction It's been a month (at the time of writing) since my app Soccer Puzzles has been live on the App Store, and a day since its basketball sibling Basketball Puzzles has ma
Introduction Many modern apps have a top bar, with customized designs and smooth collapsing animations. Since the default NavigationView doesn't provide much customizations in term
Introduction Imagine an app that lets you scan a document and then gives you the possibility to ask questions on its content. Something like this: This app has several challenges:
Introduction Apple is making machine learning available to everyone. With the latest advancements in CoreML 3 and the new CreateML app , it's very easy to make your apps smarter. I
Introduction Usually, as developers we don't care much about UI design - we leave that up to the UX experts. User interface, design and experience are crucial to the success of an
Introduction Recently, I've released my new drawing app, called Drawland . It's using Apple's new drawing framework PencilKit , so in this post I will share some insights and inter
Introduction In this post, we will build a drawing app with SwiftUI . Apart from being super fun and addictive, SwiftUI with its declarative approach, makes it a lot easier and cle
Introduction The Natural Language framework was announced at WWDC, last year. It offers a powerful set of features for analysing natural language and extracting information from it
Introduction This year, WWDC was full of new and exciting features. The biggest one was probably SwiftUI , Apple's new UI framework. However, there were a lot of other cool announc
A picture is worth a thousand words. An architecture drawing - countless explanations. Sometimes, visualising concepts and implementations can bring much better understanding of th
Introduction Dependency Injection is a technique in software development where the dependencies of an object are set from the outside. There are many benefits of using this techniq
Introduction The task of realtime hand tracking on a mobile device is both very interesting and challenging. The hand is one of the more difficult parts of the body to detect and t
Introduction Augmented Reality and Conversational Interfaces are two of the hottest technologies at the moment. They both bring a broad range of opportunities to make cool and inno
Introduction One of the challenges with AR is definitely the creation of 3D model representations of the real objects. This is needed in order for us to be able to present these ob
Introduction When we are starting with the development of a new app, we are usually going through the requirements defined by our client and start thinking of concepts, architectur
Introduction With augmented reality, you can drive any car you want. In this post, we will drive Audi Q7 , using horizontal plane detection. This will give more natural effect of d
Introduction You've probably heard of Sharknado , a movie with a very sound theme - flying sharks everywhere. In this post, we will try to accomplish something similar with ARKit,
Introduction One of the coolest features in ARKit 2 is image tracking. This lets you specify some references images to ARKit. When those images are recognized, you get the chance t
We, at Netcetera , are very excited to announce that we are open sourcing our framework for building iOS apps, GirdersSwift . What is Girders? If you ask Google, girder is a large
Introduction Continuous integration (CI) is a great software engineering practice. It requires developers to commit frequently and after each commit. With this, tests are run autom
Introduction At the Google I/O conference, Google has announced an exciting new framework for machine learning, called ML Kit . This is another sign that machine learning and artif
Everyone who knows me, also knows that I'm a huge whisky fan. In this post, I will blend two of my favourite things - whisky and programming, into an app that will detect the type
Lately, I've been doing a lot of talks at conferences, meetups and other events, such as job fairs and university classes. In this post, I will try to share some tips on how to get
Software visualization gives an overview of the current state of your codebase. With it, you can onboard new team members faster, but also refresh your knowledge on an older code.
Lately, I've been reading a lot of articles on app architectures. There are many such articles , with many different opinions and solutions. It's great that developers are sharing
Introduction Frequently, in our work as iOS developers, we have to present some kind of data in a table view or in a collection view. There are many ways to customise the standard
One of the most debatable Swift features is the possibility to create your own (or overload the existing) operators. This feature has both pros and cons - on one hand you can make
Conferences are a great opportunity to exchange knowledge and experiences with the fellow developers. The iOS community is pretty cool - there are a lot of fantastic people who are
Introduction Developing iOS apps is fun and challenging. During this process, we sometimes make bad decisions and mistakes, that can have impact on the quality of the app (both tec
I'm very excited to announce that my book Developing Conversational Interfaces for iOS is officially published by Apress, one of the world's leading IT books publishers. You can or
Introduction Build settings in Xcode define how your app is going to be built. Usually, when your app shows build errors or it fails to validate on iTunesConnect, build settings is
Recently, I've finished writing a technical book, called Developing Conversational Interfaces for iOS , which will be published by Apress early next year. Writing a book is a very
The previous year was very exciting in terms of technology. A lot of new concepts, tools and frameworks were introduced, laying the ground for software developers and entrepreneurs
Introduction Data visualisation helps us better understand the information and statistics our systems have collected. Having different views of the data, in different types of char
Introduction One of the most exciting frameworks released with iOS 11 is ARKit . With ARKit you can incorporate 3D data and objects into the physical environment of the user. Moreo
2018 has arrived and there are already a lot of great iOS conferences scheduled. Usually, when looking for conferences, I was checking lanyrd.com . However, lately it seems it's no
Introduction Apps are becoming more and more complex. Users expect great user experience, even without internet connection. An app that is not usable and treats offline as an error
Introduction Maps are used in many mobile apps. That's mainly because of the nature of the mobile user experience - users expect to easily find what's happening around them. For us
Introduction Graphical User Interfaces exist to enable the communication between humans and computers. The first graphical user interface was the command line (or the terminal), wh
Introduction Machine Learning allows computers to learn and make decisions without being explicitly programmed how to do that. This is accomplished by algorithms that iteratively l
Will people use conversational interfaces? That's the biggest question. Most people feel strange walking around the streets and talking with their voice assistants. A recent survey
On this day, last year, I've published my first blog post . In one year, I've published (including this one) 23 posts, which is around one post in more than two weeks. The content
Natural Language Processing (NLP) is a field in Computer Science which tries to analyze and understand the meaning of the human language. It's quite a challenging topic, since comp
Last year, Apple announced SiriKit , which provides a lot of opportunities for the developers to provide functionality to the users via Siri. However, there are restrictions in the
It's that time of the year - Apple's annual worldwide developer conference ( WWDC ), where new technologies and updates to the existing ones in Apple's platforms are announced to t
From 18th to 20th April, I had the chance to attend the CodeMobile conference in Chester, UK. This was the first edition of the conference and in this post I will share my impressi
People and computers speak different languages - the former are using words and sentences, while the latter are more into ones and zeros. As we know, this gap in the communication
Apple Pay is a mobile payment and digital wallet service created by Apple in 2014. It enables users to make payments with all the devices from their ecosystem. That's all great, bu
Platform Knowledge In the first part we've covered what I believe are the required engineering skills to do a great job in software development. In this second part, we will talk a
Introduction Being iOS Software Engineer is awesome - it's fun, it's challenging and it (in some cases) allows you to be creative. Apart from that, iOS engineers are one of the mos
Let's get back to college and the great Algorithms and Data Structures course. That's one of the most fundamental Computer Science courses, which develops the analytical and proble
Introduction Documentation is one of the things that developers don't like to do much - but it's something very important not only for newcomers to the project, but also to the peo
Introduction Downloading images from a URL is one of the most common things that mobile developers do. Most of the solutions have to also support image caching (both in memory and
Introduction Virtual Reality might be the next big thing. All of the big tech companies are starting to invest in this industry, so things will surely get even more interesting in
Introduction Swift is already 3 years old, but still changing and improving a lot. Its unique features are starting to change the developers' mindset, moving away from the old Obje
Introduction Most of the time, the mobile apps are calling REST services to get and display the latest data to their users. We've already covered the networking part - making reque
Introduction Apple's new programming language has been around for 3 years now and it's adopted really quickly by iOS developers. However, Objective-C is still around and used a lot
Introduction Connecting the mobile apps with a REST service is almost inevitable in every project - apps would be useless and boring if they don't get the latest data from the serv
Introduction In the last few years, there has been a lot of talking at conferences, blog posts and tutorials about this awesome different approach to programming - Functional React