### uniCloud和微信小程序云开发、支付宝小程序云开发有何区别？

微信、支付宝、百度的小程序，均提供了云开发。但它们都仅支持自家小程序，无法跨端。

`uniCloud`和微信小程序云开发、支付宝小程序云开发使用相同的基础建设平台，微信小程序云开发背后是腾讯云的TCB团队，支付宝小程序云开发背后是阿里小程序云团队。`uniCloud`是DCloud和阿里小程序云团队、腾讯云的TCB团队展开深层次合作，在他们底层资源的基础上进行二次封装，提供的跨端云开发方案。

简单来说，uniCloud和微信小程序云开发、支付宝小程序云开发一样稳定健壮，但可以跨更多平台。不管你在uniCloud里选择了阿里还是腾讯的serverless，均可以跨端使用。

### uniCloud稳定吗？DCloud服务器异常会影响我的线上业务吗？

`uniCloud`是 DCloud 和阿里云、腾讯云等成熟云厂商合作推出的云服务产品，阿里云、腾讯云等提供云端基础资源，DCloud提供API设计、前端框架、IDE工具支持、管理控制条、插件生态等服务，开发者的云函数直接托管在阿里云等服务商平台。用户终端App运行时，直连云服务商平台，不会经过DCloud服务器，开发者无需担心因DCloud服务器负载而影响自己业务的问题。

### 云函数 和 传统 Node.js 开发有何区别？

云函数相当于 Node.js + Serverless + DCloud改进。
- 传统Node.js开发需要购买服务器，安装Node.js环境，部署 pm2 等守护进程；云函数无需考虑服务器环境，只需专心实现业务代码，然后将云函数一键上传，云服务商负责云函数运行环境的准备。
- 传统Node.js开发模式，开发者需监控服务器参数，比如硬盘使用率，避免服务器负载过高导致业务中断；云函数模式下，开发者无需关心云函数运行的宿主环境，云厂商会实现服务调配及硬件监控。
- 用户量较大时，传统Node.js开发需考虑购买更多服务器并实现负载均衡；云函数模式下，云服务商自动弹性扩容，开发者无需担心服务器扛不住压力。
- 传统Node.js开发模式，需考虑安全防护，比如DDos攻击；云函数模式，云厂商的API网关会做拦截防护，开发者无需关心，并可节省高防IP等费用

总结一下，前端同学即便可熟练编写Node.js代码，但对于DB优化、弹性扩容、攻击防护、灾备处理等方面还是有经验欠缺的，但`uniCloud`将这些都封装好了，真正做到仅专注业务实现，其它都委托云厂商服务。

另外，在 Node.js 代码实现上，云函数每次执行的宿主环境（可简单理解为虚拟机或服务器硬件）可能相同，也可能不同，因此传统`Node.js`开发中将部分信息存储本地硬盘或内存的方案就不再适合，建议通过云数据库或云存储的方案替代。

### uniCloud只支持uni-app，怎么开发web界面？

uni-app本来也可以开发web界面，只是内置组件对宽屏没有自动适配。你可以：
1. 新建uni-app项目，但不使用内置组件，而是直接用三方ui库，比如elementUI。这些基于vue的、适合宽屏使用的ui库可以直接用。至于js api，仍然使用uni的，比如uni.setStorage等。有一个可参考插件[GraceAdmin](https://ext.dcloud.net.cn/plugin?id=1347)，是基于uniCloud的pc端管理后台框架。
2. 继续使用内置组件，自己处理pc适配：
    - 如果要多端适配界面，使用css的媒体查询处理适配。
    - 2.6.3起，uni内置组件支持了pc鼠标的滚动和drag。老版可以使用三方库替换touch的拖动为pc上的drag，比如touch-emulator.js。
    - uni-app的内置组件和api仅适配了webkit内核浏览器，ie和firefox可能有兼容问题。如有问题需自己写额外css或js适配。

后续DCloud会进一步强化内置组件和uni-ui对PC浏览器的适配。

### 云函数是否有http url触发方式？

目前可以用uni-app做个web页面，通过这个url来操作云函数。插件市场有一个做好的样例，详见[https://ext.dcloud.net.cn/plugin?id=1360](https://ext.dcloud.net.cn/plugin?id=1360)

后续会原生支持http url触发云函数。

### 微信云开发支持客户端直接操作数据库，uniCloud不支持？
- 安全问题：客户端直接操作数据库，会有安全隐患。微信云开发利用了微信账户是强制登陆的特点，设计了一套基于微信账户的权限，可以让客户端直接操作数据库，但一旦离开微信环境这种方案就用不了。比如App和H5，大多是不需要登录账户也可以使用的。
- 其他问题：客户端直接操作数据库，会造成客户端的sdk体积变大、启动初始化变慢、整体联网消耗流量变大、数据获取权限控制复杂，并不好用。

综上，uni-app放弃了客户端直连数据库，所有数据库操作必须使用云函数。

### 云函数支持websocket和定时任务吗？

很快会支持。

### 发布H5时还得自己找个服务器部署前端网页，可以不用自己再找服务器吗？

很快会支持。

### 腾讯、阿里的serverless有什么大案例？

- 微信小程序云开发，已经有50万开发者，包括腾讯自有的很多大日活应用都构建在腾讯云serverless上，如微信生活缴费、乘车码、微信读书、腾讯新闻、腾讯相册等。
- 2019年双11，阿里部分业务已经迁移在serverless上。支付宝小程序也提供了云开发功能。

### uniCloud费用贵不贵？

目前uniCloud处于公测期，是免费的。未来uniCloud的租用费用，也会低于租用传统云主机的费用。
另外公测结束也不会删除公测期的数据。
