Flutter Candies for web

858

2020年鼠年有一个不同以往的开始。

  • 我们为了自己的行为付出了代价,湖北疫情牵动了全国人民的心,影响着每一个人。遥想当年非典,是否人们总是那么健忘,还是说不是切身之痛容易忘记。整个春节,我们躲在家里,不管世界怎么样,总会有那么一些人(医务人员,解放军,消防员,父母...)在危难中逆行。

    开始戴口罩的时候,晚上睡觉的时候都会感觉自己戴着口罩。不管是在大城市,还是在小村庄,大家都是一样的。早上起来关心疫情数字的变化,朋友圈最多的还是疫情,每个人都互相提醒。

    为什么我的眼里常含泪水? 因为我对这土地爱得深沉...我们听到过太多感人的故事,也看到过太多让人愤怒的人和事。人类总是容易感动,也容易忘记,现实离科幻片里面的剧情远吗?我们谁也不知道。没人记得住,那些非典幸存下来的人现在的生活,再过很多年,也许大家也会忘记这次疫情,但别忘记了因你我行为那些本该活着的生命。

    还有几天就返回上海了,相信大部分程序猿是能够远程办公,虽然不方便,但这种时期,不出门就是对社会最大的贡献。望诸位多多保重。

  • 你见过洛杉矶凌晨4点的样子吗?

    除了写代码,玩dota,篮球陪伴着我小学,中学,高中直到大学。记得那个时候,晚自习开始之前,大家都是聊的都是6点体育新闻中的NBA消息。雨中,烈日,篮球场上撒下的汗水,泪水很难再有。有意思的是,我在班里的球服是24号(那时候科比还是8号),没错,我就是班上的科比。科比带来的也许不仅仅是81分,也不仅仅是篮球,而且对待事情的执着态度。If you really want it! ,通过努力,不断的超越自己,哪怕只是进步一点。这也是我生活工作中坚持做的,不轻言放弃。

    最后 Mamba out

  • 这次过春节,带着儿砸回老家,想多陪伴家人,没有带笔记本。随着疫情的严重,上班时间也一再推迟。于是我去借了一 台笔记本,抽空更新了Flutter Candies for web。Web demo 是github page,你懂的,打开请慢慢等待。

    新电脑,要运行web,很方便,只需要去下载vscode和Flutter sdk,石锅一!

ExtendedImage

Web demo for ExtendedImage

  • 完整功能

  • 保存图片,打开图片用js实现

    具体调用代码在_image_picker_web.dart

    js 文件我放在了 web文件夹下面

  • 对于缩放,以后应该Flutter会支持鼠标滚轮,如果你的电脑是触摸,那么使用感受是一致的

LikeButton

Web demo for LikeButton

  • 完整功能

WaterfallFlow

Web demo for WaterfallFlow

  • 完整功能

LoadingMoreList

Web demo for LoadingMoreList

  • 完整功能

PullToRefresh

Web demo for PullToRefresh

  • 完整功能

ExtendedNestedScrollView

Web demo for ExtendedNestedScrollView

  • 完整功能

ExtendedList

Web demo for ExtendedList

  • 完整功能

ExtendedList

Web demo for ExtendedList

  • 完整功能

ExtendedTabs

Web demo for ExtendedTabs

  • 完整功能

ExtendedText ExtendedTextField

因为web主要功能都不支持,我这次没有做web版本的demo,唯一的好消息是,之前的WidgetSpan无法获取位置的问题在dev 1.14.6上面得到了修复。

web demo的一些坑

  • 对于Flutter sdk 版本,高了运行不了,低了有bug,最终我选用的是dev 1.14.6。
Flutter 1.14.6 • channel dev • https://github.com/flutter/flutter.git
Framework • revision fabeb2a16f (8 days ago) • 2020-01-28 07:56:51 -0800
Engine • revision c4229bfbba
Tools • Dart 2.8.0 (build 2.8.0-dev.5.0 fc3af737c7)
  • 调儿发现一个问题,就是用浏览器刷新页面的时候会出错,原因如下,route会给我自动加上 /,而且可以看到,会执行4次,这应该是个web上面的bug。

        //when refresh web, route will as following
        //   /
        //   /fluttercandies:
        //   /fluttercandies:/
        //   /fluttercandies://mainpage
    
        if (kIsWeb && routeName.startsWith('/')) {
          routeName = routeName.replaceFirst('/', '');
        }
    
  • 因为是借的电脑,我在使用fvm的时候发现一个用户提的问题,在win10 电脑上面没法生成link,

调试发现报错日志为 Error Code 1314 - A required privilege is not held by the client

解决也比较简单,就是权限的问题,cmd 或者vscode 使用管理员权限运行就可以了。我之前没发现问题可能因为是win10 专业版,而刚好这台机器是win10 家庭版,权限不一样的原因吧。

结语

这是一个漫长的假期,我们唯一能做的就是在家里,不给社会增加负担。 没有一个冬天不会过去,没有一个春天不会到来

Mamba out!但曼巴精神永在。