Flutter 1.12稳定版发布,桌面和浏览器势头很强。linux
[1]. 官方已经有响应式的布局的打算了,坐等。(有生之年)
[2]. UI界面的能够预览,终于等到你...
[3]. 0环境,浏览器运行Flutter,是什么样的体验...
[4]. 多设备,6平台同时调试,就问你有没有这么多钱买设备 ~
[5]. UI经过设计图生成Widget supernova.io,
[6]. Adobe XD,直接链接设备,设计时,改UI直接更新界面? 当时网卡了一下,开头没看太清。
[7]. 也演示了手柄、游戏的控制,巴拉巴拉...
我最喜欢的是gskinner 的炫酷交互页面,并且开源。
可访问:https://flutter.gskinner.com/
[8]. 在线字体库,多到你想不到...
复制代码
下载工具 supernova.ioandroid
鸡血打完了,可是别太兴奋。Flutter很棒是没错,可是...
ios
Flutter不是神,只是一把
跨界斩杀的最强之剑
。你不会编程的心法和剑法,不磨炼技艺和逻辑控制力。握着最强的剑,耍几招三脚猫功夫就说会用了?醒醒吧,孩子,你对于力量一无所知。
git
不少人提问"章口就莱",提问的正确打开方式,你须要给出:github
1.应用场景:说明你不是在拿我寻开心
2.你对问题的了解:哪出现了问题,先别问别人,先问本身,说明你作了这点
3.脱敏后的小demo:写个小demo测试一下,也许是你项目的锅。
4.若是以为问题过小,不必作前三步,请自行解决。
复制代码
若是你以为能够接受上面四点,欢迎加入:
编程技术交流圣地[-Flutter群-]
不然,连提问都不虔诚的人,没有什么交流的意义。 微信:zdl1994328
web
想要开发桌面和web,首先将分支切到master,开启支持。
若是你有洁癖,只是想体验一下,彻底能够新下一个SDK,共存也是没问题的。macos
---[• flutter config --enable-macos-desktop
Setting "enable-macos-desktop" value to "true".
You may need to restart any open editors for them to read new settings.
---[• flutter config --enable-linux-desktop
---[• flutter config --enable-windows-desktop
---[• flutter channel
Flutter channels:
beta
dev
* master
stable
复制代码
使用AndroidStudio一路建立...
你会发现和原来的项目相比多了两个包,web包以及,个人是macOS编程
在设备栏能够看到支持的设备windows
能够直接运行项目:macOS效果浏览器
能够直接运行项目:web效果
运动盒尺寸300*300,默认的窗口尺寸自行目测
点击测试InkWell的涟漪效果正常,鼠标选浮有效果
组件拼组正常,Canvas表现良好,说明自定义组件能够在多平台公用。
运动盒实现详见:Flutter动画之粒子精讲
// 英雄所见...
children: <Widget>[
RunBallWidget(size: Size(300, 300),),
复制代码
自定义组件:macOS效果
自定义组件:web效果
自定义InfoWidget 来看一下当前的信息
若是说可以迅速开发6个平台(windows,linux,Android,iOS,macOS,web)的界面
Flutter称为天下第一剑,当之无愧。
import 'dart:io';
import 'package:flutter/material.dart';
class InfoWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
var info = "";
var platformName = "null";
var devicePixelRatio = MediaQuery.of(context).devicePixelRatio;
var size=MediaQuery.of(context).size.toString();
try {
if (Platform.isIOS) {
platformName = "iOS";
//ios相关代码
} else if (Platform.isAndroid) {
platformName = "Android";
//android相关代码
} else if (Platform.isWindows) {
platformName = "Windows";
} else if (Platform.isMacOS) {
platformName = "MacOS";
} else if (Platform.isLinux) {
platformName = "Linux";
}
} catch (e) {
print(e);
platformName="Web";
}
return Container(
child: Text("设备平台:$platformName\n"
"设备像素密度:$devicePixelRatio\n"
"当前尺寸:$size\n"
),
);
}
}
复制代码
使用bloc + 网络测试
,下面是我在Android/iOS端作的基于bloc状态管理的github搜索页,直接拷贝进去。逻辑和组件都没有问题:
Flutter网络测试详见:[- Flutter基础篇 -] 网络访问
BUT:
MacOS 访问网络也要加权限
BUT:MacOS 访问网络也要加权限
BUT:MacOS 访问网络也要加权限
<key>com.apple.security.network.client</key>
<true/>
复制代码
总的来看,Flutter 桌面的
网络访问+ 数据管理 + UI表现
这三块基本表现都不错。
开发直接使用AndroidStudio也很是方便。至于浏览器端......差强人意
不过我看来Flutter的能力仍是很是不错的。桌面和浏览器完善起来,可能又是一个时代了
但在我看开,Flutter最迷人的是它的UI布局优雅,组件复用的丝滑,入口即化。
秦王扫六合,天下之势,合久必分,分久必合。但也
没必要要把Flutter捧上神坛
。
Flutter不是神,只是一把跨界斩杀的最强之剑
。你不会编程的心法和剑法,不磨炼技艺和逻辑控制力。握着最强的剑,耍几招三脚猫功夫就说会用了?醒醒吧,孩子,你对于力量一无所知。
还有,别张口就要源码,别人的始终是别人的。运行出来看看没什么意义,不本身走过来,不踩点坑,怎么长记性?别让开源成为你偷懒的借口。摸摸良心,你为开源作了什么?
被惯出的臭毛病,像极了如今吃饭都要哄着喂的五岁小孩!不喂你,你就不吃?
@张风捷特烈 2019.12.12 未允禁转
个人公众号:编程之王
联系我--邮箱:1981462002@qq.com --微信:1994328zdl
~ END ~