You are currently viewing Creating WhatsApp in Flutter – Top Open Source Projects

Creating WhatsApp in Flutter – Top Open Source Projects

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:

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

Leave a Reply