Flutter是一款由Google开发的开源、跨平台的移动端开发框架,使用Flutter开发出的应用符合不同平台的原生体验,可以让应用看起来跟系统更加协调。 Flutter是一个全新的移动UI框架,它允许使用同一个代码库构建高性能的Android和iOS应用,同时它也是Google即将推出的Fuchsia操作系统的开发平台。通过自定义的Flutter引擎可以将其嵌入到其他平台,旨在帮助开发者使用一套代码开发高性能、高保真的Android和iOS应用。
Flutter优点
原生性能
Flutter会以原生的性能提供给开发者,它的开发性能非常接近传统的Native,包括渲染方式、AOT的编译方式和其他优化。
Flutter开发的页面跟Native没有差距。在安卓中低端机型里,基于Flutter开发出来的APP在帧率上会有更流畅的体现,内存占用也会有更低的消耗。
渲染方式,AOT,无锁GC
快速开发
Flutter因其本身的跨端性,大幅提升了传统的安卓开发速度。一般认为,前端开发的速度较快,基于Flutter,开发速度比前端更快。 压秒级,有状态的热重载
统一的应用开发体验
在跨端层面上,由于Flutter把两端的渲染机制下沉到更低的渲染层,基于统一的C++层的渲染引擎来搭建底层的UI框架,因此,Flutter会让跨端体验得到更一致的效果。 两端一致的开发方式,MD和IOS风格
问题
- 内存的问题。随着Flutter页面的堆栈变得越来越深,内存的释放并没有得到及时的释放。
- 字体的问题。不同的字体在不同的机器里渲染的效果非常不一致。
- 截图会出现黑屏的问题。
- 图片缓存的问题。跟安卓端的图片缓存是完全不同的体系。
- 它的暗黑区、适配问题,
- 私有库、中间件的适配,
- 不支持反射和序列化,
- 集成问题,怎么把Native的组件集成到Flutter体系