从开发团队角度看平台

Microsoft Teams是拥有数亿用户的平台,通过你已经熟悉的技术和框架,一方面可以很容易地把现有的业务应用集成到Teams里面来,也可以把Teams的现有能力整合到你的外部系统中。

我在本书第一章就专门给大家介绍了平台的架构和能力,请确保已经花时间详细阅读。

架构简介

功能列表

那么,这一章开始,我们要以开发团队的视角来展开研究了。下图展示的架构,我想特别强调一点就是,尽可能地利用后端丰富的平台能力,通过合适的前端界面,解决用户的关键问题。

如何开发一个Teams平台应用

作为开发人员,你可能也经常被朋友问:开个一个App大概要多少钱吧?有一段时间,在网上还对这个问题进行了热烈的讨论呢(例如下面这个)。

https://www.zhihu.com/question/53656977

当然,我觉得这样的讨论是很有必要的,可以普及大家对于软件开发的理解嘛。

  1. 软件开发的成本(以及要多久)取决于要投入的资源,而要投入的资源取决于这个事情的回报。例如,一个做演示的应用,和一个准备要承载每天一百万人访问的应用,显然是不一样的。
  2. 软件开发是有流程的,但也需要与时俱进,善于利用新技术或者组合各种不同技术也许能事半功倍。 现在的云平台和相关技术都比较发达,从客观上确实是可以加速开发进程,但这里前提仍然是有专业的队伍,否则你用了全世界最好的平台,或者搞了很多敏捷开发的套路,最后还是一地鸡毛。

那么,开发一个Teams平台应用应该怎么来评估呢?作为研发团队,又如何根据客户提出的需求,适当地决定你的开发策略呢?除了上面提到的两条通用性原则(正确的废话)之外,我总结还有三条可供参考:

不需要把所有的功能都放在Teams里面来

这个原则是特别对现有的合作伙伴而言的。大家可能已经有了自己的一套解决方案,很多时候都已经有PC端、移动端、网页端、甚至其他一些应用入口,那么在评估Teams平台时,最简单的做法是不是直接就把之前解决方案的页面嵌入进来?几乎零成本啊。话虽这么说,还是要看你嵌入进来的目的是什么?是不是你的用户希望的交互方式?

简单地说,移动端有的功能,不一定要在PC端实现。网页版有的功能,不一定非得在Teams里面提供。如果要取得成功,你需要真的花些心思,研究用户在Teams中的使用习惯和方式,并且挑选一些非常贴合的场景(哪怕很简单的一两个功能)将其整合进来,这样一来,你的启动成本会很低,又能给客户提供真正好的服务体验。

看起来简单的方法,不一定快,也有可能是代价反而昂贵的。

不是所有的Teams能力都要使用

这个原则跟上一条有点关系,但又不尽相同。我看到有些合作伙伴或开发者,确实花了很多心思研究Teams平台的能力,也非常愿意投入资源打造跟Teams结合最好的场景和体验。

但这里容易陷入一个误区,大家看到Teams提供的这么多能力(机器人,选项卡,消息扩展,连接器等),可能会想,如果我把这些场景都实现一次,是不是对我的用户来说,就太好了呢?

少即是多(less is more)。我还是主张,一个应用最好专注做好一件事情,并且把它做的极致,可能比你提供很多功能 ,但是又都没有什么亮点来的好。

退一步讲,你的解决方案可以确实可以提供多个能力,但在确保用户能得到最小但又完整的体验前提下,你应用先做好一个,然后再做第二个。

不是必须什么要写代码实现

这个原则就跟我之前提到的“与时俱进” 有关了,现在很多基础技术都比较发达,云平台也比较成熟,甚至低代码平台都遍地都是了,站在巨人的肩膀上,既省了力气,也为软件的运营质量提供更好的保障。

例如,你要做个机器人,提供自然语言的理解。这个事情,你当然不能自己组织一批科学家去研究语音技术,理智的决定是应该选择合适的机器人框架,或工具来实现。你的代码更多是粘合各种不同的工具,以及解决用户的一些交互的问题。

又比如,你的解决方案中有一个排队定时处理的需求。你要自己去做一个消息队列,并且写定时器吗?不需要,你可以用多种现成的技术(不管是Azure自带的Functions 和 Web Job,还是Power Automate都可以),又快又好地实现强壮又可靠,而且往往成本更低的方案。

善于组合使用多种技术,把精力放在核心的代码上,把它写好。

成为Microsoft Teams认证开发者

无论如何,软件开发都是一个专业的活儿。不管是专业开发者,还是无代码开发者,其实都要求有相应的专业知识。欢迎大家有时间能参加微软的认证课程,并获取有关的证书。

https://docs.microsoft.com/zh-cn/learn/certifications/browse/?expanded=m365%2Cmem\&products=m365%2Coffice-teams\&resource_type=certification\&roles=developer

成为Microsoft Teams市场合作伙伴

Microsoft Teams 平台拥有广阔的商机,成为微软正式合作伙伴,你将获得专属培训,和共同进入市场的资源支持等,请通过下面的链接了解更多细节。

https://partner.microsoft.com/zh-cn/solutions/modern-workplace/teams

results matching ""

    No results matching ""