flutter如何引用传值_Flutter 自学记录2

【核心:已经入门,先精通Flutter布局】

    自学flutter的第25天,接上个周末我在书城看完了dart数据,以及对flutter数据共享机制和实现widget更新,widget的继承关系,weidget和elemnet以及renderobject关系的学习。我基本上对数据通知,widget生命周期,刷新背后的知识,代码到屏幕绘制的各自关系和流程与了认知。现在去看flutter大型项目代码以及没有困难和陌生感。

   今天我开始新建Flutter代码工程,把之前provider例子的代码删除了。因为我发现现在还不能把代码写的那么复杂,必须从简单的开始。我下载了一些开源demo,写界面的时候可以参考。目前我现在一个简单的业务界面来开发。

ac758612ed7d95da51f03d0421338c6f.png

aad96a0aadde2a2aba3d4dcf2d4e3f7f.png

182257546cc871e41f60cbf5c20ad1ce.png

68fc55d75da98fb150cb3e8040b6fe0a.png

   在写的过程中,我学会到https://pub.dev/flutter/packages找对应的开源组件。

   但是写的过程中,我发现了需要必须补充的知识。那就是先精通Flutter的布局,好比现在开发native我可以使用stackview+uiscrollview+uiview完成任何东西。

    Flutter有很多空间和布局容易,很多名字很熟悉,但是不知道它在flutter里面效果和详细的用法。这个周末,我决定把flutter的布局容器全部理解清楚, 写代码测试效果,组合使用一下。好比uistackview也是在很多实践中用到了随便组合,水平垂直,小的stakview嵌大的stackview。Flutter也是这样,我需要理解清楚界面高和宽,还有如何让widget宽或者高自适应。

   目前我已经测试了channel,native代码可以和Flutter正常通信,通过客户端请求接口数据。还学会了使用provider做到值和UI的绑定,如果做全局共享,跨页面通信,实践了引用图片资源,如果使用三方框架。

  最后一步就是写代码实践了。开始我也写flutter写不快,不过不用担心。现在没有必要去拷贝那些大型项目的代码来用直接生搬硬套。有些他们的代码写的也不好,这是真的。

        第一步:我们先自己一个个页面先用静态数据搭建,把页面效果实现出来。

第二步把事件和页面跳转实现完成。

第三步,把传参数逻辑整理完整。

第四步就可以把临时数据改成通过异步获取。

第五步,我可以在异步获取的是写loading,error,network错误这些功能页面了。

第六步,可以写公共的工具类和全局资源,全局状态等管理

   通过上面一步步把复杂的工程搭建出来,这样才能知道每个细节,才能在以后快速解决问题。通过第一个项目慢慢把该有的脚手架搭建,我之前使用swift搭建存native话费了两个月。我相信flutter差不多的时间。

      这样我开发完成这个项目,就有了宝贵的积累,以后开发项目速度就会翻倍啦。不好的模块,以后也可以自己快速替换。如果一开始拿那些庞大的项目直接套自己项目,结果就是不知道一些东西为什么要用,这样是不行的。但是开始我们可以打开几个项目,有一些代码可以直接参考,这个是有必要的。

  Flutter只是把很多native开发的东西,它重新实现了一套,因为它自己的渲染,所以很有必要理解清楚它如何实现绘制管理。目前还有很多Flutter的争论,例如很多isuue,对模块接入不是很友好。的确,刚刚更新iOS14 debug模式如果不是xcode运行,直接打开APP会直接crash。那么遇到这个问题怎么办呢?这个直接到Flutter github项目看isuue就可以,或者到overstackfollow找答案。

   到现在我已经找到了Flutter的钥匙,只需写界面,写业务,就可以很快熟悉开发。等我把精通flutter布局和组件动态更新,相信我就可以快速开发任何界面。之后遇到的就是踩坑了,比如现在嵌入式moduel,我是使用FlutterViewController管理界面,但是导航跳转会出现native和Flutter自己的导航不统一的问题,侧滑手势。对于这样需要自己动脑筋去解决了。例如导航栏样式需需要自己做定制,present式的弹框,全局蒙层,提示框都需要自己实践。有了之前native开发经验,相信我们有自己的思路,不是难题。程序员就是需要自己解决问题,在基础上有点子和创造。

     也许存Flutter项目会容易点,嵌入式会复杂一些。但是对我来说,差别没有多少,两者几乎一样,我都实践中去弄出来。学习Flutter主要是为了跨端,提高开发效率,我选择这个框架深入使用下去,不会半途而废。

   另外关于flutter的文章分享到此结束了,之后就是遇到问题解决问题,和native一样,flutter社区该有的,你之前怎么学习和使用,它也一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值