UME 是由字节跳动 Flutter Infra 团队出品和维护的 Flutter 应用内调试工具。通过在 Flutter 应用中加入 UME 工具,开发者们可以直接在应用内查看调试信息,而无需使用 IDE 和 Flutter DevTools 等工具。这将方便开发者们直接在应用内获取有用信息,进一步提升内部 Flutter 团队的研发、调试与验收效率。

截至目前,UME 已经在字节跳动内部使用近两年时间,助力内部二十多个业务线使用 Flutter 提升开发效率。去年 7 月底,UME 正式开源,提供了十个调试插件,覆盖 UI 检查、性能工具、代码查看、日志查看等功能。

作为一个开源项目,UME 的代码贡献来自字节跳动公司内部以及来自社区的开发者们。最新版本的 UME 共集成了 22 款插件,新加入功能和调试插件包括:插件间通信、快速接入嵌套的第三方调试工具、全屏布局边界查看功能,以及来自社区贡献的 cyclop 拾色工具插件、touch_indicator 触摸标识器和 dio_inspector 请求查看工具。

为了更好地帮助更多的开发者们通过应用内调试提升 Flutter 应用开发效率,字节跳动 Flutter Infra 团队于本月初 开启了基于 UME 的插件开发竞赛,邀请社区的开发者们基于 UME 工具进行调试插件的开发。

参赛须知

  1. 提交作品需要符合「有效作品标准」,对不符合标准的参赛作品将无资格参与评奖;
  2. 若需要修改 flutter_ume 代码以支持插件能力,请复刻 (Fork) flutter_ume GitHub 仓库、修改代码,并向 flutter_ume 仓库提交拉取请求 (Pull Request),在提交作品的邮件正文中添加拉取请求的 URL 地址;
  3. 对于存在代码相似、创意相同、功能类似的参赛作品,以提交时间为评选依据;
  4. 比赛组委会将在参赛作品评选结束后通过邮件联系参赛选手,请务必保持邮箱畅通;
  5. 本次作品需要通过邮件形式提交,开发者将最终作品以压缩包以附件的形式,发送至:ume-kits-competition@bytedance.com

有效作品标准

  • 参赛作品压缩包中必须具备 pubspec.yamlREADME.md 文件与 libtestscreenshots 目录,若为 plugin 则还包括对应平台的 native 代码目录;
  • 参赛作品代码需要 支持空安全,最低支持 Flutter 2.0 版本,必须包含 test 单元测试;
  • 在提交作品前,请务必在 flutter_umeexample 工程中将参赛作品接入测试,并成功运行 example 工程,插件功能正常使用;
  • 参赛作品需要在作品提交阶段内 (5 月 30 日 23:59 之前) 发送到参赛专用邮箱 ume-kits-competition@bytedance.com,以参赛邮箱接收到邮件的时间为准,不在活动提交时间内提交的作品无效;
  • 参赛作品一旦发送到参赛邮箱,即 认同该代码将以 MIT 协议开源,并贡献至 flutter_ume 开源仓库;
  • 参赛选手对参赛作品代码版权负责,对代码可能导致的版权、开源协议风险承担责任。

参赛步骤参考

  1. 创建插件包 flutter create -t <package 或 plugin> name_of_kit
  2. 在创建出来的包中,依赖 flutter_ume 进行开发;
  3. 开发完成后充分自测,在 test 目录中添加单元测试;
  4. 将插件演示效果截图或录屏保存到插件的 screenshots 目录下;
  5. pubspec.yamlREADME.md 文件与 libtestscreenshots 目录(若为 plugin 则还包括对应平台的 native 代码目录,如 iosandroidwebwindowsmacoslinux 等)一同压缩至 zip 压缩包,并以你的作品名称命名,如 name_of_kit.zip
  6. README.md 中编写文档;
  7. 将压缩包以附件的形式,发送至邮箱 ume-kits-competition@bytedance.com,标题为:"ume-kits-competition"。

活动评奖及奖品设置

按照参赛作品质量,比赛组委会将在全部有效作品中选出二十名优秀作品,颁予奖励,并设置参与奖五十名:

  • 一等奖 1 名,奖品为:Pico Neo3 VR 一体机
  • 二等奖 3 名,奖品为:苹果 HomePod mini 音响
  • 三等奖 6 名,奖品为:大疆 OM 4 SE 磁吸手机云台
  • 优秀极客奖 10 名,奖品为:200 元京东购物卡
  • 参与奖 50 名,前 50 名提交有效作品的参赛者可获得 Flutter 官方周边

上述奖品名称涉及相关商标的,其商标归其生产商或公司所有

相关资料

邀请你参与字节跳动 UME 插件开发竞赛的更多相关文章

  1. HDU 6467.简单数学题-数学题 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    简单数学题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  2. HDU 6464.免费送气球-动态开点-权值线段树(序列中第first小至第second小的数值之和)(感觉就是只有一个状态的主席树) (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    免费送气球 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  3. HDU 6463.超级无敌简单题-卡边界的暴力 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    超级无敌简单题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  4. 5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南

    大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助. 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了- 所以 ...

  5. 朋友的一年工作经验跳槽字节跳动社招经历分享(已拿offer)

    虽然已经临近年末,但是还是萌生要看新机会的想法,主要的原因是觉得在目前的岗位上技术增长遇到的瓶颈,因此想去做一些更有挑战的工作.因为仍然准备继续在深圳工作,因此选定了三家公司,腾讯.字节跳动和 sho ...

  6. 从字节跳动离职后,拿到探探、趣头条、爱奇艺、小红书、15家公司的 offer【转】

    前言 博主目前从事Android开发3年,前两年一直在抖音工作.我这篇文章并不是简单的描述一些面试中的题,或者总结一些Android的知识,而是想记录我整个的想法和准备的过程,以及一些心得体会,让大家 ...

  7. 仅一年工作经验成功跳槽字节跳动,腾讯并拿到字节的offer,全靠这份面经!

    前言 前几天由于工作的原因一直没怎么看私信,昨天在整理私信的时候看到了一个粉丝给我疯狂私信想要我帮忙整理一份大厂面经,说自己工作也有几年了想跳槽冲刺一下,但是不知道该怎么做好前期准备.我看到这个粉丝也 ...

  8. 两年Java,去字节跳动写Python和Go

    前言 2019年5月,在收到offer邮件的那一刻,我仍然不敢相信自己这一番际遇.经历了七场面试,终于得偿所望,拿到了字节跳动的offer. 做加入大厂的决定并不是巧合.在多年的职业生涯里,我曾多次对 ...

  9. 字节跳动实习面经分享(已拿offer附攻略)

    大家好,我是bigsai,今天给大家分享自己字节跳动面试经验分享. enum我面得岗位是后台实习开发,具体部门是懂车帝,总体感觉就是字节的流程真的好快,只要安排面试,那流程接着很快. 大概是上上周投递 ...

  10. 刷到血赚!字节跳动内部出品:722页Android开发《360°全方面性能调优》学习手册首次外放,附项目实战!

    前言 我们平时在使用软件的过程中是不是遇到过这样的情况:"这个 app 怎么还没下载完!"."太卡了吧!"."图片怎么还没加载出来!".&q ...

随机推荐

  1. [rCore学习笔记 011]第1章作业题

    编程题 第一题 在homework文件夹下创建homework-1-1,使用cargo创建工程: cargo new getFileName 在src下创建file_name.rs文件: // /ho ...

  2. Vue export & export default & import 总结

    Vue export & export default & import 总结 by:授客 QQ:1033553122 1.   实践环境 Vue 2.9.6 2.   简介 在ES6 ...

  3. 游戏开发进行中UE5引擎打不开后续

    游戏每次启动都有个问题: 之前我实现了插件里的接口,但是已启动,关于接口这一块的就消失了,有些函数还在但是却是自定义事件,不是接口里的,Class Settings里面也提了 然后我把他改成了新的ch ...

  4. 百度翻译network里没有sug(文章发布时间2022年10月)

    百度翻译已经更新,现在的百度翻译分为两个阶段翻译,第一个阶段识别你的翻译字符是什么类型语言 第二阶段生成随机sign加携带token以post表单方式上传数据,返回json数据 尚硅谷在B站发布的的爬 ...

  5. Mysql函数10-IF

    IF函数用于判断条件是否成立,成立则执行命令1,不成立则执行命令2. 1.sql查询出一列create_time select create_time from goods where id=65 2 ...

  6. (HASEE)神州笔记本 还原手册 —— 笔记本系统还原

    新买了一个笔记本,神州笔记本(HASEE),随机所带的手册,为防止丢失故把内容记录下来. 开机时按:CTRL + H 进入还原界面,点击"系统还原",点击"恢复出厂备份& ...

  7. (续) gym atari游戏的环境设置问题:Breakout-v0, Breakout-v4, BreakoutNoFrameskip-v4和BreakoutDeterministic-v4的区别

    根据前文(https://www.cnblogs.com/devilmaycry812839668/p/14665072.html)我们知道: 首先是v0和v4的区别:带有v0的env表示会有25%的 ...

  8. 向日葵的平替:fastnat的使用

    相关: 向日葵的平替:一款个人开发的远程工具--fastnat ---------------------------------------------- 1. 下载安装 2. 注册设备 我这里在两 ...

  9. 【转载】网络协议之:sctp流控制传输协议

    原文地址: https://www.cnblogs.com/flydean/p/16277006.html ============================================== ...

  10. python中不同方法的按索引读取数组的性能比较——哪种按索引读取数组的性能更好

    写python代码这么多年,从来也没有想过不同方式的读取python数组会有什么太大的性能差距,不过这段时间写代码突然发现这个差别还挺大,于是就多研究了一下. 本文研究的是使用不同方式来对python ...