flutter初体验,用flutter+go开发一个小游戏。纠结以后用vue还是flutter作为开发主力呢?

前言

早听说flutter多端兼容,上手容易,便学习了下,果然感受到对新手的友好气息。刚好我有个朋友用go开发了小游戏的后台,缺个前端,我便接下当练手项目。

游戏介绍

游戏地址:

http://139.159.234.134/

欢迎大家来体验。

游戏界面:

大厅
微信图片_20230719152728.jpg

房间
微信图片_202307191527272.jpg

游戏
微信图片_202307191527271.jpg

微信图片_20230719152727.jpg

UI设计我觉得还是不错的(doge)

玩法介绍:

该游戏是个抢卡得分游戏。抢牌阶段中,多个玩家从卡堆中抢卡,卡牌点数凑齐20点得分。出牌阶段中,玩家可用抢来的特殊卡干扰对手或调整自己卡牌点数,以凑齐20点得分。总共九个回合,回合结束后得分高者胜出。

开发感受

技术栈:

我朋友写后端也是用来练手的,所以学到的技术都一块整上了。

go后端

核心:微服务(consul+grpc),kong网关,gin,redis,mysql

其它:zap日志,viper,nacos,jwt,gorm,sentinal

github地址:github.com/ppeew/twent…

前端

flutter以及一些插件。

UI用masterGo设计出来,然后手写页面并封装组件。下次再用flutter,就不手写了,整上别人的组件库。

github地址:github.com/unitiny/sna…

这么看来,还是后端技术整的活多。

体验:

用flutter开发前端体验还是很不错的

  1. 借鉴了react的思想,将UI和逻辑整合到一个组件类里,内聚性高,因此开发起来特别迅速。
  2. 方法中可返回Widget,数据渲染及组件分离很方便。
  3. 内置组件Column,Row,Stack,在布局上既方便快速,又保证兼容性。
  4. 方方面面都是类,会不自觉地封装组件,或者继承原组件并扩展一些功能。vue也可以做到,但封装的想法没这么强烈,封装起来也没有类方便。

当然flutter的缺点也有

  1. 对web兼容还不是很好,比如我使用Image.network()时,在安卓上无报错,但web上用不了,得改用
    HtmlElementView + ImageElement代替。
  2. web端和安卓端还是要各自开一个项目编码。比如要使用兼容web端的HtmlElementView组件,得导入dart:html库。而安卓环境下没有这个库,是无法在编译运行的。因此,正确做法应先开发web端。完成后再复制项目到安卓环境下运行,将无法编译的部分更换成安卓端的写法。

vue和flutter该怎么选择呢

对于vue和flutter,以后开发用哪个作为主力呢?

我之前也很犹豫这类问题,后来一想,这就是一个用锤子还是用扳手问题,当然得看场景使用,哪个更方便更贴合需求就用哪个呗。因此:

  • 要求多端兼容,但偏向web端,那我会用vue+uniapp开发
  • 要求多端兼容,但偏向安卓端或桌面端,那我会用flutter开发
  • 多端兼容且平等,vue和flutter哪个熟练,开发快就用哪个。
  • 多端部分兼容,那么兼容部分复用,不兼容或需求不同部分各自改动,vue和flutter都可胜任。
  • 难以兼容或需求大为不同,干脆分开各自开发,web端用vue,安卓端/桌面端用flutter。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYTxdW3s' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片