This is a series of basic concepts Software Developers should know. After many years of working as a Software Engineer, I have found out that knowing this concepts can clear up a lot of difficulty in understanding more advanced concepts in programming.

My approach is to explain each concept in basic terms and with easily understood examples. This is mainly for individuals who are new to software engineering, hence the oversimplification of more advanced concepts, or anyone who wants to understand more about certain concepts

The Internet

Before we can understand what the internet is, let us look at this scenario.

Imagine…


I wonder why i had this gut feeling when working with JavaScript that the Prototype Inheritance was an accident. After thinking about it, I realize, it was because of the following reasons

  • I had written other languages before coming to JavaScript and those languages were main Object Oriented Languages or Functional like PHP, Java etc
  • Most of the materials I read to learn JavaScript never got to Prototypes until the end and after classes, which ensured that I had written a little JavaScript the way I wrote in other languages before finding out it had its own inheritance mechanism

In…


To remove a class of annoying bug issue when dealing with equality of objects in dart, override the == operator in your custom models especially if you are going to be comparing objects of the same model.

void main() {
var obj1 = CustomObject(name: 'tope', age: 20);
var obj2 = CustomObject(name: 'tope', age: 20);
print(obj1 == obj2);
print(obj1.age == obj2.age);
print(obj1.name == obj2.name);
print(identical(obj1,obj2));
}class CustomObject {
String name;
int age;

CustomObject({String name, int age}) {
this.name = name;
this.age = age;
}
}

The above code will give the following response

false
true
true
false

So many times…


One of the main themes that quickly jump at you while using Flutter is that everything is a widget. The series aims to help beginners understand this simple yet powerful concept and introduce them to basic widgets in Flutter.

To help us in this journey, I built a Twitter App Mobile UI Clone using only the inbuilt widgets that come with Flutter. You can find the code at https://github.com/topeomot2/twitter-ui-app

Part 4 was about the MaterialApp widget which makes available several other widgets that are required for material design applications.

There are somethings we expect from material design applications. They include…


One of the main themes that quickly jump at you while using Flutter is that everything is a widget. The series aims to help beginners understand this simple yet powerful concept and introduce them to basic widgets in Flutter.

To help us in this journey, I built a Twitter App Mobile UI Clone using only the inbuilt widgets that come with Flutter. You can find the code at https://github.com/topeomot2/twitter-ui-app

Every Flutter app starts from a call to main(), which calls the runApp command. The runApp commands simply set up the root widget of the Application. …


One of the main themes that quickly jumps at you while using Flutter is that, everything is a widget. The aim of this series is to help beginners understand this simple yet powerful concept and introduce them to basic widgets in Flutter.

To help us in this journey, I built a Twitter App Mobile UI Clone using only the inbuilt widgets that come with Flutter. You can find the code at https://github.com/topeomot2/twitter-ui-app

Before going on to the different widgets we need to look at the concept of “State”. …


One of the main themes that quickly jumps at you while using Flutter is that, everything is a widget. The aim of this series is to help beginners understand this simple yet powerful concept and introduce them to basic widgets in Flutter.

To help us in this journey, I built a Twitter Mobile Clone App using only the inbuilt widgets that come with Flutter. You can find the code at https://github.com/topeomot2/twitter-ui-app

Every Flutter app starts from a call to main(), which calls the runApp command. The runApp commands simply sets up the root widget of the Application. From here onwards we are building a tree of widgets with the root widget as the origin.

In Flutter, Widgets are the building blocks for other Widgets and the UI.

The technique used for this is Composition. You use widgets to compose other widgets and…


One of the main themes that quickly jump at you while using Flutter is that, everything is a widget. The aim of this series is to help beginners understand this simple yet powerful concept and introduce them to basic widgets in Flutter.

Well, it’s not going to be all talk like you’d expect. I’ll make it more challenging. And to do this, I decided to build a Twitter Mobile App UI but with the following constraint:

  • Use only widgets that come out of the box in Flutter
  • Do not use external libraries

For any point at which I deviate, you…


Firebase Cloud Functions is the glue that ties most of the other products on the Firebase platform together. This is due to the different Cloud function triggers that exist.

  • Cloud Firestore Triggers
  • Realtime Database Triggers
  • Firebase Authentication Triggers
  • Google Analytics for Firebase Triggers
  • Crashlytics Triggers
  • Cloud Storage Triggers
  • Cloud Pub/Sub Triggers

But there is one type of Cloud Function that extends things beyond Firebase products. These are HTTP Cloud Functions.

Http Cloud Functions for Firebase

By default when we talk of Http Cloud Functions for Firebase, we mean Cloud Functions that can be called via Http Requests. Which means they can be called from anywhere.
Below…

Temitope Omotunde

Senior Software Engineer @Andela

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store