• 270 likes • 282 Views
Learn the basics of MS Teams development, including Bots, for building powerful and extensible apps to empower users. Gain insights into Teams architecture, development principles, and hosting requirements.
E N D
Intro to MS Teams DevelopmentIncluding BotsSharePoint Saturday – Chicago SuburbsMay 4, 2019
About Me Steve Schilling (sschilling@concurrency.com) Technical Architect I’ve been working with SharePoint and related technologies since 2003 Football – not baseball Star Wars AND Star Trek Golf – although my scores indicate that I play less than I actually do.
Agenda Intro and Overview of Teams Teams Apps Overview What kinds of apps we can build Basics of Teams App Development Demo
Teams is the fastest growing business app in Microsoft history 500k organizations use Teams 91 Fortune 100 companies use Teams 44 languages are supported in Teams 60 customers have 10k or more active users Source: Microsoft
Principles Teams is designed for the cloud New features and fixes roll out fast (agility at scale) Amplifies the value of Office 365
Optimized for agility Auto-updates Teams Client Architecture Desktop Mobile Windows Mac Web iPhone/iPad Android Electron iOS Android C++ Objective C HTML5/CSS Angular → React jQuery, lodash, etc. (200+ Open Source Components) Swift Java TypeScript, Node, SASS React Native Browsers: Edge, IE11, latest Chrome, latest Firefox, Safari (soon!) Desktop: Windows 10, 8.1, 7(SP1), Mac OS X 10.10+ Source: Microsoft
What is an App? Microsoft Teams apps are web apps, you can use any web-programming technology and can host them on any hosting platform. A Microsoft Teams App is defined by its manifest (JSON), and two icons in a .zip file
Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog Bots Tabs Help users get tasks done in conversations Surface rich content within Teams ISVs Partners Publish to AppSource to make available in the Teams app store Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption Adaptive Cards Voice and video Q Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Source: Microsoft
What can we build? What can we build?
Office 365 Solution Patterns Line of Business Integration Facilitated Workstream 360o Collaboration Knowledge Assistance
Line of Business Integration Line of business apps are available without leaving Teams
Facilitated Workstream Collaboration tools in Teams guide users through structured activities
360° Collaboration Augment collaboration with a complete view of a customer, product, or business entity
Knowledge Assistance Tailored knowledge management
Prepare for Development Ensure Office 365 tenant is ready for development Teams is enabled by default, but if you’re using a corporate tenant, make sure it hasn’t been disabled Also, enable sideloading of external apps If your organization won’t allow you to develop in their production tenant, you can get a developer tenant free for a year by signing up for the developer program. https://dev.office.com/devprogram
Hosting the App Teams apps are web apps Since Teams is in the cloud, your IT department must create firewall rules to allow Internet traffic to your workstation.
Hosting the App Teams apps are web apps Since Teams is in the cloud, your IT department must create firewall rules to allow Internet traffic to your workstation. Tunnel with an app like ngrok for localhost debugging Host the app in Azure
ngrok Third party tool tunnels Internet requests to your local machine Allows the inspection of request and response Free and paid versions Free version changes the URL every 8 hours Paid version allows for custom subdomains (e.g. yourcompany.ngrok.io)
Register the App App Studio simplifies the creation and registration of an app. It is installed from the app store