Sep 2, 2019

Microsoft Teams Desktop Client - 2


Introduction:

In my previous article, we have seen how MS-Teams desktop client works, in this article we will explore Teams desktop Client Architecture in detail.

If you are new to the Microsoft Teams, please visit my previous articles to get more understanding on teams- Introduction, Teams DifferentlyGuest Users in Teams , best practices while creating new team, best practices while creating new Channel, Desktop Client -1

Understanding of Microsoft Teams Client Architecture:
Microsoft Teams is collaboration software and it has a lot of integration of tools externally as well as internally. External means we can fetch data from external sources and show it in Teams using Tabs, Apps, actional messages, etc.

Let’s see how Teams desktop client designed internally. Teams designed with the help of below open source tools to achieve rich UI and for performance benefits.

Architecture: 

Figure 1: Desktop or Mobile Clients Technologies

Microsoft Teams desktop client is designed in different technologies and integration of tools.
Desktop UI is designed in Angular with HTML5 and CSS. Now Microsoft moving towards ReactJS components rendering, internally 200+ open source projects have been used by desktop client. Under the hood Typescript performs  conversion into JavaScript and use of NodeJS for smooth updates of information in desktop or Mobile clients.

Desktop clients are created in different languages such as C++ for Windows and Objective-C for Mac platform.

Desktop clients uses internally SASS to set styling of UI for clients.
Mobile Clients supported for IOS and Android platforms, it uses Swift for IOS and Java for Android, now Microsoft also started using React Native for few of the components in mobile clients.
We are already seen how squirrel help to achieve auto updates in my last article. Auto Updates frequency is daily for internal timelines but for outside updates frequency is 2-week time or a month time.

Let’s check how Microsoft Azure is major component for Teams -

Figure 2: Azure Components

Microsoft Teams core component is Azure, it uses redundancy and disaster recovery features from Azure. Teams also uses compliance feature of Azure (Office365) to secure organizational teams with custom policies.

Conclusion: 
Microsoft Teams is uses multiple technologies internally to provide single application for collaboration and Team work. It is now slowly moving to React development for future benefits.