Flutter 新闻客户端 - 06 代码规范、业务代码组织、新闻首页实现

该博客介绍了Flutter应用的代码规范,包括官方和阿里的规范,并推荐了Chrome插件<彩云小译>。此外,探讨了业务代码的组织方式,如redux、fish-redux和bloc架构。重点讲解了新闻首页的实现,分析了界面组成并提供了相关代码实现。
摘要由CSDN通过智能技术生成

B站视频

https://www.bilibili.com/video/BV1Pp4y1C7hx

1 本节目标

  • 代码规范
  • 业务代码组织
  • 首页代码编写

2 代码规范

2.1 官方代码规范

https://dart.dev/guides/language/effective-dart

2.3 chrome 插件 <彩云小译 - 网页翻译插件>

https://chrome.google.com/webstore/detail/lingocloud-web-translatio/jmpepeebcbihafjjadogphmbgiffiajh

2.4 阿里项目规范

https://github.com/alibaba/flutter-go/blob/master/Flutter_Go%20%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83.md

3 业务界面代码组织

3.1 redux、fish-redux

  • redux 架构

  • fish-redux 架构

进一步的细分,进行规范

https://github.com/alibaba/fish-redux/tree/master/doc
https://medium.com/@dave790602/flutter-architecture-fish-redux-9b753912224a

  • fish-redux 代码

3.2 bloc

  • 架构

https://bloclibrary.dev/#/

  • 代码组织

3.3 简单就是美

3.4 如何平衡

  • 是否团队开发
  • 是否简单业务(20 页面)

  • 是否重交互(视频社交、聊天 A)

4 新闻首页实现

4.1 界面组成分析

  • 分类导航、推荐新闻、频道导航

  • 新闻列表、广告 ad、邮件订阅

4.2 代码框架

...
class _MainPageState extends State<MainPage> {

  @override
  void initState() {
    super.initState();
    _loadAllData();
  }

  // 读取所有数据
  _loadAllData() async {
  }

  // 分类菜单
  Widget _buildCategories() {
    return Container();
  }

  // 推荐阅读
  Widget _buildRecommend() {
    return Container();
  }

  // 频道
  Widget _buildChannels() {
    return Container();
  }

  // 新闻列表
  Widget _buildNewsList() {
    return Container();
  }

  // ad 广告条
  // 邮件订阅
  Widget _buildEmailSubscribe() {
    return newsletterWidget();
  }

  @override
  Widget build(BuildContext context) {
    return SingleChildScrollView(
        child: Column(
          children: <Widget>[
            _buildCategories(),
            Divider(height: 1),
            _buildRecommend(),
            Divider(height: 1),
            _buildChannels(),
            Divider(height: 1),
            _buildNewsList(),
            Divider(height: 1),
            _buildEmailSubscribe(),
          ],
        ),
      );
  }
}

4.3 实现业务

  • 创建 widget 单独文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值