赞
踩
前言
从今年1月份开始项目落实后开始使用flutter进行windows桌面应用开发,到现在出了第一个大版本,历时大致2个半月,项目组主要成员2个,后边面临开发压力先后又有2位开发加入完成一小部分溢出功能。
开发前准备
调研了大量flutter windows方面的开发小部件、注意事项、插件依赖库等,以下列出主要用到的插件:
UI框架使用:fluent_ui(符合Microsoft Windows UI 准则且flutter官方推荐的ui框架)
UI交互(状态管理)使用:Provider(Flutter 官方推荐的状态管理方式)
网络请求使用:dio(flutter中最受欢迎的网络请求插件)
数据库使用:sqlite3、sqlite3_flutter_libs(flutter packages 网站上使用量靠前的数据库插件)
国家化使用:intl(flutter官方力荐)
完整的pubspec.yaml依赖如下:
- fluent_ui:
- git: https://github.com/bdlukaa/fluent_ui.git
- system_theme: ^2.1.0
- flutter_acrylic: ^1.1.0+1
- window_manager: ^0.3.0
- provider: ^6.0.5
- dio: ^5.0.0
- sqlite3: ^1.9.1
- sqlcipher_flutter_libs: ^0.5.4
- worker_manager: ^5.0.0
- # flutter_nsd: ^1.3.3
- flutter_nsd:
- path: ./packages/flutter_nsd
- logging: ^1.1.1
- universal_disk_space: ^0.2.3
- freezed: ^2.3.2
- device_info_plus: ^8.1.0
- synchronized: ^3.0.1
- crypto: ^3.0.2
- sprintf: ^7.0.0
- number_paginator: ^0.2.3
- multi_image_picker_view: ^0.0.15
- expandable: ^5.0.1
- path: ^1.8.3
- shelf: ^1.4.0
- shelf_router: ^1.1.3
- network_info_plus: ^3.0.2
- connectivity_plus: ^3.0.3
- pretty_dio_logger: ^1.3.1
- dio_smart_retry: ^5.0.0
- jwt_decoder: ^2.0.1
- uuid: ^3.0.7
- ansicolor: ^2.0.1
- screen_retriever: ^0.1.6
- file_picker: ^5.2.6
- file_selector: ^0.9.2+4
- flutter_single_instance: ^0.0.1
- calendar_date_picker2: ^0.4.9
- path_provider: ^2.0.14
使用Fluent_ui搭建起整个项目结构,结合UX设计稿然后尽情coding carry。
开发后期:
打包exe安装包,官网或百度都能找到相关资料,其中flutter官网是主推msix进行打包,但存在兼容问题。我们主要还是打exe通用安装包(官网链接打包工具 文章结尾有提到【可使用Inno Setup、WiX等工具】)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。