推广

Freadhub Mac版它来了

iseeyu2年前 (2024-02-22)推广130

image

Fredhub 链接
开源 Github flutter_readhub
开源 Gitee flutter_readhub
Android Freadhub
iOS clone自行运行或邮箱给下设备UUID
MacOS Gitee下载 共享盘下载

下载了 MacOS的压缩包解压后点击 图标 打开。

点击打开

出现 来自身份不明的开发者提示。依次系统偏好设置->安全性与隐私->通用中解锁并允许应用安装即可。

解锁运行

打开

Mac版本准备工作

1、获取MacOS代码

本着Flutter-Write Once Run Anywhere的原则,MacOS版本也在master分支未开新分支。

  • 有原始版本代码只需Update一下,然后flutter pub get一下即可。
  • 没有原始代码则可在Github或Gitee上 clone一下,然后flutter pub get一下即可。

2、开启MacOS支持

目前Flutter 2.0 Stable已支持MacOS,只需开启下MacOS支持即可。

  • 环境:Flutter SDK Flutter stable 2.0+
  • 开启MacOS支持:flutter config --enable-macos-desktop
  • 创建MacOS环境配置:flutter create --platforms=macos .
 % flutter --version
Flutter 2.2.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision b22742018b (12 days ago) • 2021-05-14 19:12:57 -0700
Engine • revision a9d88a4d18
Tools • Dart 2.13.0

% flutter config --enable-macos-desktop
Setting "enable-macos-desktop" value to "true".

  % flutter create --platforms=macos .
Recreating project ....
  flutter_readhub_github.iml (created)
  macos/Runner.xcworkspace/contents.xcworkspacedata (created)
  macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (created)
  macos/Flutter/Flutter-Debug.xcconfig (created)
  macos/Flutter/Flutter-Release.xcconfig (created)
  .idea/runConfigurations/main_dart.xml (created)
  .idea/libraries/KotlinJavaRuntime.xml (created)
Running "flutter pub get" in flutter_readhub_github...           1,078ms
Wrote 7 files.

All done!

3、基础配置-icon、name、网络等

  • 准备MacOS需要的各种尺寸icon,推荐使用 Image Asset Icon Resizer Lite 可以裁剪出各种尺寸的icon、launch image –包括AndroidiOSMacOS等。

生成icon

将生成的icon资源及配置文件拷贝到对应文件夹即可

macos icon配置

这里推荐文件名保持和Flutter默认生成的一致,可在Image Asset Icon Resizer Lite设置。如下图:

设置导出flieName

  • 设置App 信息:依次进入macos->Runner->Configs文件夹打开AppInfo.xcconfig编辑PRODUCT_NAME值,该值决定了App窗口标题名和程序坞鼠标悬浮提示文字以及关于页面信息;PRODUCT_COPYRIGHT决定了关于页面版权声明信息。如下图:

AppInfo.xcconfig

程序坞

关于信息

  • 网络配置:因涉及请求接口需在macos->Runner文件夹下的DebugProfile.entitlementsRelease.entitlements文件添加以下配置
    <key>com.apple.security.network.server</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>

网络配置

4、运行与打包

  • 执行命令:flutter run -d macos 或直接通过 Android Studio选择macOS(desktop)运行
 % flutter run -d macos
Launching lib/main.dart on macOS in debug mode...
Running pod install...                                           1,956ms

Android Studio运行

  • 执行命令:flutter build macos --release等待执行完成即可
% flutter build macos --release

? Building with sound null safety ?

Running pod install...                                           1,709ms
  • 执行完成后,在build->macos->Build->Products->Release文件夹里可看到打包后的应用,直接双击打开即可。

打包后的app

Freadhub MacOS功能简介

1、主界面布局

  • 桌面端尺寸相较移动端更大如果采用移动端的底部/顶部tab模式会很丑,故在做MacOS适配过程中顺手做了下响应式布局–这里不做展开后期会单开文章阐述。
  • 使用GridView来让屏幕展示更多可用信息
  • 左侧顶部导航栏、底部为今日诗词推荐–使用今日诗词,在此感谢?、最底部仍然为更多信息深色/浅色主题切换按钮

宽屏:1280*800 最大尺寸

宽屏最大尺寸

窄屏:480*640 最小尺寸

窄屏

  • 这里设置widow 窗口大小用到了desktop_window插件-支持MacOSWindowsLinuxFreadhub 设置默认尺寸1024*768、最小尺寸480*640、最大尺寸1280*800

2、今日诗词

  • 因屏幕尺寸过大,左侧导航栏部分只有导航tab功能会显得很空故在tab底部增加今日诗词功能
  • 为保持适配一致性和美观性:宽屏模式显示诗词内容+匹配标签+切歌三部分内容;窄屏模式只显示诗词内容。–当然这里的美观性是个见仁见智的事情,大家轻喷。
  • 增加tooltip功能当鼠标悬浮或手指长按则显示更多信息 诗词标题+朝代作者+诗词全文+诗词翻译(如果有)

今日诗词tooltip

3、更多信息

  • 布局样式和移动端一致–开源地址显示了GithubGitee
  • 分享功能与移动端有差异–移动端弹出卡片分享移动端蒲公英下载链接;桌面端的跳转网页显示apkmacOS压缩包分享页面

更多信息

下载分享页面

4、资讯卡片

  • 资讯卡片背景样式优化-增加边框线区分不同资讯、鼠标悬浮/手指按下边界线及背景变为主题相关色

悬浮边框色变化

  • 修改点击事件-将原来点击事件资讯摘要信息全部展示变更为打开查看资讯详情热门话题详情直接跳转readhub网页详情

查看详情

该功能使用到了flutter_macos_webview插件

  • 去掉热门话题相关推荐icon变更为分享icon-原长按弹出分享卡片不变

分享

该功能使用到了share_plus插件

5、其它功能

啥也不说了,都在代码里了, Github、 Gitee。欢迎拍砖 扔鸡蛋

总结

1、就着这次适配MacOS过程,鄙人感觉Flutter确实很香!在UI层面确实在各个平台上的复用率在90%以上。但是确实需要根据不同的平台特性做调整:如在桌面系统使用移动端的顶部/底部导航就很别扭。

2、 平台相关插件除开移动端的其它平台确实要走的路还很漫长。–所以未来会有插件工程师这个专门工种?

3、桌面系统能多窗口就更好了。–Android是单Activity的模式的,iOS也是类似的。这种模式在移动端的没啥题,毕竟设备就那么大点。但是桌面系统普遍较大,所有页面跳转都在同一个窗口就感觉差点意思。也许是支持的只是我不知道?–有知道的大佬万望不吝赐教,感谢?!

4、Flutter仍然是未来跨平台的最佳选择 没有之一

结语

该App为笔者学习Flutter练手开发的 ,权当抛砖引玉了,万望各位不吝赐教

关于我

掘金: AriesHoo

简书: AriesHoo

GitHub: AriesHoo

Email: AriesHoo@126.com

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/56398.html

相关文章

财富流沙盘推演复盘——

复盘才能翻盘2月25日,我是:周聪今天是我第1次参加财富流沙盘推演。财富教练:彭利玩家:周聪,陈蕾,婉箐,陈敏,陈光斌1今天的推演,你经历了什么?随机选择的职业是中学教师,工资8000元,但支出高达5500元,每月现金流只剩下2500元,存款10000元。游戏开始:(因为骰...

单页面优化有什么不同的方式方法吗

单页面优化有什么不同的方式方法吗

现在是网络时代,很多营销手段都会通过网络的方式进行推广,单是非常常见的一种网站形式。优化又有什么方法呢?单页面优化怎么样,有什么不同的方式方法吗? 什么叫做单页面? 单页面简单的说就是一个页面,说的详细一点就是这个页面代表着整个推广的内容,也就是一个简单布局的静态页面,有着独立的布局和版块。...

比拼多多便宜,让你购物更省钱!

比拼多多便宜,让你购物更省钱!

如今,网络购物已经成为我们生活中不可或缺的一部分。提及网购,我们不得不提一个名字——拼多多。这个近年来迅速崛起的电商平台,以“团购++ 社交”的新零售模式,迅速吸引了大量用户。而拼多多最让人瞩目的特点,莫过于它比其他平台更便宜的价格。今天,我们就来深入探讨一下,比拼多多便宜,是如何让我...

小编分享怎么样建设网站提升网站的吸引力呢。

小编分享怎么样建设网站提升网站的吸引力呢。

一个网站建设得非常华丽,效果非常炫酷的话,如果没有用户喜欢,那么网站还是达不到想要的效果。网站建设应该要以功能建设为主,在突出功能的同时做好页面的设计,提升页面的。网站设计不仅仅是为美观而忽略了功能性的建设,这样网站建设效果也不会好,自然也就体现不出网站的价值。那么该怎样才能突出功能提升吸引力呢?...

流量渠道叠加单品权重

流量渠道叠加单品权重

流量叠加单品权重.关键词:、计划、适用行业:通用类目适用卖家规模:中小卖家一、基础淘宝客的收费期限是从第一次点击产生后,15天之内产生的购买都算淘宝客渠道,即便是取消了活动,只要你购买了就都算作是淘宝客的收费。比如说在8.27号从淘宝客流量进入的,但是没有购买,8.30号淘...

途志传媒提醒抖音直播的这些坑不要踩!!!

途志传媒提醒抖音直播的这些坑不要踩!!!

原标题:途志传媒提醒抖音直播的这些坑不要踩!!! 途志传媒最近刷抖音的时候看到评论区好多主播都在说,说自己在开着直播的时候直播突然被终止了,显示永久封闭直播,相信大家都知道这大概是抖音最大的惩罚措施。那么为什么会出现这个状况呢,今天途志传媒为了大家能够顺利安心的直播,给大家整理了抖音直播被封禁...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片