《2018年基于Google+Flutter的移动端跨平台应用实践.pdf》由会员分享,可在线阅读,更多相关《2018年基于Google+Flutter的移动端跨平台应用实践.pdf(40页珍藏版)》请在三个皮匠报告上搜索。
1、闲鱼Flutter应用实践闲鱼为什么使用FlutterFlutter与Native混合开发实践Hybrid工程实践-研发时Hybrid栈管理-运行时Hybrid页面组件Flutter通用问题实践详情页页面框架图片缓存注意事项线上Crash率详情页性能对比上线效果小结Flutter,一种新的可能性or性能动态性FlutterPhoneGapReactive NativeWeex高性能方案原理AOTJITMachine CodeScript/BytecodeRelease模式开发模式快速、可预测更快的开发周期高性能 60FPS编程很好的两端一致性SkiaLinear layout,paint St
2、ructural RepaintingDart复杂交互No JS BridgeOpenGL/Vulkan/Metal闲鱼商品详情页面(Flutter)混合栈Native组件视频多图动画盖楼闲鱼为什么使用FlutterFlutter与Native混合开发实践Hybrid工程实践-研发时Hybrid栈管理-运行时Hybrid页面组件Flutter通用问题实践详情页页面框架图片缓存注意事项线上Crash率详情页性能对比上线效果小结Flutter Hybrid工程实践Flutter默认工程结构Hybrid工程的问题iOS(git&cocoapods)Android(git&gradle)iOS(git
3、&cocoapods)Android(git&gradle)Flutter(git&pub)已有工程目录Flutter工程目录?如何基于现有工程搭建?如何支持过渡期的Flutter&Native双开发模式?如何与现有构建工具集成?工程结构&双开发模式以前的工程新的工程(Flutter&Native/Weex)iOS(git&cocoapods)Android(git&gradle)Flutter App Repo(pub)iOS(git subm&cocoapods)Android(git subm&gradle)Flutter(git submodule)Flutter TeamiOS(gi
4、t&cocoapods)Android(git&gradle)Native/Weex TeamFlutter产物Submodule引入现有工程Flutter中间产物拆解Flutter构建逻辑,修改gradle和pods脚本Hybrid工程修改点Flutter(?branch&subm)Flutter?iOS?Android(subm)App?flutter.jar(libflutter.so)vm/isolate_ snapshot_instr/data?flutter_assetsengine?repoengine.version?flutter?engine(xianyu branch)?
5、flutterflutter toolsflutter testdart sdksky_engineengine artifacts?Dart Packages?Flutter Plugin?Pub Server1Pub Server2?iOS?podspecaar?snapshot_assembly.s?snapshot_assembly.o?official bugfix?Android?Android?Flutter?flutter_tools?flutter_toolsgradle?Engine编译(如ARMv7)构建优化私有仓库双开发模式混合调试MTL打包闲鱼iOS工程修改示例修改工
6、程名为Runner(包括主代码文件夹)修改Podfile以处理Flutter相关逻辑添加Flutter目录,并指定Runner的Debug Config为Flutter/Debug.xcconfig,Release.config为Flutter/Release.xcconfig修改Runner的Build Phases添加xcode_backend.sh用于拷贝Flutter.framework,构建App.framework(如果Debug还有snapshot_blob.bin),以及构建后的thin.嵌入App.framework和Flutter.framework(对应代码+引擎)嵌入f