速安GeChe手游下载站_最新手机游戏下载门户网站!

游戏更新 | 安卓游戏 | 苹果游戏 | 推荐游戏 | 软件更新 | 文章更新 | 热门文章
您的位置: 首页  →  攻略 → 《饿了么商家电脑客户端(饿了么APP在上海推出应急特需服务,有紧急需要的用户可提交求助信息)

饿了么商家电脑客户端(饿了么APP在上海推出应急特需服务,有紧急需要的用户可提交求助信息)

2023-01-08 01:55:17      小编:网络整理      我要评论

饿了么商家电脑客户端文章列表:

饿了么商家电脑客户端(饿了么APP在上海推出应急特需服务,有紧急需要的用户可提交求助信息)

饿了么APP在上海推出应急特需服务,有紧急需要的用户可提交求助信息

3月29日,部分上海网友发现,饿了么APP首页上线了“应急特需”服务。

周到君从饿了么处证实,此项服务面向上海地区用户开通,疫情下,如果用户及身边的独居老人等特殊群体有紧急特殊需求,大家可在线提交求助信息。

据了解,该项服务主要针对独居老人、孕妇、婴幼儿、残障人士等重点人群,在抗疫期间包括紧急购药、有严重生活物资供应困难或者有其他特殊紧急需求,饿了么都将调拨蓝骑士提供服务等方式尽力协调解决,或第一时间将问题反馈给相关政府部门。

针对上海最新疫情防控举措,饿了么在政府部门指导下还推出了多项新举措——包括联合每日优鲜、大润发等商户、药店全力保供,优先配送买菜、送药等市民生活亟需的订单,推出“保供专配小组”新物流模式、增加补贴协调骑手24小时配送物资,全力保障民生供给和服务。

此外,饿了么已与随申办大数据中心实现对接,可即时同步骑手健康码数据,包括随申码状态和核酸检测情况,正严格按照防疫要求,做好配送人员健康防护,保障物资安全。

面对疫情,饿了么还为上海商家开启“歇业保护”机制,确保疫情解封后商户能快速恢复到正常经营状态。

来源:周到上海

阿里本地生活:饿了么会成为抖音的工具人?

前段时间,抖音和饿了么宣布达成合作,这意味着本地生活赛道又有了新的变数,大厂们将持续在这一领域中加码。那么这次合作可以为两方带来哪些利好和本地生活服务延展的可能性?不如来看看本文作者的解读吧。

8月19日,抖音和饿了么宣布达成合作。我分析了几种可能,饿了么和抖音合作,感觉对抖音的利好大于饿了么。先来说说这次合作,对抖音来说有哪些利好?

一、对抖音的利好

首先本地生活大概可以分为即时配送类的,如外卖。到店类的,如酒店、餐饮、景点等种草。

1. 即时配送类

1)抖音没有配送团队

搭建一个配送团队,需要搭建一套高效派单的算法系统,需要招募/管理几十万到百万外卖员……这是非常重的投入,抖音没法也不应该自己搭建。

2)那么跟饿了么合作,可以利用饿了么的配送系统吗?

不现实。

用户点外卖的核心诉求:好吃 性价比 速度。

① 抖音是一个内容平台,以内容可看性为核心。所以那些具有可看性内容的商家做外卖,那必定成本是更高的,用户的消费能力能否负担的起?

一个网红店的外卖,肯定比在美团饿了么直接下单点的一份套餐要收更多的“内容”溢价吧。

对于外卖生态来说,很多外卖商家其实并不具备可看性的内容。都是那种连门头也没有,追求爆款单品,只卖一种菜品的,靠走量来保证利润率。比如热干面 一些小吃,类似这种套餐。

只有做到这样的配置,才能保证店铺的单个订单价格够低。速度够快。可以看下表外卖的利润率和到店的利润率差距。可以说整个美团盈利的大头都是来自到店。

(美团各业务利润率)

甚至还有大量商家,是某个地下室作坊,连保证干净都可疑。

就拿黄焖鸡举例吧,这类店铺已经在外卖商家里算中上部了吧,而且还有品牌知名度。我也依然没有想到可以持续性输出可看性的内容来获得更多流量和订单。

这里说的其实是,外卖平台和抖音,是两种不同的信息呈现方式。外卖是货架逻辑,快速明确直接,还能看用户的点评。

抖音是内容逻辑,看你是否有持续产出吸引人的内容。更适合头部1%的那种网红商家。

两者就不是一个计量单位。就是歌怎么唱来着,“我们只是两条平行线 没有交叉点”。

所以饿了么的配送团队其实没法对抖音形成增益。因为抖音不适合做即时配送的外卖。

2. 到店类

但是抖音特别适合搞餐饮,民宿这种到店类。沉浸感强,达人推荐的生动感,非常适合抖音的种草。

这个方向就很依赖线下地推能力,这个就是饿了么比抖音擅长的地方。可以直接达成合作,把饿了么上的商家资源上架到抖音。

但是这里也有很多困难:

1)如何安插这些店铺

抖音本质是内容平台,如上所说。区别于美团饿了么的货架呈现逻辑。

这种内容分发,对内容质量要求很高。但是信息筛选效率很低,比如我现在想找一个民宿,我除了看店家发布的信息之外,还要比价、还要看用户评论、还要看订单数量等等,这些维度,抖音都无法呈现出来。

所以这种内容维度的推送,除了一些能产出爆款内容,让人种草的店家,大部分不同商家也是无法被看见。

但是如果抖音改版呢?也采用这种货架逻辑?

我已经看到这样的可能性了。

现在打开抖音,顶部四个tab:同城,关注,商场,推荐。

目前抖音的【商城】tab下面,已经是类似淘宝的商品详情信息呈现方式,有视频也有图文,点开可以直接下单。

如果抖音以后对本地生活的店家也用这样的详情页呈现形式,给几个团购套餐或者优惠券,那么确实会对饿了么给来的店铺有转化率的提升。

但这个问题又来了。

2)交易在哪里进行?

在抖音内部下单吗,还是跳转到饿了么?大概有3种可能:

    如果是在抖音,商家交给抖音上架那种,那饿了么不乐意了,纯属把商家送人了。而且各种交易数据也全都在抖音手里。

    如果跳转到饿了么,更不现实,一是用户体验差,流失率高。二是很多人没有安装饿了么怎么办,跳不了啊。还要下载,更不可能了?抖音也不会干的。

    在抖音交易,双方共享用户数据。双方平摊运营/流量成本,平分交易佣金。这个看似比较公允。但是抖音又会乐意吗?

等商家资源给过去,抖音翅膀已经硬了。不需要饿了么了,为啥我要给你分一半。

像之前抖音踢了淘宝,提高挂淘宝链接的抽佣,倒逼商家们自建抖音商城,完成内部闭环。有可能抖音又把饿了么踢了。

或者先跟饿了么小量试验一下,踢掉饿了么,再转向其他的地推服务商体系。

所以对饿了么来说,商家上架到抖音,只会让自己沦为工具人。

二、那么这场合作对饿了么有什么利好呢?

1. 公关声量

在双方都不必真心实意的交换资源的情况下,联合搞搞活动,炒炒热度,刷刷存在感还是很有用的。

2. 导流

对饿了么好的方式,肯定是给自己导流。

“字节专家会”给出的信息,抖音 7 月 dau 约为 8.3 亿。据极光大数据,饿了么 MAU 约为 1.1 亿。如果抖音能给饿了么导流。

比如在抖音搞个小程序。订单,商家全都自己手里。就相当于支付宝小程序上的饿了么复制到抖音上。或者弄个饿了么优选,先搬运部分店铺商家过去。这个饿了么肯定乐意。

像微信上京东商城般的存在。这个可以由饿了么来出流量费,比如按照cpc的方式。

而且这种可能性比较大,感觉抖音想学微信做开放者生态。先从饿了么开始,打个标杆,后续可以引入其他合作商,搞成微信那种包容的生态。

抖音的dau已经到这样的地步了,第二增长曲线想从“短视频 电商”拓展到“抖音可以连接万物”。不过具体能不能搞成另说。

综上算下来,就是以上这几种可能性的博弈。这几种可能算下来,怎么算都是对抖音的收益要大于饿了么。

其实道理也很简单,这次合作,相关的产品/交易肯定是发生在抖音APP上,而不是发生在饿了么上。如果你是抖音,你在流量端比饿了么更有话语权,现在往家里带一个合作方,如果这个合作方不能给你带来利益,不就是引狼入室。

而饿了么肯定也能想到这些,最后大范围的改动/资源互通都不会发生,最大可能就是双方联合搞了个公关,赚了点流量。然后继续回家各搞各的。

就像去年快手和美团达成战略合作一样。12月27日,美团也是在官方公众号发过一篇合作文章。有什么东西出来?当时我就知道就是一场联合公关,只会停留在口头,喊一喊赚个吆喝。现在果然如此,后续没有任何合作细则公布。

三、本地生活竞争格局

1. 目前现状

阿里23年Q1(22年Q2)财报披露本地商务营收106.23亿元,同比增长5%。经调整EBITDA为亏损30.44亿。而且一直在亏损。(21财年亏损多少?)

美团22年Q2,营收509亿元,同比增长16.4%,调整后净利润20.6亿。

收入端,美团是阿里本地生活的接近5倍。利润端,阿里本地生活仍是巨亏,美团已经盈利了。

美团的业务,阿里也都有。外卖、到店、酒旅、网约车、共享单车……两者的业务基本都相似,就是市场份额的差距。

2. 阿里不得不搞,搞不好将会波及核心业务

美团财报数据显示,二季度,闪购交易笔数从去年同期的3亿单,涨至3.9亿单,同比增长30%;日均订单量已经达到430万单,环比增长10%,是美团少数高速增长且不烧钱的业务。

18年时候,阿里的恐惧成真了:

2018年,阿里以95亿美元收购饿了么。

2018年双十一晚会,马爸爸压轴出场的时候还穿了饿了么的配送服。可见其对蜂鸟配送的重视。

当时阿里就预见到,如果不跟进美团的本地生活,可能会波及到核心的电商业务。随着美团的进击,本来是要在淘宝上三天到的东西。在美团上一个小时就可以到,价格也一样。会对阿里形成巨大的冲击。

这些年来,阿里也一直在说,本地生活是阿里的核心业务。张勇曾表态,“将竭尽所能赢得这场战斗。”

现在美团还搞起了电商,首页强入口Tab。凭借外卖的高频业务占据心智之后,顺理成章打开其他入口。

所以即使现阶段落后,但不能不继续搞。搞本地生活既是进攻也更是防守。

四、集团性战略也不是万能的

阿里的本地生活是万亿级别的商战,我没有资格做点评,更没资格教人家怎么做产品。不过我从阿里和美团的这场pk里,倒是得到几个知识点:

1. 用户心智的专一性

阿里区别于其他单个APP,是集团逻辑,比如阿里的88VIP会员,横向打通各项业务。不是点对点的应战,可以用整体业务形成合力,侧面包抄或者围城打援等战术。

但是这场系统性打法似乎也没派上用场。

阿里王牌就是淘宝天猫和支付宝。本地生活战场上,用了支付宝这张王牌。给了饿了么,飞猪等流量入口。19-20年的时候,支付宝做了一系列广告,主打“支付宝好生活”的引导,2020年3月支付宝官宣从「支付就用支付宝」全面升级为「生活好 支付宝」,接着首页就不断升级改版,展示各类生活服务。

2018年刚收购饿了么时,王磊接任CEO,当时他提出了争夺50%市场份额的中短期目标,并为此投入了30亿元补贴。但还是没有追赶上,市场份额在逐年下降到不足30%。用补贴 支付宝导流也没搞起来。

所以一个业务只能占据一个核心心智吗?如果给不出特别的价格优惠,用户就会专人专事的去美团点外卖,而不是去支付宝饿了么小程序。

即使支付宝的强力导流也没法干过专人专事的美团。纯靠强势导流,以及阿里这个品牌的心智,并不能打开其他场景的流量。

2. 阿里本地生活的差异点?

顺着这个角度想,似乎阿里本地生活还得给用户一个核心记忆点。才能打开心智入口。

比如京东区别于阿里,走电器3C的差异化,同时用自营模式来保障正品。而拼多多又用超级低价的差异化在一片红海的电商个格局里另立山头。

目前我没感受到阿里的核心差异点,和独特心智。

饿了么,飞猪,哈喽单车,都是分散的APP,全凭阿里集团的的主营业务一口气吊着,整体工具人既视感,用完即走。无法做得更大,也无法与整个本地生活形成联动。

我用这些APP都在支付宝里用,没有单独下APP。

说实话,阿里的本地生活,给我一个分散式工具人的印象。有具体想买的东西,我会拿来比比价。好用是好用的,饿了么大部分时候比美团便宜。但我总是想不起它。

价格差的不太多,我还是会选择美团。

怎么形容这种心态,可能这就是品牌效应吧。或者说是人的一种习惯的力量。当美团占据了外卖这个品类的心智后,我就懒得再换了。人们愿意付出更多的时间和金钱溢价,仅仅为了维持现状不改变。沉没成本效应背后也是这样的心理吧。

本文由 @徐思乱想 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

iBox - 面向 Flutter 的一站式研发工作台

一 前言

Flutter 一码多端的特性,解放了端上同学的人力,带来了研发效率的提升,淘特技术团队因为早期双端研发同学数量不匹配以及对研发效率的诉求,也是阿里集团内部比较早在业务上落地 Flutter 的团队之一。

虽然有了一码多端的便利,但是伴随而来的还有研发链路中的各种问题,例如研发环境搭建,双端工程环境,集成发布流程繁琐等等。为了深入了解开发同学们的痛点,我们在团队内部发起了一份问卷调查。

我们针对研发幸福感指数以及研发链路中遇到的各种问题进行了调查。结果如下:

在研发幸福感指数的打分中平均得分是 3.38(5分制)。我们针对影响研发幸福感的问题进行了分析,筛选出了一些大家普遍认为影响研发效率的问题。其中排名最高的是研发环境 工程环境(Flutter相关)的搭建,开发调试(Flutter相关)等问题。

接下来我们就来看看这些问题的具体痛点,以及解决这些问题的时候面临的一些挑战。

二 问题与挑战

1 问题

在影响研发幸福感的问题中,主要是以下三个方面的问题比较突出。

1)研发环境问题

研发环境配置是编码的前置工作,它也会影响新人落地对团队研发体验的第一印象。由于 Flutter 涉及 Android 与 iOS 双端的环境配置,导致不熟悉另一个端的同学配置起来,十分麻烦,上手难度高。另外,Flutter 本地版本不一致,缺乏 Flutter 版本管理工具,文档零散更新不及时,这些都极大的耗费了团队同学的精力。

2)工程环境问题

解决了研发环境问题,还需要解决工程环境问题,双端工程架构复杂,不熟悉某个端的同学面对编译问题难以解决。甚至很多同学就直接放弃了配置另外一个端的工程,平时开发只对着自己熟悉的端调试,违背了 Flutter 双端开发的理念。

点评:从团队的调研采访来看,一个新人同学搭建 Flutter 的研发环境和工程环境,先需要一天时间搭建好基础环境,后面的两三天时间折腾各种编译问题,特别是 iOS 的相关环境对于 Android 同学来说想要完整跑起来十分费力。

3)集成流程问题

等到代码开发测试完成以后,集成步骤多,平台间来回切换,集成流程割裂,没有形成完整的 SOP。整个集成流程既费时费力,又容易引发质量问题。

点评:现有的 Flutter 模块集成流程分为六步:1 模块分支代码合并 -> 2 模块生成新Tag版本 -> 3 主工程修改模块版本号 -> 4 主工程代码合并 -> 5 主工程生成版本号 -> 6 摩天轮提交正式包打包,步骤繁琐,需要在 Aone、MTL 等平台来回切换,而且手工操作各种版本号,很容易引发线上质量问题。

2 挑战

为了解决这些问题,之前也有沉淀一些文档和脚本,但是文档有很多步骤、命令,弄错任何一个就可能导致环境搭建出错,另外文档有时候也没有及时更新。

我们想如果能有一个桌面端 GUI 形式的研发工作台,研发同学日常研发遇到的各种问题都可以在这上面解决,新来的同学也可以借助这个研发工作台快速落地,那对研发的幸福感将是一个质的提升。

于是我们便决定打造一款桌面端的研发工作台,在实现这个目标的过程中我们也遇到了很多挑战。

1)如何降低开发同学的接入和使用成本

    接入和使用成本。研发工作台本来作为一款工具软件,它本身如果再操作复杂,需要看各种文档,那就背离了工具软件简单易用的初衷,所以复杂操作一键化是做相关功能时必须做到的,例如软件环境一键配置,工程环境一键配置,一键集成发布等,很多功能都是按照这个思路来做的。

    兼容现有的研发环境和工程环境。除了新来的同学,大部分开发同学的电脑上已经有了部分环境,如何与现有的环境共存,不改变开发同学现有的使用习惯,也是我们重点考虑的问题。

2)如何保障架构设计的合理性

我们想把研发工作台打造成一个人人都可以参与进来共建的开放平台,因为个人的时间是有限的,工作台本身作为一个工具集的聚合,需要更多的同学参与进来,更多的 idea 落地,所以如何做好仓库权限控制以及设计一个好的插件化框架就显得很重要。

3)新技术的落地,相关问题需要自己探索解决。

在桌面端研发工作台的开发中,我们使用的是 Flutter Desktop 技术(至于原因,技术调研部分会讲),国内目前 Flutter Desktop 技术在生产环境落地的并不多,相关经验还比较缺乏,遇到一些问题的时候,需要自己去探索解决。

接下来我们就来看一看我们为了解决这些问题,在 iBox 上设计了哪些核心的功能,以及这些功能是如何解决这些问题的。

三 技术全景

1 技术调研

业界的客户端研发工作台的发展现状。如下所示:

业界:EasyBox,MBox 等工具。这些工具的核心一方面在于解决 Native 环境搭建,开发效率低的问题。另一方面深度封装 Git、Cocoapods,统一开发模式。

淘特:也有一些零散的脚本工具。但是整体上没有解决研发环境配置,开发调试,集成发布等问题。

整体上看是一个客户端研发工作台落地的契机,业界有团队在尝试,淘特在 Flutter 研发链路也有痛点和需求。既然要进行桌面端开发,选择一个桌面端开发框架就成了首先要考虑的事情,当下比较流行的桌面端开发框架主要有以下两种:

面向前端的 Electron:使用 JavaScript、HTML 和 CSS 构建桌面端应用程序。

面向客户端的 Flutter Desktop:使用 Flutter 构建桌面端应用程序。

通常我们在做技术选型的时候会从问题解决,团队现状,技术领域,业务趋势等几个方面层层递进去思考。

问题解决:Electron 和 Flutter Desktop 这两套方案都能解决我们的问题,虽然性能上有差异,但是这个不是我们最关注的点。

团队现状:客户端同学对 Flutter 熟悉,客户端同学的上手成本更低,不依赖其他端的人力。从这个角度来看,Flutter Desktop 会更好。

技术领域:Electron 和 Flutter Desktop 都在向前发展,Flutter 团队今年推出的 Flutter 2.10 将 Windows 平台正式带入稳定版本的支持,今年也会陆续完成 Linux、MacOS 等平台的稳定版本的支持。

业务趋势:工作台未来可能会向全平台扩展。例如在桌面端是一个研发工作台,在移动端(Android&iOS)iBox 是一个应用小工具集或者是一个类似于蚂蚁伙伴的app,在 Web 端是一个数据看板。从这个角度讲,Flutter Desktop 会更好。另外我们还想在工作台上做 UI 等组件的展示,如果基于 Flutter 来做,那么就能做到所见即所得,这会是一个非常好的体验,

基于以上思考,我们最终选择了 Flutter Desktop。有了开发框架,我们接着来看看 iBox 的架构设计。

2 功能设计

iBox 的核心定位

iBox 是一款基于 Flutter Desktop 技术栈研发的一站式、多样化、可定制的研发工作台。提供从研发环境到集成发布全流程的研发支持。核心功能包含工作台、研发环境、工程管理、引擎管理、社区生态、变更单管理与工具箱等。

iBox 在功能设计上分为工作台、研发、发布、工具箱四大板块。其中研发、发布、工具箱又各自包含了很多子模块功能。

我们着重介绍一下工作台、研发环境与工程管理、社区生态、变更单管理等核心功能,让大家对 iBox 的整体功能有一个基本认识。

工作台

提供了最近变更单,常用平台快捷入口等功能,让常用功能一键直达。另外工作台还预留了技术展示 Banner 位的功能,可以展示一些团队内外的优秀技术产出。后续还考虑将值班提醒,集成提醒,发布提醒做在工作台上。

研发环境与工程管理

研发环境 工程管理 解决的是如何快速进入本地开发的问题,如果是新人进入团队开发,从拿到电脑到进入开发,一般需要经历研发环境配置和工程环境配置这两个流程。

在这个过程中需要去各个地方翻阅文档,按照文档进行操作,在操作的过程中,还经常伴随着文档更新不及时,操作报错,出了错误又得去 Google 或者问身边的同事,整个过程费时又费力。

而 iBox 的研发环境和工程管理者两个功能模块则通过操作一键化来解决上述的问题。

首先是研发环境提供了 Flutter、Android、iOS 研发环境的检查和一键配置的功能,让不熟悉某个端的同学更加便捷的配置自己的研发环境,如下所示:

然后是工程管理提供了混合工程下 Flutter、Android、iOS 等壳工程环境环境检测,一键环境配置等功能,解决了环境配置复杂难以上手的问题,如下所示:

工程环境的复杂性在于它涉及 Flutter、Android、iOS 三个端的编译,编译的过程还会因为本地环境的差异而有所不同,各种编译报错,使得开发同学穷于应付。iBox 将从环境到工程的各种错误类型进行了梳理,并将错误信息展示出来,如下所示:

不仅让开发同学知道自己的工程环境有什么问题,还提供了对工程环境问题的一键修复,一键修复功能会先删除缓存(flutter clean,删除lock文件等),然后按照以下流程重新跑整个工程,确保可以修复工程环境,如下所示:

研发环境和工程管理这两个功能模块相互配合,真正解决了开发同学环境配置难的问题,同时它还打破了 Android 与 iOS 之间的门槛,让不熟悉另外一个端的同学也能进行这个端的调试和打包。

社区生态

集团内外针对 Flutter 都贡献了不少功能组件,但是并没有一个统一的地方展示这些组件,导致开发同学在需要用的时候,需要去 pub 库里各种搜索。

而 iBox 的社区生态功能提供了 Flutter 社区(集团内外)引擎、UI 组件、路由、动态化等各个方面的技术沉淀的展示,特别是 UI 组件,由于 iBox 本身就是基于 Flutter 开发的,那么这些 UI 组件的 Dart 代码可以直接在 iBox 上运行展示和交互,这种所见即所得的体验是非常棒的,如下所示:

变更单管理

在以前的开发流程中,Flutter 的研发流程是比较繁琐的,而且这些流程需要开发自己手工操作,如下所示:

开始开发

创建Android摩天轮变更单

创建iOS摩天轮变更单

拉取变更分支

修改Flutter主工程的模块依赖代码

关联Aone需求

开发中

Android打包

iOS打包

提交模块代码CR

本地源码依赖修改

完成开发

模块分支代码合并

模块生成新Tag版本

主工程修改模块版本号

主工程代码合并

主工程生成版本号

摩天轮提交正式包打包

而 iBox 的变更单功能,可以帮助 Flutter 研发同学快捷的完成研发流程的各种操作,如下所示:

开始开发:iBox 可以关联 Aone 需求一键创建变更单,同时创建新的变更分支,准备好当前变更所需的工程环境。

开发中:一键打 Android & iOS 双端包,一键提交变更仓库的 CR。

完成开发:一键提交集成,提交的过程中会自动完成上述的集成步骤。

这些一键式的操作不仅很好的提升了 Flutter 研发的效率,也规范了Flutter 的分支管理、集成方式,避免个人随意操作带来的工程问题。

以上便是 iBox 一期规划和完成的功能,它从根本上解决了上面提到的团队研发链路存在的种种问题,同时也感谢闲鱼同学在集成发布这块为我们提供的飞鱼工作台相关实践参考。

3 架构设计

iBox 在架构设计上主要关注以下几个问题:

问题1:iBox 作为一款具备一定规模的 GUI 软件,如何方便且安全的组织各个功能模块的代码。

问题2:iBox 既然要面向共建,如何保证 iBox 自身的开发体验。

问题3:iBox 如何在保证共建开放的同时保证软件整体的质量和性能。

通过对以上几个问题的思考,我们对 iBox 采取了纵向分层,横向模块化的设计,具体说来:

问题1:不同的功能进行模块化设计,模块源码彼此独立。这样可以精细控制源码仓库的权限,不同模块之间的修改不会相互影响。

问题2:基于 git repo 进行多仓库管理。既可以使用 git 操作单个的仓库,也可以使用 git repo 对多个仓库进行代码同步,代码提交,代码 Review 等操作,保障了 iBox 多仓库协同的开发体验。

问题3:

约定每个模块的基本架构设计。包括源码组织方式、状态管理方案等方面内容,并通过静态扫描来保障这些约定的落地。

限制三方库的引用以及指定三方库的版本(不使用^号来指定版本,例如:url_launcher: ^6.0.20)。^号指定的版本会导致后两位版本会自动升级(flutter upgrade 和 重新生成 pubspec.lock 文件的时候),导致打包的时候使用了一些意料之外的版本,引发质量问题(参考最近的 url_launcher 的 url_launcher_macos 自动升级导致链接打不开的问题 issue1 issue2 )。

整体架构大图如下所示:

从上面的架构图可以看出辅助功能作为基础模块,为其他核心功能提供基础能力。接下来我们按照从工程到模块的顺序分别讲一下具体的设计方案:

首先是整体工程的设计。

然后是具体模块的设计。

工程结构

在整体工程上采用多仓库设计,之所以使用这样的设计,是因为 iBox 会涉及跨团队开发,多仓库可以让各个模块的源码彼此独立,不同模块之间不会相互干扰。

iBox 基于 git-repo 实现了多仓库的管理,仓库结构如下所示:

ibox 作为主工程,ibox_common 作为基础模块,其他模块都依赖于 ibox_common。开发 iBox 的同学只需要几行简单的命令,就可以同步 iBox 的全部源码工程。

然后在自己的模块进行开发和代码提交即可,彼此之间互不干扰。聊完了整体工程的设计,我们再来看看各个模块的设计。

模块设计

每个模块的核心功能在于处理UI交互与逻辑交互,不同于传统客户端的命令式 UI 框架,Flutter 采用的是声明式 UI 框架,驱动 UI 发生变化的是状态(state),如下所示:

图片引用自 Start thinking declaratively

Flutter 里的状态指的是在 Widget 之间或者内部存储和传递的数据或者信息,它可以分为短时状态和应用状态两种。

短时状态(exphmeral state):也称为用户UI状态或者局部状态,是一个完全独立在 Widget 里的状态。Widget 树里的其他部分不需要访问这种状态,它也不需要使用状态架构架构(ScopedModel,Redux)去管理这种状态,它只需要一个 StatefulWidget 就可以了。

应用状态(app state):它是一个应用之间多个部分共享的一个非短时状态,并且用户在会话期间,保留这个状态。

所以状态管理是编写 UI 和逻辑核心要面对的问题,它也会影响我们组织源码的方式,在 Flutter 状态管理的官方文档中,提供了 14 种状态管理方案,我们着重讨论官方比较推荐的前四种,至于其他的方案,感兴趣的可以去查阅官方文档。

setState

InheritedWidget

Provider

Riverpod

我们先来看原生的两种状态管理方式:

setState:通常用于处理 Widget 内部的短时状态。

InheritedWidget:setState 只能处理 Widget 内部的短时状态,如果需要处理应用状态,在 Widget 树之间进行通信,则需要用到 InheritedWidget,InheritedWidget 可以为其子孙节点提供数据和服务。

setState 在应用场景上比较受限,InheritedWidget 对于开发者来说过于底层,使用起来比较复杂。既然官方的方案都有限制,我们再来看看社区提供的提供的比较推荐的方案。

Provider:它对 InheritedWidget 组件进行了封装,使其更加易用,更易复用。

Riverpod:基于 Provider 改进而来,它是一个响应式的状态管理和依赖注入框架,编译安全,支持 DevTools 调试,本身不依赖于 Flutter。

事实上,Provider 和 Riverpod 的作者都是 Remi Rousselet,Riverpod 这个名字是 Provider 的字母重新排序后得到的,它的推出主要是为了解决 Provider 的一些功能缺陷,如下所示:

基于以上的比较,我们最终选择了 Riverpod 这一套方案,并由此设计了模块的源码结构,如下所示:

iBox 模块源码结构|-----------------------------------------------------------|--- provider 基于 Riverpod 实现的 State 管理方式(官方推荐)|----- xxx.provider.dart provider|--- service 接口请求、数据处理相关实现|----- xxx.service.dart service|--- ui 页面与组件|----- xxx.screen.dart 页面

一个常见的编写 UI 逻辑的流程如下所示:

    在 ui 部分编写页面和组件。

    在 service 里编写和数据相关的逻辑。

    在 provider 里编写相关 provider 类,它可以调用 service 里的功能。

    在 ui 或者其他任何需要的位置引用 provider,操作相关逻辑。

这种方式实现了 UI 与逻辑的解耦和分离,UI 部分可以自由迭代,逻辑部分也实现了复用。

以上便是 iBox 的整体架构设计,相当于是一个简化版的插件化方案,如何后续有更丰富的插件生态进来,我们会考虑上架一个类似于 VSCode 的插件市场,不过目前对于我们来说,已经够用了。

插件化的设计使得可以自由组装各个模块,不同团队需要的模块功能不一样,我们推出了 app variant(变体)的功能。不同的 app variant(变体)拥有不同的 tab 栏配置,打包的时候就可以针对不团的团队打出不同功能的包。

4 上线效果

iBox 在研发链路核心痛点上使用前后对比

iBox 用户在使用一段时间以后,也给了不少不错的反馈。

“一键安装还是非常好用的,帮开发节省了不少时间。以前各个地方下载,安装配置,还要解决版本冲突的问题,浪费不少时间。”

“这次版本集成全走的iBox, 用着很爽。”

“大幅简化了 Flutter 环境配置、集成繁琐等问题。”

此外,iBox 还处在一个刚起步的阶段,我们希望把它作为一款产品去迭代和运营。为此我们也为 iBox 设计了不同视角下的运维指标,如下所示:

全局视角:整体数据

全站 PV

全站 UV

覆盖的团队数

各个团队的用户覆盖率

访问量前10的用户

访问量前10的页面

用户视角:不同团队/个人偏好的功能

团队 -> 功能模块 访问次数

个人 -> 功能模块 访问次数

业务视角:做的比较好,受欢迎的功能

最热功能模块排名

运维数据体系需要长期建设,它对我们后续的功能迭代和体验优化有着重要的指导意义,开发同学也是用户,只凭着拍脑袋想出来的功能,不一定能获得大家的认可。

四 技术总结

在做 iBox 之前,对于 Flutter 做过一些原理上的探究,之前整理编写了《从架构到源码:一文了解Flutter渲染机制》一文,但是没有好的机会应用在生产实践上。这次的 iBox 开发之旅让我收获颇多,借着这个机会,我们就来聊一聊 Flutter Desktop 技术在生产实践上的应用。

1 Flutter Desktop 的发展历程

从2018年2月15日Flutter 团队发起的 flutter-desktop-embedding 项目到现在,已经四年过去了,中间的过程也是起起伏伏,从最初的不支持生产环境,到如今 Flutter 2.10 发布,正式宣布支持 Windows 平台生产环境 app 的开发,Flutter Desktop 的发展历程如下所示:

2018.02.15, 在 flutter-desktop-embedding 项目里提交第一个 initial commit。

2019.12.05,支持了 MacOS 平台。

2020.07.08,Linux 平台进入 alpha 阶段。

2020.09.24,Windows 平台进入 alpha 阶段。

2021.03.05,Flutter 2 正式发布,Flutter 对桌面端的支持进入稳定版本的前期准备阶段。

2022.02.15,Flutter 2.10 发布,Windows 平台率先进入稳定版本,可用于生产级 app 的研发,其他平台也在积极准备中。

在 2022 年,Flutter 团队计划按照 Windows、Linux、MacOS 的顺序逐个推进,将对主流桌面端平台的支持带入到 stable channel,最终实现 Flutter "write once, run anywhere" 的愿景。

2 Flutter Desktop 的社区生态

和对 Android 和 iOS 的支持一样,Flutter 也实现了基于 Windows 等平台的 Embedder,Embedder 的上层是 C Engine 和 Dart Framework,它自己负责翻译和发送 Windows 等平台的消息。整体架构如下所示:

图片引用自 Announcing Flutter for Windows

点评:Linux、MacOS 等其他桌面端平台也是类似的实现结构,更深入的细节可以参见 platform 的实现。

移动端应用和桌面端的应用相比既有相同之处,例如:

GPU 图形加速

渲染系统

动画

主题

文本输入

国际化

UI 组件

这也使得大部分现有的 Flutter 社区组件都可以在桌面端使用,但两者也有不同之处,例如:

更大的屏幕尺寸

支持鼠标/键盘输入

输入法

导航方式

可访问性

系统独有的视觉样式

与底层系统的交互

基于这些不同,Flutter 针对桌面端平台也提供了针对性的支持,如下所示:

图片引用自 Announcing Flutter for Windows

在 iBox 的开发过程中,我们也使用了不少原生能力,这里针对 Flutter Desktop 常用的一些社区组件做个总结,如下所示:

现有的社区组件基本能满足我们的开发需求。

3 Flutter Desktop 的应用场景

iBox 是对 Flutter Desktop 技术的一次有意义的探索,它为我们的产品带来了更多的可能性,扩展了产品触达的边界。

那么,Flutter Desktop 适合哪些应用场景呢?

企业内部使用的工具类软件,尤其是在团队人员不足的时候,想快速落地一些工具和功能。

企业的ToB应用,例如收银台,饿了么商家端等。

团队自身已经有基于 Flutter 开发的移动端应用,想把部分功能扩展到桌面端。

任何技术都有长短,Flutter Desktop 也有不适合的应用场景,如下所示:

对桌面端原生能力依赖较大的应用,因为针对桌面端的社区生态支持还还不如移动端这么完善,遇到缺乏的能力,需要自己去从零开始搭建。

当然技术也是不断发展的,当前存在的问题,也许在将来就被解决了。笔者对 Flutter Desktop 技术的发展还是很有信心的。

五 结语

Flutter 一份代码,在兼顾性能的同时上可以多端运行,是它的优势所在,解放了端上的生产力。尤其是对于 iOS 和 Android 同学比例严重失调的团队来说,这无疑是一个福音。

但是如果不注重 Flutter 开发周边配套工具的建设,从最开始的环境搭建、开发调试、再到集成发布没有好的工具去支撑,就很容易就演变成了 “Flutter 从入门到放弃”。这是因为业务团队和技术团队的诉求是不一样的,技术团队觉得解决 Flutter 各种问题的过程就是一个学习的过程,但是业务团队业务压力大,他们的第一诉求是快速开发,快速上线,如果周边配套工具缺失,他们很有可能就会选择放弃这个方案,这对于 Flutter 的推广是十分不利的。

我们希望刚接触 Flutter 的开发同学,他们的使用体验是平滑的,能一键完成的就一键完成,例如我们提出的“一小时完成 Flutter 环境搭建”、“一键配置/修复工程环境” 等等,这些理念也与 Flutter 团队最近发布的年度规划中的“提升开发者体验”不谋而合。

今年 2月10号,Flutter 团队发布了他们 2022 年的年度战略(Flutter 2022 Strategy)和路线 (Flutter 2022 Roadmap)。如下所示:

可以看到未来一年,Flutter 团队将开发者体验提到了非常重要的位置,他们将从 Flutter 的各个层面去改善开发者体验,例如:

提升 DevTools 的易用性。

让 API 的使用体验更加平滑,逐步弃用和删除旧的 API。

修复 Hot Reload 有些时候不生效的问题。

让入门 Flutter 体验更加平滑,降低入门门槛。

上述提到的一些理念,例如 “让入门 Flutter 体验更加平滑,降低入门门槛”,和我们做 iBox 的初衷不谋而合。另外在 iBox 后续的规划中,我们除了降低开发同学的 Flutter 入门门槛,还希望降低新团队接入 Flutter 的成本。

现有的 Flutter 接入方案以混合工程方案 add Flutter to existing app 为主,这套官方提供的方案有着不小的接入、重构以及维护的成本,而且这是一个重复踩坑的过程,很多相同的问题会被不同的团队再次遇到,如果 iBox 可以提供一键接入的方案,那么将大大降低 Flutter 的接入和填坑成本,助力 Flutter 的推广。

Flutter 团队在年度战略(Flutter 2022 Strategy)中提到 “以用户(指 Flutter 开发者)为中心,其他一切都会随之而来”。

We believe in "focus on the user and all else will follow". This manifests in our emphasis on developer experience. 引用自 Flutter 2022 Strategy

相信在新的一年,Flutter 的研发体验会越来越好,iBox 也能为 Flutter 的推广尽一份绵薄之力。

六 参考资料

macOS Performance Comparison: Flutter Desktop vs. Electron:https://getstream.io/blog/flutter-desktop-vs-electron/

List of state management approaches:https://docs.flutter.dev/development/data-and-backend/state-mgmt/options

riverpod:https://riverpod.dev/

provider:https://pub.dev/packages/provider

Announcing Flutter for Windows:https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed

flutter-desktop-embedding:https://github.com/google/flutter-desktop-embedding

Start thinking declaratively:https://docs.flutter.dev/development/data-and-backend/state-mgmt/declarative

git-repo:https://git-repo.info/zh_cn/docs/getting-started/installation/

Announcing Flutter for Windows:https://git-repo.info/zh_cn/docs/getting-started/installation/

Flutter Desktop shells:https://github.com/flutter/flutter/wiki/Desktop-shells

Flutter 2022 Strategy:https://docs.google.com/document/d/e/2PACX-1vTI9X2XHN_IY8wDO4epQSD1CkRT8WDxf2CEExp5Ef4Id206UOMopkYqU73FvAnnYG6NAecNSDo9TaEO/pub

Add Flutter to existing app:https://docs.flutter.dev/development/add-to-app

作者 | 苏策

原文链接:https://developer.aliyun.com/article/872997?utm_content=g_1000327190

本文为阿里云原创内容,未经允许不得转载。

饿了么:新增4000多商家恢复接单,尽全力加快恢复服务能力支持上海保供

36氪获悉,在上海市疫情防控工作新闻发布会上,饿了么资深副总裁肖水贤表示,过去一周,饿了么新增2800名骑手重返岗位,努力解决最后1公里、最后100米配送瓶颈;与此同时,平台上也新增4000多商家恢复开业接单。接下来,根据上海疫情防控安排,饿了么在封控区和管控区将组织更多骑手支持配送保障;在防范区,将和餐饮、商超便利等商家密切联动,尽快恢复生活服务供应。

药房如何入驻美团饿了么平台?

越来越多的顾客会选择在美团饿了么线上购买药品,即省钱又快捷。很多药房也为了进一步扩展业务覆盖范围,提高销售额,纷纷入驻美团饿了么平台,希望能同时开展线上线下零售业务,那究竟该如何申请入驻美团饿了么平台?

1、准备好店铺的相关资质材料,包括营业执照,互联网药品信息服务许可证、食品经营许可证、药品经营许可证、医疗器械经营许可证、具有清晰牌匾的门店图、店内环境图、身份证(法人/经营者身份证)等。

2、官方申请,根据要求填写真实有效的信息后提交申请等待审核。

快购(零售类外卖)商家入驻——申请入驻——注册账户——门店类型页面选择(零售门店→医药健康→主营品类(根据自己药店实际情况选择)。平台会根据药店商户选择的经营品类自动生成所需的相应执照。根据要求填写真实有效的信息后提交申请等待审核。

3、平台审核资料,通知审核结果。

一般审核时间为1~3个工作日,如果药店商户提交的资料后,平台会将审核结果以短信的形式通知药店商户。

4、审核成功,即可成功入驻美团饿了么等平台。

但需要注意的是,在入驻美团饿了么后,一般来说平台会给到新店一定的流量但很有限,没有运营人员的话,订单量一般不大,也是一种资源浪费,因此,找到靠谱的代运营公司则显得尤为重要。

其实,在产品推广之前,作为店铺的负责人至少要熟悉不同的推广渠道的特点,并且至少精通一个推广渠道,而且代运营公司与各电商平台都建立了良好的合作关系,积累了丰富的资源,在为店铺产品报活动,推爆款方面十分有优势,能有效增加店铺与产品的曝光率。

选择代运营就找邻医快药,邻医快药将提供一站式代办服务,包括:

1、化繁为简,药店只需按要求提供资质,即可为您代办,入住外卖平台。

2、邻医快药软件对接美团饿了么接口,实时库存、同步入账。

3、在申请成功后,由专业团队统一运营管理,节省人力管理成本。

4、享受平台推广活动、药品厂家促销活动,也可自行策划促销活动,吸引顾客。

随着互联网的发展,线上购药的人只会越来越多,入驻线上平台的时机最好的就是现在!

  • 最新游戏
  • 发表评论
手游排行 新游中心 热门专区 手机软件APP下载
网游排行榜 游戏攻略 网游下载 安卓软件APP下载
单机排行榜 手游礼包 单机下载 苹果ios应用下载
安卓排行榜 新游视频 手游下载
苹果排行榜