前言
早听说flutter多端兼容,上手容易,便学习了下,果然感受到对新手的友好气息。刚好我有个朋友用go开发了小游戏的后台,缺个前端,我便接下当练手项目。
游戏介绍
游戏地址:
欢迎大家来体验。
游戏界面:
大厅
房间
游戏
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开发前端体验还是很不错的
- 借鉴了react的思想,将UI和逻辑整合到一个组件类里,内聚性高,因此开发起来特别迅速。
- 方法中可返回Widget,数据渲染及组件分离很方便。
- 内置组件Column,Row,Stack,在布局上既方便快速,又保证兼容性。
- 方方面面都是类,会不自觉地封装组件,或者继承原组件并扩展一些功能。vue也可以做到,但封装的想法没这么强烈,封装起来也没有类方便。
当然flutter的缺点也有
- 对web兼容还不是很好,比如我使用Image.network()时,在安卓上无报错,但web上用不了,得改用
HtmlElementView + ImageElement代替。 - web端和安卓端还是要各自开一个项目编码。比如要使用兼容web端的HtmlElementView组件,得导入dart:html库。而安卓环境下没有这个库,是无法在编译运行的。因此,正确做法应先开发web端。完成后再复制项目到安卓环境下运行,将无法编译的部分更换成安卓端的写法。
vue和flutter该怎么选择呢
对于vue和flutter,以后开发用哪个作为主力呢?
我之前也很犹豫这类问题,后来一想,这就是一个用锤子还是用扳手问题,当然得看场景使用,哪个更方便更贴合需求就用哪个呗。因此:
- 要求多端兼容,但偏向web端,那我会用vue+uniapp开发
- 要求多端兼容,但偏向安卓端或桌面端,那我会用flutter开发
- 多端兼容且平等,vue和flutter哪个熟练,开发快就用哪个。
- 多端部分兼容,那么兼容部分复用,不兼容或需求不同部分各自改动,vue和flutter都可胜任。
- 难以兼容或需求大为不同,干脆分开各自开发,web端用vue,安卓端/桌面端用flutter。
© 版权声明
文章版权归作者所有,未经允许请勿转载,侵权请联系 admin@trc20.tw 删除。
THE END