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. ...
随机推荐
- thinkphp5.1+ 使用 Redis 缓存
修改 config/cache.php 将其配置成多个缓存类型,示例 <?php // +---------------------------------------------------- ...
- SAP采购订单入库后不允许修改单价增强
需求:在根据采购订单做了入库凭证之后,如果用户反审批采购订单去修改单价,系统提示‘已收货,不允许修改单价’. 判断流程:是否有入库凭证 如果采购订单条件按采购信息记录定价,这个价格本来就不能修改,只能 ...
- java 之 enum(枚举)
推荐博客 http://blog.csdn.net/javazejian/article/details/71333103
- 【Linux常见命令】wc命令
wc - print newline, word, and byte counts for each file wc命令用于计算字数. 利用wc指令我们可以计算文件的Byte数.字数.或是列数,若不指 ...
- iOS逆向之一 工具的安装和使用
iOS逆向之一-工具的安装和使用 最近在学习iOS安全方面的技术,有些东西就记录下来了,所有有了这篇文章.顺便也上传了DEMO,可以再这里找到这些DEMO的源码:dhar/iOSReProject 越 ...
- 使用@vue/cli搭建vue项目开发环境
当前系统版本 mac OS 10.14.2 1.安装node.js开发环境 前端开发框架和环境都是需要 Node.js vue的运行是要依赖于node的npm的管理工具来实现 <mac OS ...
- 四、CentOS 6.5 上传和安装Nginx
CentOS 6.5 上传和安装Nginx
- 【万字长文】别再报班了,一篇文章带你入门Python
本文始发于个人公众号:TechFlow,原创不易,求个关注 最近有许多小伙伴后台联系我,说目前想要学习Python,但是没有一份很好的资料入门.一方面的确现在市面上Python的资料过多,导致新手会不 ...
- mysql查询语句中like 的用法
1.常见用法: (1)搭配%使用 %代表一个或多个字符的通配符,譬如查询字段name中以大开头的数据: (2)搭配_使用 _代表仅仅一个字符的通配符,把上面那条查询语句中的%改为_,会发现只能查询出一 ...
- HR问了我朋友什么是简单工厂模式,竟被质疑是否学过设计模式,是否是计算机专业?
越是简单的东西,越是容易被忽略,我来带你们好复习一下! 简单工厂模式 简单工厂模式也被称为静态工厂模式;使用简单工厂模式可以将产品的"消费"和生产完全分开,客户端只需要知道自己需要 ...