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. ...
随机推荐
- pytorch 中LSTM模型获取最后一层的输出结果,单向或双向
单向LSTM import torch.nn as nn import torch seq_len = 20 batch_size = 64 embedding_dim = 100 num_embed ...
- 关于宝塔下的项目中的php不能访问的问题
遇到的问题是访问项目根目录的所有php文件都是报404错,而其他文件则可以,比如txt,最后查资料发现 在宝塔运行网站的时候会在项目的根目录自动生成一个.user.ini文件,这个文件主要是防止对指定 ...
- DEDE中自定义表单HTML 怎么写
用DEDE嵌套网站时,有时我们需要添加自定义字段,而自定义字段的HTML样式如何设置呢? 功能地图(核心/频道模型/内容模型管理/)——普通文章的修改——字段管理——你的自定义字段的修改——最下面自定 ...
- centos7与8的区别
1.关于内核版本:RHEL8采用4.18.0-xRHEL7采用3.10-0-x 2 网络时间同步 RHEL8 只使用Chronyd,不支持NTP部署. RHEL7Chronyd与NTP两者都支持 3. ...
- Component Object Model (COM) 是什么?
本文主要介绍 COM 的基础知识,倾向于理论性的理解,面向初学者,浅尝辄止. 1. COM 是什么: COM 的英文全称是,Component Object Model,中文译为,组件对象模型.它官方 ...
- vue2.x学习笔记(二十九)
接着前面的内容:https://www.cnblogs.com/yanggb/p/12682822.html. 路由 官方路由 对于大多数的单页面应用,都推荐使用官方支持的vue-router库. 从 ...
- 广深小龙-基于unittest、pytest自动化测试框架之demo来学习啦!!!
基于unittest.pytest自动化测试框架之demo,赶紧用起来,一起学习吧! demo分为两个框架:①pytest ②unittest demo 中 包含 web.api 自动化测试框架 ...
- 【Linux常见命令】tr命令
tr - translate or delete characters tr 命令用于转换或删除文件中的字符. tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备. 语法: ...
- 如何在mysql中实现自然排序
背景 熟悉mysql的同学应该清楚,mysql在对字符串做order by排序时是按照字典序进行排序的,但是如果字符串中包含数字的话(我们称这种类型的字符串为alphanumeric),仅按照字典序的 ...
- 你所不知道的Python | 字符串连接的秘密
字符串连接,就是将2个或以上的字符串合并成一个,看上去连接字符串是一个非常基础的小问题,但是在Python中,我们可以用多种方式实现字符串的连接,稍有不慎就有可能因为选择不当而给程序带来性能损失. 方 ...