加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 移动 > 正文

让前端开发者失业的技术,Flutter Web初体验

发布时间:2019-05-25 11:20:05 所属栏目:移动 来源:腾讯新闻前端团队
导读:副标题#e# Flutter是一种新型的客户端技术。它的最终目标是替代包含几乎所有平台的开发:iOS,Android,Web,桌面;做到了一次编写,多处运行。掌握Flutter web可能是Web前端开发者翻盘的唯一机会。 在前些日子举办的Google IO 2019 年度开发者大会上,Flut

VS code的设置在extension-》搜索Flutter和Dart,安装之后重启。

让前端开发者失业的技术,Flutter Web初体验

7、运行 flutter doctor

打开一个新的命令提示符或PowerShell窗口并运行以下命令以查看是否需要安装任何依赖项来完成安装:

  1. flutter doctor 

这是一个漫长的过程,flutter会检测你的环境,并安装所有的依赖,直至:No issues found!,如果有缺失,会就会再那一项前面打x。你需要一一解决。

让前端开发者失业的技术,Flutter Web初体验

一切就绪!

创建应用

1、启动 VS Code

调用 View>Command Palette…(快捷键ctrl+shift+p)

输入 ‘flutter’, 然后选择 ‘Flutter: New web Project’

让前端开发者失业的技术,Flutter Web初体验

输入 Project 名称 (如flutterweb), 然后按回车键

指定放置项目的位置,然后按蓝色的确定按钮

等待项目创建继续,并显示main.dart文件。到此,一个Demo创建完成。

让前端开发者失业的技术,Flutter Web初体验

我们看到了熟悉的HTML文件以及项目入口文件main.dart。

web目录下的index.html是项目的入口文件。main.dart初始化文件,图片相关资源放在此目录。

lib目录下的main.dart,是主程序代码所在的地方。

每个pub包或者Flutter项目都包含一个pubspec.yaml。它包含与此项目相关的依赖项和元数据。

analysis_options.yaml是配置项目的lint规则。

/dart_tool 是项目打包运行编译生成的文件,页面主程序main.dart.js就在其中。

2、调试Demo,打开命令行,进入到项目根目录,执行:

  1. webdev flutterweb 

编译、打包完成之后,自动启动(或者按F5)默认浏览器,看一下转换后的HTML页面结构:

让前端开发者失业的技术,Flutter Web初体验

lib/main.dart是主程序,源码非常简单,整个页面用widgets堆叠而成,区别于传统的html和css。

  1. import 'package:flutter_web/material.dart'; 
  2.  
  3. void main() => runApp(MyApp()); 
  4.  
  5. class MyApp extends StatelessWidget { 
  6.   @override 
  7.   Widget build(BuildContext context) { 
  8.     return MaterialApp( 
  9.       title: 'Flutter Demo', 
  10.       theme: ThemeData( 
  11.         primarySwatch: Colors.blue, 
  12.       ), 
  13.       home: MyHomePage(title: 'Flutter Demo Home Page'), 
  14.     ); 
  15.   } 
  16.  
  17. class MyHomePage extends StatelessWidget { 
  18.   MyHomePage({Key key, this.title}) : super(key: key); 
  19.  
  20.   final String title; 
  21.  
  22.   @override 
  23.   Widget build(BuildContext context) { 
  24.     return Scaffold( 
  25.       appBar: AppBar( 
  26.         title: Text(title), 
  27.       ), 
  28.       body: Center( 
  29.         child: Column( 
  30.           mainAxisAlignment: MainAxisAlignment.center, 
  31.           children: <Widget>[ 
  32.             Text( 
  33.               'Hello, World!', 
  34.             ), 
  35.           ], 
  36.         ), 
  37.       ),  
  38.     ); 
  39.   } 

区别与flutter App应用,我们导入的是flutter_web/material.dart库而非flutter/material.dart,这是因为目前App的接口并非和Web的完全通用,不过随着谷歌开发的继续,它们最终会被合并到一块。

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读