Creating WhatsApp in Flutter - Top Open Source Projects

| Page Views: 430

Top Flutter WhatsApp App Clone Projects Source code In GitHub

How to create your own WhatsApp in Flutter.

What is Flutter?

Flutter is a mobile development framework allowing us create apps using dart programming language. It is gaining popularity very quickly and it's easy to see why. Flutter is one of the easiest frameworks of anu framework and this surprising given the huge amount of power it provides to our apps. All of a sudden people are cloning popular apps like instagram and whatsapp without any respect. This wasn't seen that much in the android community as the previous alternatives were probably just java, kotlin and C#. Yeah there is also React Native but it's in Javascript, a language that some developers have never loved.

Flutter's syntax is much closer to Java, which has been for many years the primary development language for android. Moreover Java is the most popular programming language currently and it is always a language of reference when discussing programming languages.

What is WhatsApp?

Even my grandma knows what WhatsApp this. This should be surprising since she stays in a fairly remote place in Kenya. However we've used WhatsApp to chat with her. This attests to WhatsApp popularity. Recently in the year 2017, Facebook had announced in its Q2 2017 earnings call that messaging app WhatsApp now boasts 1 billion users every day. WhatsApp users are sending over 55 billion messages and posting over 4.5 billion photos per day.

And as my grandma case can prove, it is more popular overseas than it is in the United States. Yet it only supports about 60 languages.

WhatsApp is very popular because it does't just connect us to one another but it does that in a very simple manner without much clutter and complexity. All we need is a smartphone, sim card, whatsApp app and basic internet. There is no complex registeration process and difficult navigation, just plane old tabs. Yet it works.

In this piece we want to look at some of the best whatsApp projects in github. I haven't written these apps. They are written by other fellow developers. However they are open source so we can explore and learn from them.

If you have written a whatsApp app you can share us the link so other budding developers can learn from them. Also share us links we may not have added here.

(a). FlutteWhatsAppClone

Pawan Kumar has written a simple whatsapp clone and even has a video tutorial for it. Obviously this it is a WhatsApp UI clone. Through this we can learn how to design a beautiful and and fairly complex UI without using third party libraries. Just the widgets from the material.dart.

Here is the demo:

FlutteWhatsAppClone App

1. Chat Model

We start by creating a chat model: chat_model.dart. This will model a chat. It's a class with the following fields:

class ChatModel {
  final String name;
  final String message;
  final String time;
  final String avatarUrl;

  ChatModel({, this.message, this.time, this.avatarUrl});

Becuase we are interesting in only the UI, we use some dummy data.

2. Pages

There are 4 pages:

  1. Status Screen - A stateless widget with a simple text centered on the screen.
  2. Chat Screen _ A stateful widget that will contain our chats. Those chats will be rendered on a ListView. That Listview will have a circular avatar to show profile image and a text to show message.
  3. Camera screen
  4. Call screen
  5. Home page - This is where a tab displayed that will render our tab items as pages. It contains a WhatsAppHome class, a stateful widget. TabController will be used alongside TabBar and Tab classes to construct the swipe tabs.

And more and more. Here are the files we have in this project:

  1. chat_model.dart
  2. call_screen.dart
  3. camera_screen.dart
  4. chat_screen.dart
  5. status_screen.dart
  6. main.dart
  7. whatsapp_home.dart
Project Links

Here are the project links and references.

No. Location Action
1. Github Download Project
2. Github Browse
3. YouTube Watch YouTube Tutorial
4. YouTube Author YouTube Channel
4. Github Visit Author Site

How do You Feel after reading this?

According to scientists, we humans have 8 primary innate emotions: joy, acceptance, fear, surprise, sadness, disgust, anger, and anticipation. Feel free to tell us how you feel about this article using these emotes or via the comment section.

About Me.

After completing his Software Engineering bachelors program, Oclemy(Clement Ochieng) these days is a man of two lives. At day he works for a startup in Nairobi, Kenya. At night he works tirelessly on building ProgrammingWizards TV, a tv channel for student coders and this website to help share the source code. In between he practices Meditation and Self actualization to help him keep balance. He also likes going for long solo walks to connect more with nature.


What do You Think

Previous Post Next Post