感受

  • 非常依赖微软的生态系统,基本上就是原来单机版的 Office 搬上了云端,再加上一些快捷功能生成手机/平板 App 和网站等。
  • 生成的 App 实际上是运行在 PowerApps 这个超级 App 基础上,相当于小程序之于微信,不同的是,小程序支持代码开发(支持 JavaScript 等语言,有更高的可控性和灵活性),而微软的 PowerApps 不太支持代码开发,主张的是通过 Datavers 生成或组件拖拽搭建。
  • 不同于通常开发概念上的软件,可控性比较差,低代码模式决定了所有可以操作的空间,限制在微软开放出来的功能。
  • 目前尚在不断开发阶段的版本,较多的新界面和旧界面混合在一起。
  • 整个 PowerApps 的软件基础是基于较早的 Office 辅助开发思路。
  • 当前的 Datavers <== CDS <== Access,相当于早期微软的 Access 数据库的网络云端化产品。
  • 需要建立起相应的概念才能用好这套 Model Driven App:
    • 表 Table、 实体 Entity 是一个概念,新建的表中会自带一些微软生态的账号等相关的字段,新建的表中会有一个类似 Name 的主键字段,通常用于区分表 Table 的各条记录。
  • 与外部接口连接比较困难,连接 MySQL 等外部数据库需要安装 Gateway 网关,且仅支持 *.exe 文件安装,即 Windows 系统。
  • 外部系统想连接 Datavers/CDS 的数据,需通过 OData 协议的 RESTful 接口,可能还需要相应的权限校验等(未深入尝试)。
  • 如果想与外部系统共用数据库数据,可能较为理想的选型应该是: SQL Server 或 Azure 空间上的 DB 库,这样方便外部系统访问相应的数据。

结论

以下情况可以考虑使用

  • 如果客户或自己公司强依赖微软生态,且不差钱(购买整套服务成本较高),可以考虑使用。
  • 如果客户或自己公司强依赖 Excel 等 Office 办公软件,可以考虑使用。
  • 如果没有专业的软件开发团队,希望业务人员自己实现一些自动化功能,可以考虑使用。
  • 如果只是快速推出一个小的演示项目,可以考虑使用。如:通过一个 Excel 数据表快速生成一个小的商品展示 App 等。

不建议使用

  • 如果有专业软件开发团队,有较好的软件开发能力,可利用开源软件生态,不建议使用。
  • 如果想摆脱微软 Office 生态,不喜欢使用 Excel、Word 来日常办公,有更好的生态选择,则不建议使用。
  • 如果对于所使用的软件产品有较长远的规划,较复杂的业务逻辑,希望未来有较开放的扩展性,则不建议使用。