作者:坚果 华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。
您可以使用基础kIsWeb常量检查您的 Flutter 应用程序是否在 Web 浏览器上运行。
代码语言:javascript复制import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
// Remove the debug banner
debugShowCheckedModeBanner: false,
title: '大前端之旅',
theme: ThemeData(
primarySwatch: Colors.indigo,
),
home: const HomePage());
}
}
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('大前端之旅')),
body: const Center(
child: Text(kIsWeb ? 'Web' : 'Not Web',
style: TextStyle(
fontSize: 40,
)),
),
);
}
}
另外给大家推荐一本朋友写的书《Flutter开发零基础入门》
本书编写的目的就是帮助零基础学习跨平台开发的读者,既要学习Flutter开发技术,又要掌握解决实际问题的能力,提高实际项目的开发水平,从而快速成为一名合格的Flutter开发工程师。本书摒弃传统软件开发类书籍逐个知识点介绍的编排模式,而采用“案例诠释理论内涵、项目推动实践创新”的编写思路,既讲解项目的实现过程和步骤,又讲解项目实现所需的理论知识和技术,让读者掌握理论知识后会灵活运用,并在新项目开发中拓展创新。
全书共8章,内容安排如下。 第1章移动应用开发技术。介绍移动应用开发中原生开发和跨平台开发的特点、常用开发框架等,包括Flutter的基本架构和特性、Windows和Mac OS平台下Flutter项目开发环境的搭建步骤等。 第2章Flutter项目结构。介绍Android Studio开发环境下Flutter项目的创建步骤、Flutter项目目录结构、默认入口文件(main.dart)的构成及项目的运行和调试方法。 第3章Dart程序设计基础。介绍Dart语言的发展、特点、辅助开发工具及语法基础。包括常量、变量、数据类型、运算符、流程控制语句、数组(List)、集合(Set)、映射(Map)、函数及异常的使用方法和应用场景等。 第4章Dart面向对象程序设计。介绍面向对象的基本概念、类的声明、成员变量与成员方法的定义和使用方法,以及构造方法、类的继承、抽象类、接口的定义和使用方法等。 第5章Dart高级编程。介绍泛型的定义、使用方法和应用场景,同步和异步的概念,并结合文件(目录)同步、异步操作相关API的使用方法阐述同步、异步的应用场景等。 第6章 基本组件。介绍Text、TextField等文本类组件,Image、CircleAvatar等图片类组件和MaterialApp组件的常用属性和使用方法,并结合多个技术范例和“登录界面”“注册界面”“图片浏览器”等项目案例阐述文本样式组件、输入框装饰器组件、第三方插件Fluttertoast及image_picker的使用方法和应用场景。 第7章 布局组件。介绍Container、Padding等单孩子布局组件,Row、Column等多孩子布局组件的常用属性和使用方法,并结合多个技术范例和仿今日头条的“关注页面”“展示页面”等项目案例阐述Switch、SwitchListTile、SingleChildScrollView、ScrollController、ListTile、ListView、Refreshlndicator等组件的使用方法,以及video_player和chewie视频播放插件、GestureDetector组件的手势事件、路由及页面间数据传递的方法和应用场景。 第8章 数据存储与访问。介绍key-value存储访问机制、File存储访问机制、数据库存储访问机制和网络数据存储访问机制的工作原理和应用场景,并结合多个技术范例和“睡眠质量测试系统”“随手拍”“实验室安全测试平台”“天气预报系统”等项目案例阐述I_inearProgresslndicator、AlertDialog、SimpleDialog、BottomSheet、Card、ExpansionPanel、GridView、PopupMenuButton,Tabbar、PageView、Forn和TextFormField组件的使用方法,以及shared_preferences插件实现key-value键值对存储访问数据、sqflite插件实现soLite数据库操作、HttpClient实现GET和POST请求、http和Dio插件实现网络请求的方法和应用场景。 与同类图书相比,本书有以下特点: (1)编写理念新颖:采用“案例诠释理论内涵,项目推动实践创新”的编写理念组织内容,内容编排上以案例为载体,既向读者展现案例的实现过程和步骤,也详细阐述案例实现时所需的理论知识和开发技术。 (2)案例典型实用:直接选取“易学、易用、易扩展”的技术范例和“有趣、经典、综合性”的项目案例,既可以激发读者的学习兴趣,巩固理论知识和强化工程实践能力,也可以将这些案例的解决方案创新应用到其他项目中。 (3)配套资源丰富:随书配套全部技术范例和项目案例的微课视频,读者不仅可以随时随地扫码观看重点、难点内容的讲解,还可以下载教学课件、教学大纲、习题和程序源代码等教学资源,以便更好地学习和掌握Flutter开发技术,提高实际开发水平。 (4)内容系统全面:依据Flutter官方开发文档选取侧重实战的知识点和应用场景,读者既可以系统地掌握理论知识,也可以提高分析和解决问题的能力。 (5)读者覆盖面广:由浅入深的知识点体系重构和系统全面的知识点应用场景解析,既可以让零基础的初学者快速入门并掌握Flutter的开发技术和开发技巧,也可以让具有一定编程基础的开发者从书中找到合适的起点,进一步提升项目开发和创新能力。