1 uni-app介绍 uni-app
是一个使用 Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
DCloud
公司拥有900万开发者、数百万应用、12亿手机端月活用户、数千款uni-app插件、70+微信/qq群。阿里小程序工具官方内置uni-app,腾讯课堂官方为uni-app录制培训课程,开发者可以放心选择。uni-app
在手,做啥都不愁。即使不跨端,uni-app
也是更好的小程序开发框架、更好的App跨平台框架、更方便的H5开发框架。不管领导安排什么样的项目,你都可以快速交付,不需要转换开发思维、不需要更改开发习惯。
2.1 主要特点
- 快速开发
Flutter的热重载可帮助您快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态。
- 富有表现力,漂亮的用户界面
使用Flutter内置美丽的Material Design和Cupertino(iOS风格)widget、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验。
- 现代的,响应式框架
使用Flutter的现代、响应式框架,和一系列基础widget,轻松构建您的用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)解决艰难的UI挑战。
2.2.1 Windows (1)系统配置要求
- 操作系统:Windows10或更高版本(基于x86-64的64位操作系统)。
- 系统设置:启用开发者模式。
- 依赖工具:
- Windows Power Shell 5.0或更高版本。
- Git for Windows 2.x(并勾选从Windows命令提示符中使用Git选项)。
- 下载flutter_windows_3.0.5-stable.zip。
- 解压后将flutter目录拷贝到D盘即可(注意,路径不要有特殊字符)。
- 控制面板->系统和安全->系统->高级系统设置->环境变量->用户变量。
- 找到path条目(没有则新建path条目),加入
flutter/bin
的完整路径。
2.2.2 Linux (1)系统配置要求
- 操作系统:Linux64位。
- 命令工具:bash、curl、file、git 2.x、mkdir、rm、unzip、which、xz-utils、zip。
- 公用库:libGLU.so.1。
# 更新软件源
sudo apt-get update
# 安装snap工具
sudo apt-get install snap
# 安装flutter
sudo snap install flutter --classic
(3)运行flutter doctor检查(根据检查结果,完成依赖配置)。
2.3 运行与发布
flutter常用命令:
# 查看帮助
flutter -h
# 创建项目
flutter create Project_Name
# 运行项目
flutter run
--v# 查看日志输出
--release# 发布模式
--debug# 调试模式
--hot# 热重载启动
# 查看设备列表
# 设备名称 · 设备ID · 系统架构 · 系统版本(API版本)
flutter devices
# 切换设备
flutter run -d 设备名称/设备ID
# 安装程序
flutter install
# 查看配置情况 加-v可查看详细情况
flutter doctor
# 升级flutter
flutter upgrade
# 打包apk
flutter build apk
# 添加平台支持
flutter create --platforms=windosw,macos,linux .
2.3.1 运行到Windows平台
# 1.为已有的 Flutter 项目添加桌面支持
flutter create --platforms=windows .
# 2.确保开启开发者模式
start ms-settings:developers
# 3.基于Android Studio IDE开发的移动应用运行到Windows
flutter run -d windows
文章图片
2.3.2 发布到Windows平台
# 构建发布版本
flutter build windows --release
# 生成的发布版路径为 /build/windows/runner/release
# release目录结构如下
.
├── amc1600e.exe// 可执行程序
├── data// 包含应用资源文件,如字体和图片
└── flutter_windows.dll // 必需的动态库文件
2.3.3 运行到Linux平台
# 1.为已有的 Flutter 项目添加桌面支持
flutter create --platforms=linux .
# 2.基于Android Studio IDE开发的移动应用运行到Ubuntu
flutter run -d linux
文章图片
2.3.4 发布到Linux平台
# 构建发布版本
flutter build linux --release
# 生成的发布版路径为 /build/linux/x64/release/bundle
# bundle目录结构如下
.
├── amc1600e // 可执行程序
├── data// 包含应用资源文件,如字体和图片
└── lib// 包含必需的动态库文件
2.3.5 运行到Android平台 在项目路径下,按住Shift,单击右键,选择在此处打开Powershell窗口:
- 输入
flutter devices
查看设备列表。
- 输入
flutter run -d emulator-5554
。
文章图片
2.3.6 发布到Android平台 (1)检查APP Manifest
(2)查看构建配置
(3)添加启动图标
(4)APP签名
(5)开启混淆压缩
(6)构建发布版apk
# 构建apk
flutter build apk
# 安装apk
flutter install
3 对比分析
跨平台方案 | 优点 | 缺点 |
---|---|---|
uni-app | 1. 内部兼容了vue的写法,用于跨平台。 2. 同时支持发布到iOS、Android、Web、多家主流小程序、快应用等多个平台。 |
1. 很多web库以及第三方web库都不支持。 2.如果想个性化定制功能或UI界面比较难,基本上只能按照uni-app的要求去做。 3. 对移动设备的调试和兼容不太友好。 |
flutter | 1. 快速开发,支持毫秒级热重载。 2. 提供丰富的组件支持,富有表现力和灵活的UI。 3. 自带渲染引擎,不依赖于任何平台,可达到原生应用一样的性能。 4. 开源免费,提供社区支持。 5. 一套代码即可编译成多个平台的应用程序(移动、Web、桌面、嵌入式)。 |
1. 需要了解dart语言。 2. 需要了解原生开发。 |
推荐阅读
- 程序员|Android面试总结,开发者必备的顶级Android开发工具,跳槽薪资翻倍
- 食之无味(App Startup 可能比你想象中要简单)
- 使用 DialogX 快速构建 Android App
- 技术分享|自动化测试系列(三)|UI测试
- web|Web UI 自动化测试(5)
- android 自定义View: 视差动画
- vue.js|基于Vue+Element-ui开发的一个“月日组件”,并发布npm包
- webview|CSS原生修改select 样式,实现下拉三角括号
- Anroid|Android Studio开发中的各种开源API