|
1 | 1 | # mobile |
2 | 2 |
|
3 | | -The Flutter Devs ke mobile application |
| 3 | +A new Flutter project. |
4 | 4 |
|
5 | 5 | ## Getting Started |
6 | 6 |
|
7 | | -This project is a starting point for the flutter devs ke mobile app |
8 | | -Since the application is made using flutter, you will first have to install and set up [Flutter](https://docs.flutter.dev/get-started/install) |
| 7 | +This project is a starting point for a Flutter application. |
9 | 8 |
|
10 | | -Fork this repository |
11 | | -Clone the forked repository. Replace "[Git username]" with your GitHub username |
| 9 | +A few resources to get you started if this is your first Flutter project: |
12 | 10 |
|
13 | | -``` |
14 | | - git clone https://github.com/[Git username]/flutter_ke.git |
15 | | -``` |
16 | | - |
17 | | -Go to the mobile folder: |
18 | | - |
19 | | -``` |
20 | | - cd mobile |
21 | | -``` |
22 | | - |
23 | | -Get the dependencies |
24 | | - |
25 | | -``` |
26 | | - flutter pub get |
27 | | -``` |
28 | | - |
29 | | -Use build_runner to generate required files |
30 | | -``` |
31 | | - dart run build_runner watch |
32 | | -``` |
33 | | - |
34 | | -Finally run the project and make changes as you wish |
35 | | -``` |
36 | | - flutter run |
37 | | -``` |
38 | | - |
39 | | -## Documentation |
40 | | - |
41 | | -### Code generation |
42 | | - |
43 | | -This project uses code generation through freezed and riverpod. Code generation can be a divisive topic. |
44 | | -[Here's why we chose to use code generation](https://medium.com/@michael.mboya/flutter-why-generate-code-42c09fd386a3) |
45 | | - |
46 | | -### State Management - Riverpod |
47 | | - |
48 | | -State management is a hot topic within flutter. The choice of one greatly impacts the arhitecture of |
49 | | -the app. This [article](https://medium.com/@michael.mboya/building-flutter-kenya-why-we-use-riverpod-b7fc334a27d1) explains the reasoning behind choosing riverpod |
50 | | - |
51 | | -### Routing package - gorouter |
52 | | - |
53 | | -[gorouter](https://pub.dev/) on pub.dev. |
54 | | -Gorouter is a routing package for flutter that uses the Router API providing convinient, url-based API for navigating between different screens. |
55 | | -We chose gorouter for our project because you can define url patterns, handle url navigation, deep linking and its rich set of features. |
56 | | - |
57 | | -Features and pros of using gorouter |
58 | | -- Named routes |
59 | | -- Parsing path and query params with a templet syntax, eg "user/:id" |
60 | | -- Subroutes - displaying multiple screens for a destination |
61 | | -- Supports redirection |
62 | | -- Support for multiple navigators via [ShellRoute](https://pub.dev/documentation/go_router/latest/go_router/ShellRoute-class.html) |
63 | | -- Supports both Material and Cupertino apps |
64 | | -- Type-safe routes |
65 | | -- Custom transitions and animations |
66 | | -- Elegant and declarative approach to routing |
67 | | - |
68 | | -Cons of using gorouter |
69 | | -- There is a potential increase in the size of our application due to using gorouter package. |
70 | | -- Learning curve, Our contributers that have been using the default inbuilt routing package will have to familiarize and learn how to use it. |
| 11 | +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) |
| 12 | +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) |
71 | 13 |
|
| 14 | +For help getting started with Flutter development, view the |
| 15 | +[online documentation](https://docs.flutter.dev/), which offers tutorials, |
| 16 | +samples, guidance on mobile development, and a full API reference. |
0 commit comments