Flutter不能做什么:局限性

老孟导读:您在网络上一定看过很多Flutter如何优秀的、如何完美的文章,而这篇文章将会告诉你Flutter不能做什么,注意并不是Flutter的缺点,比如第三方插件少、Dart不流行等,在我看来这都不算什么。
看完这篇文章希望对您是否使用Flutter来开发App起到一些作用。
在我们做新的技术评估时,什么东西不能做,甚至比能做什么更有用,虽然这样的列表可能会让你感到沮丧,但我想这是非常重要的。
本机平台视图
Flutter使用Skia渲染所有内容,所以和本机原生视图有一点点的区别,对于99%的用户来说可能感觉不到,但对于一些极客来说,是会发现一些区别的。
另外新的系统可能会带来新的UI设计,Flutter并不会立即更新。
有什么影响?
Flutter的渲染机制保证了应用程序不管在哪一个平台或者系统版本都是一致的,您的应用程序不会根据不同的平台渲染不同的样式。
这会改变吗?
不会,这是Flutter的核心渲染机制。
热更新
注意这里说的不是hot relaod,而是热更新,通过热更新,开发人员可以立即将补丁发布到其应用程序中,而无需通过应用商店发布。
Bug可以在没有新版本的情况下进行修复,在React Native,Cordova和Ionic支持此功能。而Flutter不支持此功能。
热更新功能在国内来说尤其重要。
有什么影响?
Flutter应用程序的所有更新都必须经过发布新的版本,在应用商店进行更新。对于iOS,有时可能需要几天的时间。
这会改变吗?
官方给出的答案是暂时不会,具体原因请查看此文章Ian Hickson的这篇文章。您也可以关注此问题以进行更新。
电视,手表和汽车
您不能使用Flutter为tvOS,watchOS,CarPlay或Android Auto构建应用。
有什么影响?
如果您的应用需要发布到这些平台,需要使用本机语言进行开发。
这会改变吗?
可能,但是可能需要一段时间。可以关注这些问题:位码支持,汽车支持和Wear OS支持方面存在问题。
从Dart直接调用本机API
Flutter可以与本机平台API交互,但不能直接交互。您可以通过语言绑定,使用与编写应用程序时使用的相同语言来使用本机API 。
有什么影响?
您可以使用第三方插件,可能已经有人为您完成工作,但目前Flutter生态发展时间较短,所以在更多自定义场景中,您将不得不编写本机的Objective-C / Swift或Java / Kotlin代码,并通过平台渠道进行通信。
这会改变吗?
不会很快。
希望这些不会让您放弃,没有什么是完美的,Flutter非常棒,是目前最完美的跨平台解决方案,没有之一。
交流
老孟Flutter博客地址(近200个控件用法):http://laomengit.com
欢迎加入Flutter交流群(微信:laomengit)、关注公众号【老孟Flutter】:
![]() |
![]() |
Flutter不能做什么:局限性的更多相关文章
- flutter在2019年会有怎样的表现?
2019独角兽企业重金招聘Python工程师标准>>> Flutter的趋势 在移动端,受成本和效率的驱使,跨平台一站式开发慢慢成为一个趋势.从Hybird,RN,WEEX,Flut ...
- Flutter 布局(六)- SizedOverflowBox、Transform、CustomSingleChildLayout详解
本文主要介绍Flutter布局中的SizedOverflowBox.Transform.CustomSingleChildLayout三种控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. ...
- Android(安卓)开发通过NDK调用JNI,使用opencv做本地c++代码开发配置方法 边缘检测 范例代码
以前写过两个Android开发配置文档,使用NDK进行JNI开发,这样能够利用以前已经写好的C++代码. 前两篇博客地址: http://blog.csdn.net/watkinsong/articl ...
- 理解 Flutter 中的 Key
概览 在 Flutter 中,大概大家都知道如何更新界面视图: 通过修改 Stata 去触发 Widget 重建,触发和更新的操作是 Flutter 框架做的. 但是有时即使修改了 State,Flu ...
- Flutter学习笔记(1)--环境安装
flutter最近显得格外的火,公司的同事也一直在谈论flutter,感觉自己不学学就要失业了...所以决定顺应潮流学习以下flutter,做一下学习笔记,希望可以给需要的同学带来一些帮助~ 正文为f ...
- Flutter介绍
1. flutter简介 Flutter是Google使用Dart语言开发的移动应用开发框架,使用一套Dart代码就能快速构建高性能.高保真的ios和Android应用程序, 并且在排版.图标.滚动. ...
- Canonical通过Flutter启用Linux桌面应用程序支持
子标题:Ubuntu团队为所有Linux发行版上的Flutter应用程序制作了一个新的基于GTK +的主机. 此文翻译自:https://medium.com/flutter/announcing-f ...
- 自绘引擎时代,为什么Flutter能突出重围?
导语 | Flutter 框架是当下非常热门的跨端解决方案,能够帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面等多端开发.但仍然有很多产品.设计.甚至开发同学并不了解 Flut ...
- 我对Flutter的第一次失望
老孟导读:此文翻译自:https://medium.com/@suragch/my-first-disappointment-with-flutter-5f6967ba78bf 我喜欢Flutter. ...
随机推荐
- kubernetes的Statefulset介绍
StatefulSet是一种给Pod提供唯一标志的控制器,他可以保证部署和扩展的顺序. Pod一致性 包含次序(启动和停止次序).网络一致性.此一致性和Pod相关.与被调度到哪个Node节点无关. 稳 ...
- (第六篇)vim编辑器的使用
什么是 vim(window文本文档) Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.简单的来说, vi 是老式的字处理器,不过功 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 一.上周问题总结: 未能及时整理笔记 Linux还需要多用 markdown格式不熟练 发布博客时间超过规定期限 二.本周学习内容: <庖丁解 ...
- 2019-2020-1 20199328《Linux内核原理与分析》第一周作业
Windows和Linux在收费方面,软件知识方面,安全性.使用习惯.可定制性上以及应用范畴上都有所不同,UNIX/Linux操作系统下的Shell既是用户交互的界面,也是控制系统的脚本语言,其中Ub ...
- java 之 javaBean
什么是JavaBean? JavaBean是特殊的Java类,使用J ava语言书写,并且遵守JavaBean API规范. JavaBean与其它Java类相比而言独一无二的特征: 提供一个默认的无 ...
- QQ网站的源代码
链接:https://pan.baidu.com/s/1mqetTbauKTI0KJOaU8wW5A 提取码请加QQ:2669803073获取 声明:仅供学习,切勿用于其他用途
- 【JAVA基础】08 面向对象3
1. 多态 多态polymorhic概述 事物存在的多种形态. 多态前提 要有继承关系 要有方法重写 要有父类引用指向子类对象 案例演示 代码体现多态 class Demo1_Polymorphic{ ...
- Boostrap Table学习笔记
最近要对项目上的table进行调整,让表格能够支持更多的操作,于是接触到了boostrapTable这个插件.研究了一天,记录下学习的内容. Boostrap Table可以支持表的分页及动态显示表的 ...
- MySQL分页查询的性能优化
MySQL limit分页查询的性能优化 Mysql的分页查询十分简单,但是当数据量大的时候一般的分页就吃不消了. 传统分页查询:SELECT c1,c2,cn… FROM table LIMIT n ...
- CF思维联系– Codeforces-990C Bracket Sequences Concatenation Problem(括号匹配+模拟)
ACM思维题训练集合 A bracket sequence is a string containing only characters "(" and ")" ...

