话题框架与类库 › Flutter

框架与类库:Flutter

Flutter中的异步

同步与异步程序的运行是出于满足人们对某种逻辑需求的处理,在计算机上表现为可执行指令,正常情况下我们期望的指令

哈啰中台业务 Flutter 实践

本文是哈啰技术沙龙-哈啰中台业务跨端技术Flutter实践分享文字版本;讲解了移动端跨端的历史背景和哈啰出行平台移动端在落地Flutter时遇到的业务痛点,并且详述了哈啰平台移动端如何利用容器化解决这些业务痛点,其解决方案和实践的成果。

Flutter控件CustomScrollView原理解析及应用实践

手势控制、布局原理、吸顶、懒加载。

京东APP中Flutter探索及优化

随着Flutter稳定版本逐步迭代更新,京东APP内部的Flutter业务也日益增多,Flutter开发为我们提供了高效的开发环境、优秀的跨平台适配、丰富的功能组件及动画、接近原生的交互体验,但随之也带来了一些OOM问题,通过线上监控信息和Observatory工具结合分析我们发现问题的原因是由于Flutter页面中加载的大量图片导致的内存溢出,这也是在原生开发中常见的问题之一,Flutter官方为我们提供的Image widget实现图片加载及显示,只有了解Flutter中图片的加载原理及图片内存管理方式才能真正发现问题的本质,本文将重点介绍Flutter中图片的加载原理,使用过程中有哪些需要注意的地方及优化思路和手段,希望能给大家带来一些启发和帮助。

Flutter IM跨端架构设计和实现

“怎么不回我消息”“我去输液了”“输的什么液”“想你的每一夜~”

Flutter UI自动化测试技术方案选型与探索

Flutter页面无法直接使用Native测试工具定位元素,给自动化测试带来很多不便。虽然Google官方推出了Flutter driver 和 Integration test,但是在实际使用中存在以下问题:

  • 不适用于混合栈APP,虽然appium中有相关的driver,但是无法切换环境。
  • 元素定位能力相对薄弱。
  • 依赖于VMService,需要构建Profile或Debug包。

基于以上因素,我们并没有直接使用Google官方推出的工具,而是选择基于Native测试工具去扩展Flutter页面的测试能力。本文对Flutter driver 和Integration test的原理和实现进行了分析,同时简单介绍闲鱼在UI自动化测试的尝试方案。

Flutter Fish Redux架构演进2.0

Fish-Redux开源以来,已经在闲鱼核心链路上做了大量验证。从初期的宝贝详情页,发布页面开始,Fish-Redux在闲鱼的使用程度逐渐提高。Fish-Redux框架的使用极大提升了复杂页面场景下的开发效率。特别是通过框架提供的组件复用和状态管理能力,我们大幅降低了代码冗余也简化了页面复杂度。

汉字描红在Flutter侧的落地

汉字自动描红是 大力爱辅导-语文字词专项 中的重要功能部分。前期技术调研阶段发现,公司内部已经存在能够满足需求效果的Native SDK,但是考虑到以下原因:

  1. 字词专项的技术选型是Flutter作为主要实现
  2. 汉字绘制或者描红的需求在多功能、多界面中出现
  3. 大量使用PlatformView对Flutter界面的性能有较大伤害 最终决定,使用Flutter实现一套汉字自动描红的方案,便于集成和后续相似功能迭代。

Flutter代码覆盖率研究

Android java代码覆盖有Jacoco等工具,iOS也有对应的原生代码覆盖率工具,然而,目前尚未有任何关于Flutter覆盖率的工具或者插件等,属于空白区域,因此需要从无到有的开发该工具,本文将详细说明Flutter代码覆盖率该工具的原理及其实现。

重度使用Flutter研发模式下的页面性能优化实践

淘宝特价版是集团内应用Flutter技术场景比较多,且用户量一亿人以上的应用了。目前我们首页、详情、店铺、我的,看看短视频,及评价,设置等二级页面都在用Flutter技术搭建。

我们发现使用Flutter经常会遇到性能问题。因为Flutter严格意义上仅是一种“UI渲染框架”,它通过异步来来实现子线程渲染UI,并且通过Skia保证两端“渲染的一致性”。但子线程执行并渲染,且动态库打包这些策略并非“一片通吃”,会导致损耗页面打开性能及可交互时长的增加。试想,app启动时动态库加载的dynamic binding(影响启动时长),页面启动时主线程启动了页面,但ui渲染却需要等待Flutter的子线程执行并渲染,低端机上页面会短暂白屏(页面未渲染影响可交互时长,虽然fps欺骗性的提高了)。

Flutter有性能瓶颈,但重度使用Flutter研发的我们是如何做到性能优化的?

携程火车票Flutter最佳实践

在已经引入了 React Native 的情况下,我们为什么还会选择 Flutter?

解读Flutter中热重载原理

了解Flutter的热重载原理,有利于日常开发中高效排查问题。

Flutter与native交互方式探究

Flutter作为一个“UI”框架,它并不是万能的,我们不可避免会遇到与native交互的场景。Flutter官方推荐的交互方式是Platform Channel。本文介绍了Platform Channel与ffi以及两种交互方式的对比。

Flutter 标准化埋点实战

在Flutter项目之初,简陋的埋点支持使得开发效率低下,开发者需要写大量代码来完成一个埋点需求,没有规范模板使得埋点数据经常出错,复杂的业务场景使得埋点会出现重复或漏报,四处散乱的埋点代码导致维护成本偏高,异步操作导致的url不准等。因此,亟需一套解决方案来解决以上问题。

那么,提供一套怎样的埋点框架就成了我们要面对的第一个问题:

在开发者的角度,我们希望它高效简便;

在数据分析者角度,我们希望它合理稳定;

在产品设计者角度,我们希望它准确有效。

为了达成以上目标,经过不断的优化与改进,现在整套框架基本已经满足需求。

在Flutter项目下安卓flavor打包配置实践

Flutter是Google这几年大力推广的跨平台UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。在架构搭建阶段,我们依然需要原生技术的支持。比如说,我们在开发Android项目时,会通过在gradle文件中配置Flavor来实现不同渠道的属性配置,之后通过在编译过程中自动生成BuildConfig文件来读取不同Flavor下的各种属性。

在Flutter项目中,我们如何实现不同Flavor下读取相应属性并实现多渠道打包呢?以及Flutter的打包过程跟Android原生打包有什么不同呢?

本文将以Flutter1.22.4版本为基础,通过Flutter项目中对于Android工程的构建流程详解,来进行Flavor配置说明以及Apk构建过程的详细分析。并针对SDK的bug提出了解决方案及原因梳理。

[Flutter] UI调试小工具——颜色吸管

Flutter颜色吸管工具的实现。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-23 02:10
浙ICP备14020137号-1 $访客地图$