首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter 的新功能、Dart 开发工具以及一行神奇的 CSS 代码 | Google 开发者大会见闻

值得一提的是,SkSL 可以实现自动化生成与测试,这对于需要持续更新的 Flutter App 来说,可以节省很多的人力。...CSS Grid 可以同时用于水平和垂直布局设置,这意味着开发者现在可以通过使用 CSS Grid 实现许多强大的功能,从元素居中到创建强大的全页面布局,都只需一行代码即可完成。...; 其中“grid-template-rows”用来设置父区域布局中行的大小,而后面的“auto”的含义是,对于自动放置的行,即自动调整大小的行,我们将使用最少内容的大小,在这种情况下就是内容的最小高度...12-Span Grid 设置布局的另一种方法是使用网格,12-Span 的布局一直很受欢迎。...而是用“( 12 , 1fr )”来创建一个有 12 个 span 网格,每段网格具有相同单位值,均为空间的一等份单位。

1K20

半小时带你入门 Flutter

img 图片来源:简书 作者:AWeiLoveAndroidAWeiLoveAndroid Everything is Widget 有一种说法认为函数式语言和命令式语言的不同在于命令式语言是给计算机下达指令而函数式语言是向计算机描述逻辑...三者的渲染流程如下: img 有没有一种 jsx -> virtual Dom -> real dom滴感觉呢~ img 咳咳,后面会介绍基础常用的Widget配合一些demo,大家可能对这个体会就会更加清晰一些...组合大于继承 Flutter中很多借鉴了react的思想,甚至包括后面会说到的state。...setState的时候重新运行,例如上面的_incrementCounter方法被调用 //Flutter已经被优化了重新构建的方法,所以你只会去更新需要去更新的部分,不必去单独更新里面的一些更细小的...: new Column( // Column也是一个布局widget,他可以有多个子widget // Column 有很多的属性去控制他的大小以及子widget

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flutter从入门到能寄几玩儿

    具体选择Dart的原因,以及向了解Dart的,移步为什么Flutter会选择 Dart 关于Flutter 刚开始接触flutter心中难免会有疑惑,不是已经有RN、Weex等各种跨平台移动开发 了,flutter...img 图片来源:简书 作者:AWeiLoveAndroidAWeiLoveAndroid Everything is Widget 有一种说法认为函数式语言和命令式语言的不同在于命令式语言是给计算机下达指令而函数式语言是向计算机描述逻辑...img 有没有一种 jsx -> virtual Dom -> real dom滴感觉呢~ ?...setState的时候重新运行,例如上面的_incrementCounter方法被调用 //Flutter已经被优化了重新构建的方法,所以你只会去更新需要去更新的部分,不必去单独更新里面的一些更细小的...: new Column( // Column也是一个布局widget,他可以有多个子widget // Column 有很多的属性去控制他的大小以及子widget

    1.5K10

    现有项目集成flutter排坑指南

    /artifacts/engine目录下看一下 好吧,flutter提供了很多不同的架构,那么针对我这种情况,我肯定就选择android-arm中的so了,进去看一下并没有,没有别慌,使用...聪明的你肯定想到一定是打包的时候【我这里是打release包】,有些东西没有打进去,那么到底是什么东西没打进去呢?业界有两种说法。...1、一种是这些种文件assets/isolate_snapshot_data 2、一种是libapp.so 那么,到底哪种说法是:heavy_check_mark:的呢?...,debug模式会使用第一种方式,在assets下面添加那些snapshot文件。...这个是要外网的,搞不好还要访问外国网站,你有代理吗? 4、在等一下,请问你改了环境,其他同学要改为stable,是不是想一想就觉得混乱。

    4.6K94

    如何做一个坏面试官?

    我聪明,你笨 “这么简单的问题你都不会?” 据我了解,很多面试官面试时都必须表现出一种居高临下的心态,有一种莫名的优越感。...好像一定要表现出:我比你聪明,你的技术很菜;我提出的问题你不一定会,但是我都会;你和我有不一样的观点?你一定是错的。 这种现象在大公司里更明显,因为他们好像更有优越感,面试好像是在完成任务。...面试者不一定要比你聪明,也不一定要知道你提出的任何问题,他只需要能达到我们的招聘要求就行,而且,有时候你也必须接受面试者比你聪明的事实。...比如,如果候选人提到他了解过跨域,下面这个问题就是一个非常好的问题: 跨域的请求在服务端会不会真正执行?...另外,我们工作时可能少不了 “搜索引擎” 的帮助,如果你能提出一个发散性的技术问题(不纠结于 “对” 和 “不对”),那如果候选人能借助搜索引擎的帮助给出一个最优解,这也是一个很好的挖掘候选人潜力的方法

    34920

    Flutter 极限测试 | 未用类是否会被打包

    引言 可能很多朋友都会有一个疑问,是否有必要为了简单的需求,而引入第三方库?这个问题的痛点在于:你担心只是想要库中的一个小功能,引入的三方库会使应用变大。就像本想喝一杯水,我却给你一条河流。...你有没有想过,也许又那么一种可能性,代码中没有被使用的类,根本不会被打包到应用中。所以这个担心本就是你的 一厢情愿 呢?会,或不会,不能仅靠个人的感觉,本文将进行测试,让你亲眼见证。...另外,本文有对应的视频版,可在 哔哩哔哩 进行观看: 【Flutter 极限测试 - 未使用的 dart 类会被打包吗?...这里通过一个简单的脚本方法,在 main.dart 的末尾加上 100000 行注释: import 'dart:io'; import 'package:path/path.dart' as path...那么编译器会聪明到对这种情况进行判断吗? 答案是,编译器牛 * 。这种情况下,打包的应用大小依然纹丝不动。所以不要凭自己的感觉,要靠实践去测试,要亲眼去见证。

    70720

    Mac端Flutter的环境配置看这一篇就够了

    注意,这里下载SDK有两种方法,一是直接git clone -b beta https://github.com/flutter/flutter.git下载,二是自己在官网下载下来,如下图 这里我两种方法都试过了一遍...,第一种方法实在是太慢了,在经历了耗费一个半小时下载到94%,最后提示失败了的过程之后,我决定还是用第二种方法,整个过程只用了3分钟的样子,相当满意。...3、配置环境变量 因为Flutter的SDK中包含了很多的命令行工具。我们就需要配置环境变量,所以我直接就安装到了根目录下了。...接着shift+:然后输入wq保存并退出vim。输入如下命令: source ~/.bash_profile 最后我们就可以验证一下flutter环境有没有配置成功了。...我们用flutter doctor命令去检查一下flutter的环境配置,我们可以看到如下打印 这里的每个✗都是我们要去解决的问题。不过他有告诉你应该怎么做。

    4.9K20

    Mac端Flutter的环境配置看这一篇就够了

    注意,这里下载SDK有两种方法,一是直接git clone -b beta https://github.com/flutter/flutter.git下载,二是自己在官网下载下来,如下图 这里我两种方法都试过了一遍...,第一种方法实在是太慢了,在经历了耗费一个半小时下载到94%,最后提示失败了的过程之后,我决定还是用第二种方法,整个过程只用了3分钟的样子,相当满意。...3、配置环境变量 因为Flutter的SDK中包含了很多的命令行工具。我们就需要配置环境变量,所以我直接就安装到了根目录下了。...接着shift+:然后输入wq保存并退出vim。输入如下命令: source ~/.bash_profile 最后我们就可以验证一下flutter环境有没有配置成功了。...只需要将Dart和Flutter插件都下载下来 然后command+shift+p输入flutter,选择Flutter:New Project 输入要创建的项目的名称和存放项目的地址

    1K10

    Flutter-从入门到项目 03: Flutter初体验

    如果需要改变视图,你通常需要使用选择器 findViewById 或类似函数获取到 ViewB 的实例 view 和所有权,并调用相关的修改的方法(并隐式的使其失效) view.backgroundColor...要改变 UI,widget 会在自身上触发重建(在 Flutter 中最常见的方法是在 StatefulWidgets 组件上调用 setState())并构造一个新的 Widget 子树 // Declarative...三、Flutter 工程初体验 对上面声明式语法有一定的理解之后,我们开始玩玩代码,首先默认工程你可能看懂代码,但是只是一层粗略的看,现在我们学习,不防一点一点来!...), ))); } 是不是感觉很清爽, Flutter 本身在编写代码还是比较轻松的, 毕竟有没有发现这样的语法结构越来越趋于 大前端一统... ?...聪明的你们估计写到你就会发现 编码还是有点不太适应.

    1.1K10

    小朋友你是否有很多问号(一)

    = 1, 3这个为啥最好3或5,不能是偶数呢 在WRF中,parent_grid_ratio参数是用于定义父域和子域之间的水平分辨率比例。...一般情况下,建议将parent_grid_ratio设置为奇数,例如3或5,而不是偶数。 这是因为在WRF模型中,父域和子域之间的网格点位置是通过插值计算得到的。...当parent_grid_ratio为奇数时,插值计算相对容易,因为可以使用更多的父域网格点来计算子域网格点位置,不会出现网格点位置落在父域网格点之间的情况。...而当parent_grid_ratio为偶数时,插值计算会更加复杂,因为子域网格点需要考虑如何与父域网格点进行插值,可能会导致数据插值误差的增加。...人工神经网络 (ANN) 方法:ANN方法可以建立一个基于历史数据的神经网络模型,通过输入模式输出的风速和其他气象变量,输出一个更准确的风速预测值。

    10810

    鸿蒙应用开发,比 React 体验更好

    Row Cloumn Flex Grid 等容器组件供开发者使用。...有很大一部分开发者并不喜欢写完结构之后,还要重新去另外的文件给他补充样式。并且这样方式在维护的时候也并不友好,隐性的规则让样式的最终结果变得扑朔迷离。...set 方法,支持一种链式调用的方式来做到样式与结构合并的最终结果 Text('width: 10px') .fontSize('12fp') .color('#333') .border...并在 UI 设计上,简化了视觉格式化模型,注重容器特性,学习理解成本得到了极大的降低,并且基于 set 的思维方式链式调用样式,大胆的将样式后置,在我个人的主观感受里,这是一种比 React,比 Flutter...你可能需要频繁的切换或者必须要一个外接显示器随时预览,反正我就是这样。也不知道大家有没有... 想想这是什么原因造成的吧

    19310

    为了看Flutter到底有没有人用我竟然

    为了让大家了解这一真实数据,也为了让大家了解当前Flutter在各大App中的使用情况,我今天下载了几百个App,占了手机将近80G空间,就为了得出一个结论——Flutter,到底有没有人用。...检测方法,我使用LibChecker来查看App是否有使用Flutter相关的so。...在52个使用Flutter的App中: 腾讯系:QQ邮箱、微信、QQ同步助手、蓝盾、腾讯课堂、QQ浏览器、微视、企业微信、腾讯会议 百度系:百度网盘、百度输入法 阿里系:优酷视频、哈啰出行、淘特、酷狗直播...,内部有90+App在使用Flutter)。...这跟其它很多大厂一样,它们不仅使用了Flutter,RN也还可以检出,这也从侧面说明了,各个厂商,对跨平台的方案探索,从未停止。

    73030

    技术路线的选择重要但不具有决定性

    最近google在技术上连续有大动作,dart的空安全支持,flutter在三月的2.0发布,于是好多人问我,该学之前的flutter1.22,还是直接上手flutter2.0,就和有人问我学go,...第四种是还处于出卖劳动力的阶段,在这里就不多说了。 我想说的是,在过去很多年里,很多技术人实际上是把自己定位在第三种人里。而实际上,只有成为第一类和第二类人,才算达到了比较成功的状态。...我们身边很多人走了一条不尽如意的人生道路,往往不是因为他们不够“聪明”,而是因为他们太“聪明”了,聪明反被聪明误。我想这也是为什么人们要发明“智慧”这个词以区别于“聪明”的原因。...我观察圈子里很多成功和不成功的技术人,提出一个观点,那就是个人的核心竞争力是是他独特的个性知识经验组合。这个行业里拥挤着上百万聪明人,彼此之间真正的不同在哪里?...我对此并不是没有自己的看法,但是这毕竟不是多么大的问题,实际上Java这几年折腾得也够猛,只不过作为一个比较开放的领域,Java为其追随者保留了更多的自由度,而go的追随者大多数有一种被驱赶的感觉而已。

    52850

    技术路线的选择重要但不具有决定性

    最近google在技术上连续有大动作,dart的空安全支持,flutter在三月的2.0发布,于是好多人问我,该学之前的flutter1.22,还是直接上手flutter2.0,就和有人问我学go,还是...第四种是还处于出卖劳动力的阶段,在这里就不多说了。 我想说的是,在过去很多年里,很多技术人实际上是把自己定位在第三种人里。而实际上,只有成为第一类和第二类人,才算达到了比较成功的状态。...我们身边很多人走了一条不尽如意的人生道路,往往不是因为他们不够“聪明”,而是因为他们太“聪明”了,聪明反被聪明误。我想这也是为什么人们要发明“智慧”这个词以区别于“聪明”的原因。...我观察圈子里很多成功和不成功的技术人,提出一个观点,那就是个人的核心竞争力是是他独特的个性知识经验组合。这个行业里拥挤着上百万聪明人,彼此之间真正的不同在哪里?...我对此并不是没有自己的看法,但是这毕竟不是多么大的问题,实际上Java这几年折腾得也够猛,只不过作为一个比较开放的领域,Java为其追随者保留了更多的自由度,而go的追随者大多数有一种被驱赶的感觉而已。

    49820

    用flutter_staggered_grid_view实现分页瀑布流效果【flutter20个实例之四】

    如果要实现不同高度的滚动瀑布流,就要使用这个插件: flutter_staggered_grid_view 说明:配置pubspec.yaml文件,最好要使用0.3.2版本以上,此时flutter版本需要...1.17以上的支持 因为低版本的插件支持并不友好 flutter_staggered_grid_view: ^0.3.2 如果组件无法滑动,可能就是版本的问题导致 2.插件的git地址 https://...github.com/letsar/flutter_staggered_grid_view 在使用的flutter组件中导入这个插件 import 'package:flutter_staggered_grid_view...:纵轴上的数量 StaggeredGridView有几列是由crossAxisCount除以StaggeredTile设置上的纵轴的数量的结果 三、部分源码(不可直接运行,根据自己的逻辑进行调试...:dio/dio.dart'; import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; final

    3.9K30

    美团外卖Flutter动态化实践

    虽然 Flutter 的成长曲线和未来前景看起来都很好,但不可否认的是,目前 Flutter 仍处在发展阶段,很多大型互联网企业都无法毫无顾虑地让全线 App 接入,而其中最主要的顾虑是包大小与动态化。...但使用 DSL 的方式不依赖编译,所以很多不需要的属性会被裁剪或忽略。...左半部分是点击按钮触发 onTap 回调,需要找到 confirm 方法,此时会先从局部作用域的方法列表里找,没找到,则会 outer 一层去类作用域里寻找,此时找到了该方法的实现。...先从符号大本营中获取全局变量、全局属性构成全局作用域,再从此类的元类中取出属性和方法构成类作用域,再构建局部作用域,当然参数也是会放到局部作用域里的,以此构建了完整的 Scope 传入 body 的 evaluate...3.3 遇到的挑战 工作量大,需要长期有耐心 首先解释下,这里的工作量大并不是指系统方法映射等这种体力活的工作量大,这些我们都是有自动生成且按需生成的(生态部分会提到)。

    2.5K21

    逻辑-Flutter专栏-它来咯!!!

    可能很多开发人员觉得学习一门新的语言是一件比较难的事情,其实不然,只要你掌握好了你目前主流语言, 甚至都不需要掌握很底层 你都可以很轻松入门 Flutter (主要是容易学)....C: 了解 Flutter 渲染机制 不知道大家有没有感觉: 其实 Flutter 招聘要求也不难!!!...不知道说到这里,你是否有没有兴趣学一下 Flutter 哈哈哈~~~~ 估计还有一些担忧 比如下面的篇幅我要给你介绍的 原生与Flutter 对比评测 我们一起来看看再做决定也不迟~~ ② 原生与Flutter...但是请看这位不满意 Flutter 的博主还是会有以下的总结: Flutter的确提供了一种不同于目前其他跨平台开发框架的思路, 也极有可能成为未来跨平台开发的标杆....同时对于无法同时掌握多个移动开发平台的小伙伴而言, 使用 Flutter也是一种成本较为低廉的方法.

    59410

    Flutter中的本地存储

    还是直接来看代码: 首先我们创建了一个TextField用来获取用户输入,然后我们再下面定义看了连个按钮,每当当即存储按钮都会触发save() 方法,每当点击获取按钮都会触发get()方法。...我们使用SharedPreferences.getInstance()方法来实例化SharedPreferences对象,使用它的setString方法来存储用户输入的字符串。...setString(key, value) 其中key就是你存贮的名称,value就是你存储的值 当然,SharedPreferences里有很多存储其他对象的方法比如: prefs.setBool(...我们在来看下应用目录下有没有这个数据库文件吧 ?...可以看到数据库文件已经在应用目录下了,数据库文件我就不拿出来看了哈 其实,今天提到的本地存储操作都是比较简单,大家可以在下面多多试一试相应的操作,因为在以后的应用开发过程中会用的很多的。

    5K30
    领券