Developing a TODO app with Flutter – Part 1

In this series of tutorials, I will walk you through the process of creating a TODO app with the Flutter framework. By the end, you will have a cross-platform TODO mobile application, which allows you to add, edit, remove and complete tasks, while persisting the data on Google Firebase. The series spans across 3 parts:

Part 1 – Setting up the development environment and creating the project
Part 2 – Implementing core functionality
Part 3 – Connecting your app to Google Firebase

read more “Developing a TODO app with Flutter – Part 1”

Windows Subsystem for Linux explained

Many developers have struggled to work on Windows systems with tools that either perform better on Linux or are not available on Windows at all. Solutions often involved installing a Linux distributive on a virtual machine, on a separate hard drive and configuring dual boot, or using tools like Cygwin. However, this is about to change as Microsoft introduced Windows Subsystem for Linux.

read more “Windows Subsystem for Linux explained”

React Native vs Flutter: which one should you use?

In recent years, cross-platform mobile development was steadily picking up speed, as more and more companies realize they can save time and money by switching from native development to cross-platform. There are a number of frameworks to help you with that, and in this post, I will compare two most popular ones: React Native and Flutter.

read more “React Native vs Flutter: which one should you use?”

The basics of Dart programing language

Dart is a multi-paradigm programming language developed by Google. It can be compiled to native ARM/x86 machine code (either Ahead-Of-Time or Just-In-Time) as well as to JavaScript. Its most notable use case is developing cross-platform mobile apps with Flutter. In this tutorial, I will introduce the basics of the language, as well as provide resources for further research. Some basic knowledge of another programming language (JS/C/Python/etc) is expected.

read more “The basics of Dart programing language”

importance of time tracking

Time is  a very scarce resource and it does not get replaced as we go on wasting it. So, as with any other resource, you may want to know how you are spending it and why do you never have enough time. That is where time tracking software comes into play. It allows you to boost your productivity to a whole next level, as the best way to optimize something is to measure at and get feedback. For people who practice Pomodoro or Flowtime techniques time-tracking will streamline the process and get invaluable insights.

read more “importance of time tracking”

do you need math as a programmer?

As more and more positions open for computer programmers and scientists, many are confused: do you need to know math as a software developer? This is a very old question that resulted in countless debates, but common sense and popular opinion still incline that you, indeed, need math in order to succeed. Of course, there are exceptions to any rule and I will try to explain everything I know on this topic in this post.

read more “do you need math as a programmer?”

how to do background geolocation in react native

React Native logo

A while ago, I was working and was faced with the task of developing a react-native application to track vehicles. After spending about a month researching and trying out different ways of doing background geolocation in react-native applications, I found out that: it was very hard; there were no posts that compiled all the information on the topic. So I decided to write this post for anyone who faces the same problem.

read more “how to do background geolocation in react native”