Flutter开发进阶之使用工具效率开发

Flutter开发进阶之使用工具效率开发

软件开发团队使用Flutter开发的原因通常是因为Flutter开发性能高、效率高、兼容性好、可拓展性高,作为软件PM来说主要考虑的是范围管理、进度管理、成本管理、资源管理、质量管理、风险管理和沟通管理等,可以看到Flutter开发与项目管理完美契合。
在Flutter开发的不断发展中有一条主线就是更完善、更简单,这也是为什么现在状态管理库Getx异军突起的原因,在开发中使用工具去提升开发效率是很重要的,有些人认为使用更简单的工具去提升开发效率会影响自身技术的提升,作为项目管理来说肯定不是这样的,技术的提升是主动性的,而不是被动的去理解。
Flutter开发进阶
接下来介绍几种Flutter开发中常用的工具。

一、JsonToDart

JsonToDart请添加图片描述
请添加图片描述

二、intl请添加图片描述

dependencies:
flutter:
sdk: flutter
intl: ^0.18.1
flutter_localizations:
sdk: flutter

请添加图片描述
此时lib中会生成对应文件请添加图片描述
还可以添加指定语言请添加图片描述
添加对应语言请添加图片描述
请添加图片描述
导入头文件

import 'package:sky_flutter_lib/generated/l10n.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

配置代理并使用

Widget build(BuildContext context) {S.load(const Locale("en", "en_US"));return MaterialApp(localizationsDelegates: const [S.delegate,GlobalMaterialLocalizations.delegate,GlobalWidgetsLocalizations.delegate,GlobalCupertinoLocalizations.delegate,],supportedLocales: S.delegate.supportedLocales,home: Scaffold(appBar: AppBar(title: Text(S.current.ok),),body: Center(child: Text('Running on: $_platformVersion\n'),),),);}

三、flutter_gen

配置环境

brew install FlutterGen/tap/fluttergen
dart pub global activate flutter_gen

pubspec.yaml中导入对应库

dependencies:flutter:sdk: flutterflutter_gen: ^5.4.0
dev_dependencies:flutter_test:sdk: flutterflutter_lints: ^2.0.0build_runner: ^2.4.8flutter_gen_runner: ^5.4.0

启动runner

dart run build_runner build

配置文件路径
请添加图片描述

<?xml version="1.0" encoding="utf-8" ?>
<resources><color name="color_primary">#20212A</color>
</resources>
dev_dependencies:integration_test:sdk: flutterflutter_test:sdk: flutterflutter_gen:colors:inputs:- assets/color/colors.xmloutput: lib/gen/line_length: 80integrations:flutter_svg: trueflare_flutter: truerive: truelottie: trueflutter:uses-material-design: trueassets:- assets/images/fonts:- family: xxxxfonts:- asset: assets/fonts/xxxx-Bold.otfweight: 700- asset: assets/fonts/xxxx-BoldItalic.otfstyle: italicweight: 700- asset: assets/fonts/xxxx-Light.otfweight: 300- asset: assets/fonts/xxxx-LightItalic.otfstyle: italicweight: 300- asset: assets/fonts/xxxx-Regular.otfweight: 400- asset: assets/fonts/xxxx-RegularItalic.otfstyle: italicweight: 400

执行命令生成资源文件

fluttergen -hfluttergen -c {project name}/pubspec.yaml

请添加图片描述

Assets.images.appIcon.image();
FontFamily.sKSans;
ColorName.colorPrimary;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2871726.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Zookeeper的ZAB协议原理详解

Zookeeper的ZAB协议原理详解 如何保证数据一致性。 Paxos&#xff0c; 吸收了主从。 zk 数据模型Watch机制 zab zookeeper原子广播协议。 ZAB概念 ZooKeeper是通过Zab协议来保证分布式事务的最终一致性。 Zab(ZooKeeper Atomic Broadcast,.ZooKeeper原子广播协议)支持…

Java SE 认识异常 (Java SE完结篇)

1. 异常的概念与体系结构 1.1 异常的概念 在我们的生活中,一个人如果表情痛苦,我们可能会问: 你是生病了吗? 需要我陪你去看医生吗? 程序也和人是一样的,均会发生一些"生病"的行为,比如: 数据格式不对, 数组越界,网络中断等, 我们把这种程序出现的"生病&qu…

Ps:文字工具

工具箱里的文字工具组中包含了四种工具&#xff1a; 横排文字工具 Horizontal Type Tool 直排文字工具 Vertical Type Tool 横排文字蒙版工具 Horizontal Type Mask Tool 直排文字蒙版工具 Vertical Type Mask Tool 快捷键&#xff1a;T 横排文字蒙版工具和直排文字蒙版工具…

iOS--第二章block

第二章block blocks 概要Blocks模式Blocks语法Blocks类型变量截获自动变量值_block 说明符 Blocks的实现Block的实质截获自动变量值_block说明符Block存储域 blocks 概要 Blocks是c语言的扩展&#xff0c;block是一个带有自动变量值的匿名函数&#xff0c;它也是一个数据类型&…

Lua面向对象

封装 实现了New方法&#xff0c;相当于创建了一个表obj&#xff0c;并设置元表可以通过obj表去访问__index指向表中的数据 继承 通过大G表传入字符串创建表&#xff0c;

安卓国产百度网盘与国外云盘软件onedrive对比

我更愿意使用国外软件公司的产品&#xff0c;而不是使用国内百度等制作的流氓软件。使用这些国产软件让我不放心&#xff0c;他们占用我的设备大量空间&#xff0c;在我的设备上推送运行各种无用的垃圾功能。瞒着我&#xff0c;做一些我不知道的事情。 百度网盘安装包大小&…

golang常用库之-golang常用库之-ladon包 | 基于策略的访问控制

文章目录 golang常用库之-ladon包 | 基于策略的访问控制概念使用策略 条件 Conditions自定义conditionLadon Condition使用示例 持久化访问控制(Warden) 结合 Gin 开发一个简易 ACL 接口参考 golang常用库之-ladon包 | 基于策略的访问控制 https://github.com/ory/ladon Lado…

Unity中UGUI中的PSD导入工具的原理和作用

先说一下PSD导入工具的作用&#xff0c;比如在和美术同事合作开发一个背包UI业务系统时&#xff0c;美术做好效果图后&#xff0c;程序在UGUI中制作好界面&#xff0c;美术说这个图差了2像素&#xff0c;那个图位置不对差了1像素&#xff0c;另外一个图大小不对等等一系列零碎的…

从零自制docker-4-【PID Namespace MOUNT Namespace】

文章目录 PID namespace代码mountnamespace通俗理解代码 PID namespace 每个命名空间都有独立的PID空间&#xff0c;即每个命名空间的进程都由一开始分配。 新建立的进程内部进程ID为1 代码 package main import ("log""os/exec""os""sy…

MySQL_数据库图形化界面软件_00000_00001

目录 NavicatSQLyogDBeaverMySQL Workbench可能出现的问题 Navicat 官网地址&#xff1a; 英文&#xff1a;https://www.navicat.com 中文&#xff1a;https://www.navicat.com.cn SQLyog 官网地址&#xff1a; 英文&#xff1a;https://webyog.com DBeaver 官网地址&…

Spring MVC文件上传配置

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 文件上传 Spring MVC文件上传基于Servlet 3.0实现&#xff1b;示例代码如下&#xff1a; Overrideprotected void customizeRegistration(ServletRegistration.Dynamic reg…

【开源鸿蒙】编译OpenHarmony轻量系统QEMU RISC-V版

文章目录 一、背景介绍二、准备OpenHarmony源代码三、准备hb命令3.1 安装hb命令3.2 检查hb命令 四、编译RISC-V架构的OpenHarmony轻量系统4.1 设置hb构建目标4.2 启动hb构建过程 五、问题解决5.1 hb set 报错问题解决 六、参考链接 开源鸿蒙坚果派&#xff0c;学习鸿蒙一起来&a…

AJAX概念和axios使用、URL、请求方法和数据提交、HTTP协议、接口、form-serialize插件

AJAX概念和axios使用 AJAX概念 AJAX就是使用XMLHttpRequest对象与服务器通信&#xff0c;它可以使用JSON、XML、HTML和text文本等格式发送和接收数据&#xff0c;AJAX最吸引人的就是它的异步特性&#xff0c;也就是说它可以在不重新刷新页面的情况下与服务器通信&#xff0c;…

GPU密集型计算性能优化的方法和技术

对GPU密集型计算进行性能优化的方法和技术多种多样。通过一些优化策略和技术需要综合考虑应用程序的具体需求、所使用的GPU硬件、以及编程模型和库的选择。通过不断地分析和调整&#xff0c;可以实现GPU计算性能的持续提升。以下是一些常用的优化策略和技术&#xff1a; 算法优…

uni-popup(实现自定义弹窗提示、交互)

一般提示框的样式&#xff0c;一般由设计稿而定&#xff0c;如果用uniapp的showmodel&#xff0c;那个并不能满足我们需要的自定义样式&#xff0c;所以最好的方式是我们自己封装一个&#xff01;&#xff08;想什么样就什么样&#xff09;&#xff01; 一、页面效果 二、使用…

Redis的常用操作-String字符串类型

一、redis简介 redis 就是一个数据库&#xff0c;与传统数据库不同的是 redis 的数据是存在内存中的&#xff0c;所以读写速度非常快&#xff0c;因此redis 被应用于缓存方向。另外&#xff0c;redis 也经常用来做分布式锁。 二、redis作缓存&#xff0c;主要用来实现…

WebSocket多服务实例下的消息推送

最近在做一个项目&#xff0c;涉及到前后端的消息同步、推送&#xff0c;进而我们选择使用webSocket的方案进行实现&#xff0c;但是当websocket服务端部署在多个实例下&#xff0c;会出现前端socket意外断开导致无法收到消息的情况。手下我们先说我们的实现方案&#xff1a; 1…

【JavaScript】JavaScript 运算符 ⑤ ( 赋值运算符 | 基础赋值运算符 与 复合赋值运算符 )

文章目录 一、JavaScript 赋值运算符1、赋值运算符 概念2、基础赋值运算符 与 复合赋值运算符3、复合赋值运算符4、完整代码示例 一、JavaScript 赋值运算符 JavaScript 赋值运算符种类 : 基础赋值运算符 : 等于 : ; 复合赋值运算符 : 加等 : 减等 : -乘等 : *除等 : /取模等…

MongoDB的安装方法图文详细

官网&#xff1a;www.mongodb.com 选择 Products > Community Edition 就能进入社区版 在这里下载 windows 版对应的安装包 注意&#xff1a;6.0.1 版本的 MongoDB 配置环境变量有问题&#xff0c;并且我不知道怎么解决&#xff0c;如果想要避免出问题&#xff0c;建议使…

【javaWeb】在webapp中手动发布一个应用

标题 &#x1f432;一、为什么要在webapp中手动发布一个应用&#x1f389;二、手动发布步骤1.下载Tomcat2.解压并安装3.在webapps中创建文档 ✨三、总结 &#x1f432;一、为什么要在webapp中手动发布一个应用 好处解释灵活性手动发布应用程序可以根据自己的需求进行自定义配置…