近日见闻
- 2023年11月6日,DataEase 开源数据可视化分析平台正式发布 v2.0 版本。DataEase 开源项目创立于2021年1月,于2021年6月发布v1.0版本。--DataEase
- DALL・E3绘图来啦,开源AI聊天、绘图软件AIdea现已支持 DALL・E3。--mylxsw
- OpenAI开发者大会:GPT-4 Turbo、GPTs商店、128k上下文窗口、大降价。--奥特曼
- 龙芯 3A6000 国产桌面处理器本月底发布,对标英特尔10代酷睿。--龙芯
- 李开复旗下AI公司发布Yi系列开源大模型,估值超 10 亿美元 --零一万物
一种框架,一次代码,多平台使用
Flutter
有没有一种语言或者一种框架,只需编写一次代码,就可以在多种平台运行,没错它来了,它就是Flutter。
Flutter就是一种前端框架。是Google开发的一套用户界面(UI)开发工具,可以用一套代码库来构建在IOS、Android、Web、和桌面环境下运行的应用。Flutter的主要优势在于它的高度可定制性,以及其跨平台的能力。
Flutter使用Dart语言进行编程。Dart是由Google开发的一种计算机编程语言,它旨在为开发者提供一种简单、强大的方式来开发高效的、高质量的应用程序,特别是对于UI开发而言。Dart的语法风格相对简洁,同时它的性能强大、效率高,是Flutter的理想选择。
Dart
Dart是由Google开发和维护的一种通用编程语言。它在2011年首次亮相,最初设计的目标主要是用于开发现代web应用程序。随着时间的推移,Dart已经发展成为一种多用途、简单易用、高效率、面向对象的语言。
以下是关于Dart的一些主要特性:
- 「易于学习和使用」:Dart与许多现有的语言有着相似的语法,特别是C语言和JavaScript,这使得开发者可以轻易地上手。同时,Dart也提供了一些现代化语言特性,提升开发效率和可读性。
- 「面向对象」:Dart是一种基于类的、面向对象的语言,所有的值都是对象,所有的对象都是类的实例。它还支持mixin式的继承。
- 「强类型」:虽然Dart在早期版本中是弱类型的,但现在它已经实现了强类型。这使得开发者可以在编译时捕获更多的错误,从而提高代码质量。
- 「垃圾回收」:Dart使用垃圾回收技术来自动管理内存,无需开发者手动释放不再使用的内存。
- 「支持并发」:Dart通过Isolates(一种类似于线程的实体,但不共享内存)来实现并发处理。
- 「用于多平台开发」:通过Google的Flutter框架,Dart可以用于开发跨平台的移动、Web和桌面应用程序。
Dart语言的一个简单示例:
代码语言:javascript复制void main() {
var name = 'World';
print('Hello, $name!');
}
这段代码会输出 "Hello, World!"。其中的$name
是一个字符串插值的例子,可以在字符串中直接插入变量或表达式的值。
开发一个Flutter应用程序的步骤
- 「安装Flutter」: 下载最新稳定版本的Flutter SDK,然后添加flutter/bin到环境变量中。
- 「安装编辑器」: 尽管可以使用任何文本编辑器来写Flutter应用,但建议使用支持Flutter开发的编辑器,例如Android Studio,VS Code,或IntelliJ IDEA。这些编辑器都有Flutter插件,可以提供代码补全、语法高亮、widget编辑等功能。
- 「创建新的Flutter应用」: 在命令行中,可以通过以下命令来创建一个新的Flutter应用:
flutter create my_app
这将在当前目录下创建一个新的文件夹,文件夹名为my_app,里面包含了一个简单Flutter应用的初始代码。
- 「运行Flutter应用」: 在my_app目录下,用以下命令来启动您的应用:
cd my_app
flutter run
如果已经连接了Android设备,或者已经启动了Android模拟器,应用应该会在设备或模拟器上运行起来。
- 「编辑Flutter应用」: 打开my_app/lib/main.dart,这是应用程序的主入口文件。在这里,可以开始编写自己的应用代码。以下是一个简单的示例,展示了一个包含“Hello World”文本的页面:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First Flutter App'),
),
body: Center(
child: Text('Hello World'),
),
),
);
}
}
保存文件后,Flutter的热重载功能会立即在设备或模拟器上更新应用。
创建一个显示用户信息的Flutter应用
代码语言:javascript复制import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('User Info')),
body: DataTable(
columns: const <DataColumn>[
DataColumn(
label: Text(
'Name',
),
),
DataColumn(
label: Text(
'Age',
),
),
DataColumn(
label: Text(
'Address',
),
),
],
rows: const <DataRow>[
DataRow(
cells: <DataCell>[
DataCell(Text('John')),
DataCell(Text('30')),
DataCell(Text('New York')),
],
),
],
),
),
);
}
}