博客
关于我
Flutter开发初探
阅读量:419 次
发布时间:2019-03-06

本文共 1413 字,大约阅读时间需要 4 分钟。

Flutter学习感想

目前跨端开发比较热门的就是 React Native 和 Flutter 了,到底该选哪门技术似乎也快成了大前端圈的一个热门话题。对于web前端来说,基于web生态的 React Native 应该是一个更加顺畅而自然的选择;但 Flutter 让人动心的地方就是高性能和 跨端UI一致性。而 React Native 发展不太明朗和 Flutter 越发成熟的走势对比促使我从观望的心态转为加入 Flutter。

一、初步体验

这里主要就是记录一下学习 Flutter 的一些感想和看法:

  • 包管理

    Flutter 的包管理和传统的 npm package管理有很大不同。 pubspec.yaml 文件的作用类似于 package.json ,而.yaml 格式也比 json 方便。但是不能用命令行自动安装包却让习惯了 npm 的我觉得麻烦。因为 Flutter 安装依赖包的流程是:

    • 打开网站;
    • 搜索需要的包,得到包的名称和版本;
    • 把包名称和版本填入 pubspec.yaml ,最后才开始下载包。

    这个流程虽然可靠,但让我觉得不够高效。习惯了 npm 的直接命令行安装包,让人觉得麻烦。也许未来 Flutter 能添加命令行工具来自动处理包管理,直接指定包名或版本号就可以下载对应的依赖包。

  • 布局和样式

    Flutter 的布局和样式确实有其独特的方式。与 React Native 的 JSX 或 XML 格式不同, Flutter 更注重 widget 化和 Dart 的热重载特性。

    • 热重载:修改代码后只需重新运行一次,会自动刷新 UI,这大大提升了开发效率。
    • 布局组件:一切都是 widget ,但很多常见的样式属性(如 Center、Align、Padding)需要通过嵌套来实现。这种方式虽然灵活,但也导致了代码嵌套严重,且样式复用困难。
    • 期待 DSL 框架:希望未来能有更适配的布局 DSL ,让布局和样式更直观,减少嵌套,提升代码可读性。
  • JSON 处理

    Dart 作为强类型语言,对 JSON 处理有一定的限制。

    • 类定义:需要为每个 JSON 结构定义对应的 Dart 类,这与 JavaScript 或 TypeScript 的弱类型语言相比显得繁琐。
    • 工具支持:虽然有一些工具库可以简化 JSON 处理流程,例如通过脚本生成 Dart 模型类,但这仍然需要手动操作,缺乏自然流畅。
    • 改进建议:希望 Flutter 能提供更智能的 JSON 支持,类似于 React Native 中的 JSON 模型。
  • 状态管理

    Flutter 的状态管理主要依赖于 setState 和 Provider 框架。

    • ** setState**:简单易学,适合单组件管理状态。
    • 跨组件通信:需要借助 Provider 或 Redux 等库,目前 Redux 的样板代码较多,不够简洁。
    • 期待函数式状态管理:希望 Flutter 能提供类似 React Hooks 的状态管理方式,让状态管理更加简洁和灵活。
  • 二、总结

    说了这么多,本质就是为什么 Flutter 不向以 React 为代表的 web 生态看齐?更大的原因是 Flutter 的很多理念和开发模式其实远远落后于 React 。这也是为什么习惯 React/Vue 的 web 前端 对 Flutter 感觉很别扭不顺手的原因了。

    转载地址:http://pcduz.baihongyu.com/

    你可能感兴趣的文章
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 学习(一):Nginx 下载和启动
    查看>>
    nginx 常用指令配置总结
    查看>>
    Nginx 常用配置清单
    查看>>
    nginx 常用配置记录
    查看>>
    nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    Nginx 的 proxy_pass 使用简介
    查看>>
    Nginx 的配置文件中的 keepalive 介绍
    查看>>
    Nginx 结合 consul 实现动态负载均衡
    查看>>
    Nginx 负载均衡与权重配置解析
    查看>>
    Nginx 负载均衡详解
    查看>>
    nginx 配置 单页面应用的解决方案
    查看>>
    nginx 配置https(一)—— 自签名证书
    查看>>
    nginx 配置~~~本身就是一个静态资源的服务器
    查看>>
    Nginx 配置清单(一篇够用)
    查看>>
    Nginx 配置解析:从基础到高级应用指南
    查看>>
    nginx+php的搭建
    查看>>