写点什么

同样的能力,为什么开发小程序要比 App 简单 100 倍?

  • 2020-11-26
  • 本文字数:3584 字

    阅读完需:约 12 分钟

同样的能力,为什么开发小程序要比App简单100倍?

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

“在红海中博杀是没有前途的,所有的成功企业都是不同的。”这是 Paypal 创始人 Peter Thiel 在作品《从 0 到 1》中写下的结论。


过去互联网产品的快速发展得益于人口红利,前几年只要把握好流量就可以实现产品增长,而今天,用户说产品好才是增长的核心,市场已从流量驱动转为创新驱动。APP 作为用户接入移动互联网世界的桥梁和入口,无论对于传统企业还是互联网企业,都是市场营销的重要战场。但是,传统的 APP 开发模式的门槛高、成本高、开发周期长、无法快速迭代,很难在应用交付上有突破性创新。


2017 年 1 月,微信小程序正式上线。小程序是微信基于 xml 和 js 定义的一套标记语言、全新的生态、一个轻 OS,开发工具和 UI 框架都是腾讯自己做的,它依附微信、无需下载,也是一座流量富矿。


传统 APP 开发 vs 小程序开发


尽管,大部分团队已经意识到创新和高效很重要,但却依旧难以”敏捷“起来。在传统 APP 开发方式下,应用交付需要经历这样的过程:


  • 一个 APP 从 idea 到上架商店,要经历 8 个步骤:设计流程→设计原型→设计 UI→前端代码→后端服务器搭建→后端代码→后端部署→测试→上架。由于是代码级开发,开发和测试周期都很长,成本高,调试出错率也高,开发好的应用也需要一定时间磨合才能稳定。在这个过程中若需要使用外部商业化 API,还需要支付昂贵的费用。


  • 过程中参与的人员至少包括 5 个人:Android + iOS + 后台 + 产品经理 + 美工。这对开发人才的要求很高,分别需要精通编程语言、数据库等。无论是物理托管,还是云主机维护,都需要投入较多人力物力,成本无上限。


  • 前后端联调、资源存储、部署等操作繁杂,上线流程耗时长。


  • 上线后需时刻关注环境运行情况,且由于维护时代码级修改导致产品新问题出现,调试过程也非常麻烦。


这些因素导致各环节和部门总体的效率不高,包括持续发布能力低、需求响应周期长、交付吞吐率低、交付过程质量低、交付质量低,业务部门提出的创新性需求也很难及时响应。


微信小程序的交付过程是这样的:


  • 一般小程序从 idea 到发布,也要经历 8 个步骤:安装微信开发者工具→创建一个小程序→编译→前端代码→后端服务器搭建→后端代码→后端部署→发布。小程序框架本身所具有的快速加载和快速渲染能力,加之配套的云能力、运维能力和数据汇总能力,可以释放开发者的精力。且在语言上,小程序的前端开发学习成本较低。


  • 过程中依旧需要前端和后端开发的参与。


  • 提供丰富的微信原生 API,调用微信能力比较方便。相对于传统 APP 开发,微信小程序官方的开发文档较为丰富,开发语言门槛低,从组件到 API 都很全面,开发难度适中。且网络上有丰富的开源项目,方便开发者获取和比较。


再看用云开发构建小程序的过程:


  • 从 idea 到上线,需要经历 5 个步骤:安装微信开发者工具→新建一个模板小程序→开通云开发服务→编译→发布,且整个过程为可视化操作,只需写核心逻辑代码即可。


  • 仅需 1 人即可完成开发。


  • 平台一体化,开发者无需关心服务器搭建和管理;项目一体化,前后端可以在同一项目内开发和维护。


  • 按请求数和资源的运行收费,投入按需付费。


如此看来,相对于大型互联网公司来说,中小型企业更希望低成本、低人力投入、快速上线和迭代的产品,可以优先考虑通过云开发构建小程序来承载。


为什么开发小程序没有繁重的后台问题?


这几年高频的技术换新让开发者又爱又恨,所谓的“学不动了”,不单单包括语言,框架、工具还有很多理念思维上的内容。但若学无所用,它的性价比就会下降。那么,腾讯如何帮助开发者最大化实现技术先进、研发高效和投入成本低?


1、拥抱 Serverless 设计理念。 云开发是一个入口,目标是为了让开发者以更低的门槛,更小的成本接入云计算服务,实现应用快速开发。同时这也是服务上 BaaS(后端即服务)+FaaS(函数即服务)的体现,尤其是云函数的设计,可根据请求量弹性横向扩展,开发者只需关注核心代码,不再参与基础设施架构设计。


2、从产品生态方面来说,云开发和微信生态打通,技术拥抱产品生态,打通了客户端和云资源的链路,一个云端服务支撑多端应用,实现一次开发,多端运行。


3、工具丰富,从数据库,存储服务,API 到云函数,云托管基本上涵盖了所有的开发流程节点,每一个上手门槛都很低,只需浏览文档对应模块即可。


4、可视化程度高,云开发正在朝着无代码或者低代码设计微信小程序的趋势发展,这样非开发人员可以直接设计应用,进一步降低门槛。


(传统开发模式与云开发模式的对比)


在传统开发模式下,开发者需要更多关注文件存储、备份、容灾等,但是云开发模式下就只需要关注与业务逻辑相关的数据库、文件存储、云函数。目前,小程序开发主要采用云开发的模式。


现在,我们整体对比下,实现同样的功能,APP 开发者和小程序开发者需要解决的问题。



很明显,如果一个全栈工程师沉浸在繁重的编程和运维上,那么,遇到具体业务问题时,还怎么有充足的精力和经验来解决,面对新的需求还怎么快速响应。


我们先不去讨论全面自动化或零代码有没有可能,从这几年的发展趋势来看,拥抱 Severless、低代码、可视化,已经稳稳抓住了程序员和企业技术架构的痛点。小程序云开发已成为软件开发效率提升的突破点,越来越多的业务需求可以得到有效解决。


哪些团队适合使用小程序云开发?


云开发可以真正意义上实现前后端包揽的“全栈”,用在以下这几个场景尤其合适:


1) 传统企业 / 存量业务需要快速迁移上云时,不希望改造代码或重构业务的,云开发可以提供免运维的后端云服务,适用于传统企业、存量业务;


2) SaaS 厂商需要多租户隔离时,云开发可以支持环境级别资源隔离,每个环境有独立的一套后端云服务;


3) 中小企业希望享受自动化运维和托管服务时,可以使用云开发的后台服务托管, 实现可视化操作,释放运维压力;


4) 初创企业或是企业内部创新孵化时,希望可以快速验证商业模式,可以使用云开发快速部署和上线


For example:


1、10 个月发布 349 次版本:微信读书


微信读书小程序继承了微信读书 APP 最核心的阅读功能,并作为 APP 最核心的对外分享和运营渠道。上线 10 个月以来,微信小程序已发布 349 次版本,开发效率分别是对应的 APP 和 H5 的 4 倍与 2 倍,累计获客数千万,日均 PV 过千万。


微信读书为什么用小程序云开发?原因有三,一是团队在小程序开发方面经验不足,积累的 Node 框架也需更新,因此导致上线流程较为繁琐,速度也不太可观。二是团队人力不足,这也是比较客观也比较难解决的一个问题。三是考虑了性价比问题,云开发要比自己搭建 Node 服务器划算。


通过云开发模式,微信读书小程序的前端代码和服务端代码共存在一个项目中,同样的技术栈、同样的 IDE 环境,可以调试开发更高效。同时,云函数支持动态扩容,可以完美支持瞬间增长的运营类业务。此外,云开发还让其团队的分工和成员能力发生了显著变化。以前其团队按照前端开发、Node 开发和运维人员进行分工,现在前端负责全栈开发。团队成员除了前端技术,还更关注服务性能和稳定性,资源利用率(如云函数耗时、云数据库连接数等)。



微信读书使用云开发的具体逻辑如下图,从小程序端获取的数据通过云函数、云存储等功能传输到 Server 后台,并生成业务发展数据的报表,相当于一套从后台到前端的完整服务。


2、1 人 2 周完成的亿级项目:腾讯相册


腾讯相册的产品定位是帮助用户在微信中能无限量存储照片,快速与好友分享照片进行互动,对照片富媒体化编辑等基础能力,让用户在微信场景点开即看。这里有 4 个关键词:存储,分享,互动,富媒体化编辑。腾讯相册小程序团队仅投入 1 名前端开发工程师,2 周内就快速完成了“评论点赞”社交功能以及小程序内部二维码的快速优化升级。


3、让海外用户访问性能提升 42%


“境外游礼包”是使用”微信“小程序的优惠平台,只需扫店铺海报上的二维码或在 APP 上搜索小程序,即可获取“超优汇率券“及“翻倍折扣券”等店铺专享优惠券。“小程序·云开发”还对数据访问链路做了专门优化,使小程序的数据加载速度更快。借助“小程序·云开发”良好的网络和数据加载性能,境外游礼包小程序开发性能优于传统模式 42%。


云开发模式,不止于小程序


云开发已经得到了很多开发者的认可。上线一年后,“小程序·云开发”注册账户数超过了 23 万,服务了超过 50 万开发者。这标志着云原生理念开始在国内有了大规模的应用落地。


在基础能力之外,“小程序·云开发”还正在进一步封装腾讯云、微信平台的其他能力,提供扩展能力,包括 AI、音视频、订阅消息、微信支付等,让开发者在更多业务场景中可以使用“小程序·云开发”,打造更优质的小程序。


但是,云开发的模式不局限于小程序这一个场景,在 11 月 29 日将要举行的“小程序·云开发”技术峰会上,腾讯云和微信相关负责人,将介绍腾讯云开发在支持公众号网页和 Web 网站时新增的一系列接口及资源互通与共享能力。此外,今年的峰会上,云开发在交付能力和创新模式上有哪些突破性进展,让我们拭目以待!


点击立即报名

2020-11-26 20:424089

评论

发布
暂无评论
发现更多内容

【API进阶之路】因为不会创建云服务器,我被实习生摆了一道

华为云开发者联盟

虚拟机 服务器 API 华为云 API接口管理

阿里云高级技术专家李晓成:面向5G的云网一体及云原生应用实践

阿里云Edge Plus

多线程为了同个资源打起架来了,该如何让他们安定?

小林coding

并发编程 多线程 操作系统 计算机基础

饿了么4年 + 阿里2年:研发路上的一些总结与思考

程序员生活志

阿里 饿了么 经验总结

kubernetes 集群升级,备份,故障恢复(kubeadm)

小小文

Kubernetes 群集安装 故障 kubeadm

LeetCode 题解:122. 买卖股票的最佳时机 II,JavaScript,一遍循环,详细注释

Lee Chen

大前端

一个简单的物联网设备接入网关高可用方案

凸出

Java nginx Netty

智能标注原理揭秘,一文读懂人工智能如何解决标注难题

百度大脑

人工智能 百度 学习 AI 百度大脑

架构师训练营」第 7 周作业

edd

极客大学架构师训练营

[POJ 1000] A+B Problem 经典水题 JAVA解题报告

一直AC一直爽

POJ OJ ACM 水题

程序员开启社交和打造影响力的最佳方式

非著名程序员

程序员 提升认知 写作 社交

【小白学YOLO】一文带你学YOLOv1 Testing

华为云开发者联盟

人工智能 算法 图像识别 什么是多线程

又被逼着优化代码,这次我干掉了出入参 Log日志

程序员小富

Java

Fastjson到了说再见的时候了

YourBatman

Jackson Fastjson JSON库

数据分析师 ”痛“ 谁能了解

松子(李博源)

数据分析 产品经理 数据产品 数据模型

[POJ 1001] Exponentiation JAVA解题报告

一直AC一直爽

算法 刷题 POJ ACM

存储性能加速引擎之预读

焱融科技

Linux sds 焱融科技 分布式存储 预读

面向进化的软件架构

星际行者

软件架构 进化

【源码系列】Spring Cloud Gateway

Alex🐒

源码 SpringCloud Gateway

三分钟热度的干劲

落曦

字节跳动李本超:一年成为 Committer,我与 Flink 社区的故事

Apache Flink

flink

常见的emit实现AOP demo

八苦-瞿昙

随笔 随笔杂谈 aop

你的个人博客网站该上线了!

北漂码农有话说

第七周作业

andy

极客大学

JAVA算法

Bruce Duan

排序算法 Java算法

Python好找工作吗?

cdhqyj

天府之国迎来数字经济发展高地新契机

CECBC

数字货币 区块链技术 应用落地 人才政策产业

BIGO | Likee深度推荐模型的特征工程优化

DT极客

密码学的随机性与区块链随机数

CECBC

提速数字化!区块链加速应用落地,新制造与服务不断推出

CECBC

第七周总结

andy

极客大学

同样的能力,为什么开发小程序要比App简单100倍?_方法论_Linda_InfoQ精选文章