Closed LuchoTurtle closed 1 year ago
@LuchoTurtle this PR is looking great so far! ๐ You're doing a superb job of re-writing this guide and it will be immensely useful to us and the wider community. ๐
Quick Feedback: please comment as your adding things so that anyone following along can see what you're learning and push your code regularly so you don't accumulate too much Work-in-Progress.
Also, try to reference the issue in your commit messages so that the history is easier to follow.
feat: Add state management. #68
If we can be consistent with referencing issues in our commits then it makes it easier for people in the future to understand the changes when they git blame
. ๐ญ
Note: I need to get better at this myself. Not picking on you specifically. Just something I noticed. ๐
Suggested reading on WIP: In Agile Development (so Scrum, Kanban, etc.) Work-in-Progress is classed as "Waste" ... I know it's harsh but it's fact. Basically every half-finished Pull Request I've worked on is "wasted effort" https://agilevelocity.com/lean-economics-101-the-power-of-wip-limits If the term "Work In Progress" is new to you, a more real-world example might be helpful: https://opexlearning.com/resources/5-practical-examples-of-work-in-process/26648/ And for a more in-depth scientific article, see: "Lean and agile manufacturing for work-in-process (WIP) control": https://www.sciencedirect.com/science/article/pii/S2214785320401907
The PR should be almost done, at this point.
I'm adding a demo app and a walkthrough so it goes in line with the rest of the learn-X
repositories.
I'm currently in the process of testing the app and widget to get decent coverage going, although I'm having trouble with Widget Testing and with dependency injection.
Do not worry, this will all be documented in the README itself, so after I crack on with this, I will document what I did ๐ป
I just pushed the last changes. There is a demo app inside the demo_app
folder that is fully tested. I've added a testing guide with coverage to the README.
The other PRs don't really make sense to be added to this repository. One seems to be an unfinished change to an app that shows random GIFs, which isn't present in this repo now. The other relates to env variables, which I personally don't think is beginner-friendly and a concept that isn't really needed for anyone that is starting Flutter. But that's just my opinion ๐ .
Hopefully, this is good enough! @nelsonic ๐
This is going to require a bit more time to review. I'm going to do the full setup on my newer MBP and go through each step from first principals.
Updating the screenshot in the README.md
as it shows the trend much clearer:
https://trends.google.com/trends/explore?date=today%205-y&q=flutter,react%20native
In Europe, iPhone
ownership/use correlates strongly to wealth of the nation;
Monaco and Norway the two countries with the highest GDP/Capita top the table with 69.91%
and 68.89%
respectively.
https://mezha.media/en/2022/10/10/percentage-of-iphone-users-in-different-european-countries/
Wow, Android Studio is massive!! ๐ฎ
1.41 GB
๐คฏOur way or the high way ...
Downloading ... (time to re-fill my water bottle ... โณ )
cd demo_app
flutter doctor
Running "flutter pub get" in flutter_tools... 6.9s
Doctor summary (to see all details, run flutter doctor -v):
[โ] Flutter (Channel stable, 3.3.8, on macOS 13.0.1 22A400 darwin-arm, locale en-GB)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
โ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
โ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[โ] Xcode - develop for iOS and macOS
โ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
โ CocoaPods not installed.
CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/platform-plugins
To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[โ] Chrome - develop for the web
[โ] Android Studio (version 2021.3)
[โ] VS Code (version 1.73.1)
[โ] Connected device (2 available)
[โ] HTTP Host Availability
! Doctor found issues in 2 categories.
flutter doctor --android-licenses
Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to resolve this.
Accept? (y/N): y
All SDK package licenses accepted
No Thanks.
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[โ] Flutter (Channel stable, 3.3.8, on macOS 13.0.1 22A400 darwin-arm, locale en-GB)
[โ] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[โ] Xcode - develop for iOS and macOS (Xcode 14.1)
[โ] Chrome - develop for the web
[โ] Android Studio (version 2021.3)
[โ] VS Code (version 1.73.1)
[โ] Connected device (2 available)
[โ] HTTP Host Availability
โข No issues found!
@nelsonic I'm going to be reviewing this README for typos and formatting and will commit them to make your life easier.
Formatted and fixed typos on README. Also fixed CI (working directory was changed with this PR).
:exclamation: No coverage uploaded for pull request base (
main@b665295
). Click here to learn what that means. The diff coverage isn/a
.
@@ Coverage Diff @@
## main #69 +/- ##
========================================
Coverage ? 100.00%
========================================
Files ? 4
Lines ? 70
Branches ? 0
========================================
Hits ? 70
Misses ? 0
Partials ? 0
:mega: Weโre building smart automated test selection to slash your CI/CD build times. Learn more
closes #68
Initially thought I could tackle this in the morning but it took much longer than expected since I tried to actually understand what I was learning and writing about. Much of the information in the README was either insufficient or outdated, so I had to quite literally remake the whole README from scratch.
I'm still wanting to add a few more sections and a simple application demo to showcase most of the principles showcased in the README.
I'm going to additionally remake some of the guides that are present, as well. So this could take a little while.