发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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

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

    阅读完需:约 12 分钟

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

“在红海中博杀是没有前途的,所有的成功企业都是不同的。”这是 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:423829

评论

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

我是咖啡师,在软件公司上班|ONES 人物

万事ONES

索信达控股上半年成绩出炉:核心业务收入大幅增长75.3%

索信达控股

如何快速地学习东西(上篇)

宇宙之一粟

学习 成长 8月月更

实时数仓Workshop · 广州站 9.15 邀您参加!

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

隐私公链Findora生态布局,隐私赛道发展急先锋

EOSdreamer111

阿里云实时计算 Flink 版 x Hologres: 构建企业级一站式实时数仓

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

页面切换转场动画,英雄救场更有趣!

岛上码农

flutter ios 前端 移动端开发 8月月更

[JS入门到进阶] 哎,被vite小坑了一波,大家记得配置build.cssTarget为'chrome61'

HullQin

CSS JavaScript html 前端 8月月更

SMTP协议详解

工程师日月

8月月更

盘点:阿里云效平台的5大替代解决方案

PingCode

开源一夏 |为什么线程池不允许使用Executors去创建?

六月的雨在InfoQ

开源 OOM Executors ThreadPoolExecutor 8月月更

leetcode 205. Isomorphic Strings 同构字符串(简单)

okokabcd

LeetCode 算法与数据结构

StarRocks 与奥威软件完成产品兼容认证,共同打造数据驱动的智慧企业

StarRocks

数据库

头脑风暴:二叉搜索树中的众数

HelloWorld杰少

算法 LeetCode 8月月更

什么是数据结构

乌龟哥哥

8月月更

如何进行企业数字化转型?数字化转型的3大核心规律

优秀

企业数字化转型

J-Tech Talk | 编写Dockerfile的最佳实践

Jina AI

Docker J-Tech Talk

每日一R「16」实践课之 kv-server(二)

Samson

学习笔记 8月月更 ​Rust

MySQL常见面试题

浅羽技术

MySQL 数据库 面试 后端 8月月更

EMQX + PolarDB-X 一站式 IoT 数据解决方案

阿里云数据库开源

数据库 阿里云 开源 :MySQL 数据库 PolarDB-X

客户案例|雅森帮携手观测云,保障海量在线用户服务体验

观测云

开源一夏 | React对于生命周期的深入研究

恒山其若陋兮

开源 8月月更

后端面试必备知识点

浅羽技术

Java 面试 后端 8月月更

一文读懂隐私公链Findora生态布局

股市老人

一文读懂隐私公链Findora生态布局

鳄鱼视界

Hash算法详细介绍与实现(一)

迷彩

hash算法 8月月更

vim设置go语法高亮

程序员欣宸

vim 8月月更

乐观锁和悲观锁各自应用场景

浅羽技术

Java 乐观锁 悲观锁 8月月更

区块链合约安全系列(四):如何认识及预防公链合约中的算术溢出攻击

BSN研习社

区块链 智能合约

当满世界喧嚣“All in Web3”,但你可以慢慢来

One Block Community

区块链 程序员 开发者 就业 黑客马拉松

一文读懂隐私公链Findora生态布局

BlockChain先知

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