乐趣区

关于flutter:Flutter仿京东客户端

背景

从 Flutter 公布 beta 版本就始终在关注 Flutter、很多大厂也都在应用 Flutter 比方字节跳动今日头条、西瓜视频、阿里爸爸的闲鱼、毒 APP,包含咱们公司 (一个卖菜的公司) 也在局部非主流程页面应用 Flutter。都说 Flutter 极其晦涩丑陋,本着再不学习就老了的心态,于是筹备抽些空闲工夫来尝试下 Flutter。最近小端午放假 APP 的几个页面也搭建的差不多了,本着人人为我、我为人人的精力决定写个 blog 给大家分享一下。

为什么仿 JD APP?

因为像 JD 这种电商 APP 无论是业务逻辑还是页面复杂度都是比较复杂的,一来能够体验一下 Flutter 在简单页面晦涩度的体现,二来也能够看下到底 Flutter 是否能真正投入生产环境中。

首页

性能 计划
搜寻滚动吸顶 SliverAppBar + FlexibleSpaceBar
Banner 轮播 flutter_swiper
货架 PageView+GridView
举荐列表 flutter_swiper

分类

性能 计划
banner flutter_swipper
扫一扫 barcode_scan

购物车

性能 计划
商品抉择
倒计时 Timer.periodic
商品数量增减 自定义组件

我的

性能 计划
header 滚动突变 监听滚动地位设置 Appbar opacity
其它 页面成果还原

商详

I love China, love huawei


性能 计划 备注
header 滚动突变
商品轮播图 flutter_swiper
地址抉择 city_pickers
规格抉择 showCupertinoModalPopup
商品详情图 webview_flutter TODO Android 超过 5500 高度会黑屏解体 须要期待网页加载完结获取网页高度后从新设置 webview 高度否则会内存溢出

设置

注册登录

性能 计划 备注
登录注册 leancloud 注册登录图省事,整了一个页面(点注册按钮即应用以后输出的用户名明码注册)
账密 账号 admin 明码 admin

GIT 仓库地址

APP 端:

https://github.com/DiscoverForever/learn_flutter

Server 端:

https://github.com/DiscoverForever/flutter_mock_server

???? 欢送 PR 感觉不错的能够给个 star✨

我的项目目录构造

# 我的项目应用第三方库一览

name: learn_flutter
description: A new Flutter project.
version: 1.0.0+1

environment:
  sdk: ">=2.2.2 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  # 轮播插件
  flutter_swiper: ^1.1.6
  # toast
  fluttertoast: ^4.0.1
  # 网络申请
  dio: ^3.0.8
  # webview
  # flutter_webview_plugin: ^0.3.5
  # webview
  webview_flutter: ^0.3.19
  json_annotation: ^3.0.0
  # 城市选择器
  city_pickers: ^0.1.30
  # 扫描插件
  barcode_scan: ^2.0.1
  # Leancloud
  leancloud_storage: ^0.2.3
  # 官网缓存插件
  shared_preferences: ^0.5.6
  # provide
  provide: ^1.0.2
dev_dependencies:
  flutter_test:
    sdk: flutter
  # json generator
  build_runner: ^1.0.0
  json_serializable: ^3.3.0

  uses-material-design: true


  assets:
    - lib/assets/json/movie.json
 
  fonts:
  - family: FlamanteRoma
    fonts:
    - asset: lib/assets/fonts/Flamante-Roma-Medium.ttf
    - asset: lib/assets/fonts/Flamante-Roma-MediumItalic.ttf

  - family: LatoBold
    fonts:
    - asset: lib/assets/fonts/Lato-Bold.ttf

  - family: PingFang
    fonts:
    - asset: lib/assets/fonts/PingFang.ttf

免责申明

⚠️本 APP 仅限于学习交换应用,我的项目中应用的图片及字体等资源如有侵权请分割作者删除

⚠️本 APP 接口数据均为 mock,请勿用于其它商业目标

⚠️如应用本我的项目代码造成侵权与作者无关

我这求生欲????

退出移动版