Giter Site home page Giter Site logo

eboot / flutter_exchange_app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thomasgazzoni/flutter_exchange_app

0.0 1.0 0.0 12.6 MB

An experiment to solve some of React Native's arduous design with Flutter

License: MIT License

Java 1.13% Ruby 6.79% Objective-C 2.31% Dart 89.77%

flutter_exchange_app's Introduction

Crypto Exchange Demo App

A Work In Progress ๐Ÿšง crypto exchange app to try off Flutter potential

Why this app?

I have been working on a similar app built with React Native and encounter some problems especially in implementing a custom design therefore I make this project as experiment to try out if those problems could be addressed in a better way using Flutter.

React Native Problems and Flatter Solutions:

1. FlatList sticky header with a transparent background

Requirements

For this situation the whole app has a background image and on top of it we need a:

  • Banner section (with scrolling)
  • TabBar navigation section
  • SortBar section
  • TabView container
  • Scrollable coins items inside each TabView container

When the user scroll up we want to the banner disappear, the TabBar and SortBar stick on top and (if there are many coin items) allow the user to scroll around the items.

React Native way

One why to achieve this in React Native could be move the rendering of the react-native-tab-view (yes, this is the fastest way to the a TabView in React Native app) component inside the FlatList first item together with a SortBar component and use stickyHeaderIndices to make it stick on top when scrolling up.

But still, once we scroll up the list, all the items in the TabView will go under the transparent sticky header.

Flutter way

In Flatter we have CustomScrollView and Slivers that allow us to handle each aspect of the scrolling.

  • For the background image we can customize the Scaffold.
  • For the banner we can use the simple [carousel_slider].(https://pub.dartlang.org/packages/carousel_slider) package.
  • For the content we use slivers of a CustomScrollView and override the physics of the scrolling using ClampingScrollPhysics since we don't want the bouncing effect.
  • The result can be see in the market/main_tab.dart.

Flutter showcase:

  • Sliver to build a custom scroll design
  • Change scrolling physics
  • Carousel banner
  • RxDart and Bloc pattern
  • Localization
  • CodePush

flutter_exchange_app's People

Contributors

thomasgazzoni avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.