Tools & Frameworks That Were Used to Build WhatsApp (Android)

in #technology7 years ago

Tools & Frameworks Used in WhatsApp :

  • UI-focused :

ActionBarSherlock:
ActionBarSherlock is an extension of Android support library designed to facilitate the use of the action bar design pattern across all versions of Android with a single API. The library got used in components such as GalleryPicker, ImageGallery etc.

StickyGridHeaders:
An Android library that provides a GridView that shows items in sections with headers. By default the section headers stick to the top like the People app in Android 4.x but this can be turned off. StickyGridHeaders also automatically sizes its rows to the largest item in the row.

  • Integration with Google Maps, Google+ :

Google Play Services SDK: It helped WhatsApp take advantage of the Google-powered features such as Google Maps, Google+.

  • Platform updates distribution :

Google Play Services SDK: It helped in distributing automatic platform updates as an APK through the Google Play store. This made it faster for the users to receive the updates.

  • Media :

Mp4Parser:
As part of Mp4Parser, ISOParser and ISOViewer got used to read and write the MP4 file structure and, visualize the MP4 box structure respectively.

  • Messaging :

Cloud to Device Messaging Framework: Android Cloud to Device Messaging (C2DM) is a service that helps in sending data from servers to WhatsApp application on Android devices. The service provides a simple, lightweight mechanism that servers can use to tell mobile applications to contact the server directly, to fetch updated application or user data. The C2DM service handles all aspects of queueing of messages and delivery to the target application running on the target device.In the application, there are two key components. They are C2DMBroadcastReceiver and C2DMRegistrar.

  • Database :

SQLite:
SQLite is an Open Source database that supports standard relational database features like SQL syntax, transactions and prepared statements. The database requires limited memory at runtime (approx. 250 KByte) which makes it a good candidate from being embedded into other runtimes.

  • Platform :

Android SDK

AspectJ: A seamless aspect-oriented extension to the Java programming language that is used for modularization of crosscutting concerns, such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, and multi-object protocols.

Coin Marketplace

STEEM 0.22
TRX 0.20
JST 0.034
BTC 98765.99
ETH 3313.55
USDT 1.00
SBD 3.07