Flutter是Google开源的跨平台前端应用开发框架,使用 Dart 作为开发语言,只需要开发一套代码库就可以构建多平台应用,支持移动应用、Web、桌面和嵌入式平台等终端应用开发。它开源、免费,拥有宽松的开源协议,特别适合用于商业项目。近年来Fluter凭借其快速开发能力、丰富漂亮的UI设计、高性能、高可扩展性设计等优势,获得了开发者的青睐。可以说前景一片美好。
在开发过程中,Flutter应用程序在VM中运行,在VM之上运行,代码随时更改,不需要完全重新编译。发布之后,Flutter应用程序被编译为机器代码,可以在Intel x64、ARM等架构上运行。
Flutter被设计成一个可扩展的分层系统。包括:Embedding、Engine、Framework,三层,FrameWork层的每一部分都是可选和可替换的。
架构如下图所示:
目前Flutter与React Native都是原生前端应用开发的佼佼者,互有优劣。如果追求快速搭建一个APP,又有Java或者javaScript的开发基础,我想Flutter值得考虑选择。
话不多说!以下是学习Flutter开发的一些漂亮的Flutter开源应用程序以及一些学习资源。
开源项目
回想过去,我在学习一个框架或者一个语言的时候总是喜欢从例子入手。可能模仿是人类的天性,就像婴儿学会说话的过程,他的每一次开口都是在模仿他的父母。
对于有一定开发语言基础的Flutter初学者来说,快速入门的路径可以是:一、Clone源代码;二、在源码基础上修修改改,改成你要的效果,试着做个小应用;三、格物致知,系统学习,实践与理论结合。
1.AppFlowy
GitHub(40K+):https://github.com/AppFlowy-IO/AppFlowy
AppFlowy是一个免费的开源笔记工具,专为创意思维而设计。是Notion.io的一个开源替代方案,支持使用Markdown语法、动态表、检查表。还提供了一个响应式看板视图。
AppFlowy可以安装在Linux、Windows和macOS等操作系统上。也可以使用Docker安装。AppFlowy前端开发使用的是Flutter,而后端使用的是Rust。
2.Fwitter
GitHub(3.4K):https://github.com/TheAlphamerc/flutter_twitter_clone
这是一个功能齐全的仿Twitter应用。技术栈包括:Firebase auth、real-time、Firestore Database和 Storage等。
3.Immich
GitHub(21.3K):https://github.com/immich-app/immich
Immich是一个用于备份照片或者视频的免费开源应用,服务端采用Next.js框架开发,技术栈包括TensorFlow、PostgreSQL、Redis和Nginx等,前端基于Flutter,支持Android和iOS系统。
4.timy-messenger
GitHub(2K):https://github.com/janoodleFTW/timy-messenger
这是一个开源的Flutter群组群消息应用程序,包括很多功能,如:多个群组(类似于Slack中的Teams)、群组内的多个开放或私人频道、分享照片和照片集、表情符号消息等。
5.Authpass
GitHub(1.9K):https://github.com/authpass/authpass
AuthPass是一个使用Flutter开发的完全免费开源的密码管理器。支持多个平台运行,可以与KeePass完全兼容(KeePass是原始的开源密码管理器)。
6.Musify
GitHub(1.2K):https://github.com/gokadzev/Musify
Musify是一个开源的自由音乐应用程序,基于Flutter开发。
主要功能包括:
- 在线歌曲搜索与推荐
- 支持流媒体播放
- 支持下载
- 支持数据导入导出,且永远不会丢失
- 添加带有链接的自定义播放列表
- 支持播放本地歌曲
- 高品质mp3 / m4a / flac格式播放
- 歌词支持
- 无广告
- 无需费用
- 内置更新程序
- 支持14种语言
7.Butterfly
GitHub:https://github.com/LinwoodCloud/Butterfly
Butterfly是一款用Flutter编写的尖端笔记软件。它提供了许多类似应用程序中没有的出色功能。用户可以轻松地手写笔记。具有友好的用户界面,易于组织管理笔记。支持Windows、Linux、macOS、Web (PWA)、Web (Self-hosted)等平台。
8.Liso
GitHub:https://github.com/Liso-Vault/app
Liso App是一个开源的去中心化私有数据库,主要专注于安全地存储私人信息和文件。主要使用Dart语言和Flutter框架编写。
9.Wger
GitHub:https://github.com/wger-project/flutter
Wger是一个免费的开源运动和健身助手,适用于健身专业人士和团队。该项目的后端是用Python写的rest服务。
后端源码地址:https://github.com/wger-project/wger
10.Habo
GitHub:https://github.com/xpavle00/Habo
Habo是一个很棒的习惯养成应用程序,使用Flutter开发,具有简单、友好的用户界面。
11.Timecop
GitHub:https://github.com/hamaluik/timecop
Time Cop是一个简单的时间跟踪应用程序,适用于Android和iOS设备。支持离线模式,不跟踪或使用广告脚本。该应用程序使用Dart语言基于Flutter开发。
12.Weight Tracker
GitHub:https://github.com/MSzalek-Mobile/weight_tracker
Weight Tracker是一个简单的体重跟踪应用程序。但是这个项目已经好多年没有更新了。
13.WhatTodo
GitHub:https://github.com/burhanrashid52/WhatTodo
WhatTodo是一个很小的待办事项和任务列表管理应用程序。它旨在每天跟踪用户的任务。可以添加项目、标签和到期日到任务中,也可以对这些信息进行排序。这也是一个多年前的项目了。
14.OpenFoodFacts
GitHub:https://github.com/openfoodfacts/smooth-app
这是一个食品溯源的Flutter应用程序。旨在通过流畅的用户体验和时尚的用户界面向广大用户展示Open Food Facts的力量。
15.Spooky
GitHub:https://github.com/juniorise/spooky-mb
Spooky是一个极简的Flutter应用程序,可以写故事、日记、笔记、日记、待办事项等。
16.AirDash
GitHub:https://github.com/simonbengtsson/airdash
AirDash是一款允许用户在手机、PC和Mac之间共享大型文件的工具。它适用于Windows、Linux、macOS和Android。AirDash默认支持大于2GB的文件,并且不包含任何广告或第三方脚本。
17.QuitSmoke
GitHub:https://github.com/trizin/Quit-Smoke-App
QuitSmoke是一款戒烟应用程序。可以跟踪戒烟进度,并监控节省了多少钱,避免了多少香烟伤害,以及已经戒烟多久了。该应用程序还具有一个倒计时,可以跟踪戒烟后身体健康的各个方面的改善情况。