头图

UME is a Flutter in-app debugging tool produced and maintained by the ByteDance Flutter Infra team. By including UME tools in Flutter applications, developers can view debug information directly within the application without using tools such as IDE and Flutter DevTools. This will facilitate developers to obtain useful information directly in the application, and further improve the efficiency of R&D, debugging and acceptance of the internal Flutter team.

Up to now, UME has been used within ByteDance for nearly two years, helping more than 20 internal business lines use Flutter to improve development efficiency. At the end of July last year, UME was officially open sourced , providing ten debugging plug-ins, covering functions such as UI inspection, performance tools, code viewing, and log viewing.

As an open source project, UME's code contributions come from within ByteDance and from developers in the community. The latest version of UME integrates a total of 22 plug-ins. The newly added functions and debugging plug-ins include: communication between plug-ins, quick access to nested third-party debugging tools, full-screen layout boundary viewing function, and contributions from the community cyclop --color picker plugin, cyclop touch_indicator touch marker and dio_inspector request view tool.

In order to better help more developers improve Flutter application development efficiency through in-app debugging, the ByteDance Flutter Infra team launched a UME-based plugin development competition earlier this month, inviting community developers to debug based on UME tools Development of plugins.

UME 插件开发竞赛分为提交、评选和公示三个阶段,有四个时间节点

Participation Instructions

  1. The submitted works must meet the "valid work standards", and the entries that do not meet the standards will not be eligible to participate in the awards;
  2. If you need to modify the flutter_ume code to support plug-in capabilities, please fork (Fork) flutter_ume GitHub repository, modify the code, and submit a pull request to the flutter_ume repository ( Pull Request), add the URL address of the pull request in the email body of the submitted work;
  3. For entries with similar codes, the same ideas, and similar functions, the selection will be based on the time of submission;
  4. The Organizing Committee of the competition will contact the contestants by email after the selection of the entries, please make sure to keep the mailbox open;
  5. This work needs to be submitted by email. The developer will send the final work in the form of a compressed package and an attachment to: ume-kits-competition@bytedance.com

Valid work standards

  • Entries must have compressed package pubspec.yaml , README.md file lib , test , screenshots directory, if plugin also includes the native code directory of the corresponding platform;
  • The code of the entry must support null safety , at least support Flutter 2.0 version, and must include test unit tests;
  • Before submitting the work, please be sure to flutter_ume the entry to the test in the example project of ---d1a25b56ab853b78562a9b6dd01d238c---, and successfully run example project, the plug-in function is normal;
  • Entries need to be sent to the special mailbox ume-kits-competition@bytedance.com during the submission stage (before 23:59 on May 30), and the time when the email is received by the participating mailbox shall prevail. invalid;
  • Once the entry is sent to the competition mailbox, it is agreed that the code will be open sourced under the MIT protocol and contributed to the flutter_ume open source repository;
  • Contestants are responsible for the copyright of the code of the entry, and are responsible for the copyright and open source agreement risks that the code may cause.

Participation steps reference

  1. Create a plugin package flutter create -t <package 或 plugin> name_of_kit ;
  2. In the created package, rely on flutter_ume for development;
  3. After the development is completed, fully self-test, and add unit tests in the test directory;
  4. Save the screenshot or screen recording of the plug-in demonstration effect to the screenshots directory of the plug-in;
  5. The pubspec.yaml , README.md file lib , test , screenshots directory (if it is a plugin also includes correspondence native code directory platforms, such as ios , android , web , windows , macos , linux etc.) together into a zip archive, and name it after your work, such as name_of_kit.zip ;
  6. Write documentation in README.md ;
  7. Send the compressed package as an attachment to the mailbox ume-kits-competition@bytedance.com with the title: "ume-kits-competition".

Event Awards and Prize Setting

According to the quality of the entries, the Organizing Committee of the competition will select 20 outstanding entries from all valid entries, award them with awards, and set fifty participation awards:

  • 1 first prize, the prize is: Pico Neo3 VR all-in-one machine
  • 3 second prizes, the prize is: Apple HomePod mini audio
  • 6 third prizes, the prize is: DJI OM 4 SE magnetic mobile phone gimbal
  • 10 outstanding geek awards, the prize is: 200 yuan Jingdong shopping card
  • Participation Award 50, the top 50 contestants who submit valid works can get official Flutter peripherals

If the names of the prizes mentioned above involve related trademarks, the trademarks are owned by their manufacturers or companies

Relevant information


Flutter
350 声望2.5k 粉丝

Flutter 为应用开发带来了革新: 只要一套代码库,即可构建、测试和发布适用于移动、Web、桌面和嵌入式平台的精美应用。Flutter 中文开发者网站 flutter.cn