Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React Angular CSS Node.Js Typescript HTML5 PHP
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA CompTIA Security+ Microsoft AZ-900
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Data Analysis Data Warehouse Blockchain Business Intelligence
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Mobile Game Development
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin SwiftUI Mobile App Development
Graphic Design Photoshop Adobe Illustrator Drawing Canva Digital Painting InDesign Design Theory Procreate Digital Illustration App
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Life Purpose Mindfulness Sound Therapy Emotional Intelligence Coaching
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Online Business Startup Business Plan Blogging Amazon Kindle Direct Publishing (KDP)
Digital Marketing Social Media Marketing Marketing Strategy Internet Marketing Copywriting Google Analytics Email Marketing Startup Advertising Strategy

DevelopmentMobile DevelopmentGoogle Flutter

Flutter x Riverpod x MVVMで実現するシンプルな設計(Firebase, WebAPI対応)

Flutterを使って開発していますが、ゴチャゴチャしたソースになってしまいます。どうすれば綺麗なソースを実現できるか、4ヶ月間試行錯誤した結果です。テスト手法も盛り込みました!Firebase FirestoreとWebAPIも扱ってます
Rating: 3.6 out of 53.6 (106 ratings)
675 students
Created by さく しん @Flutter修行中
Last updated 7/2022
Japanese
Japanese [Auto]

What you'll learn

  • FlutterでシンプルなGUIを実現するための方法
  • Riverpodの基本的な使用方法
  • RiverpodでMVVMを実現する方法
  • Flutterでテストしやすいソースを作成する方法
  • Flutterの基本的なテスト方法
  • FlutterのMockを使用してテストする方法

Requirements

  • Flutterの基礎知識 (Widget, StatelessWidget, StatefulWidget)があること
  • Flutterの開発環境があること

Description

Flutterでアプリの作成をしてます!以前はsetStateやBLocで状態管理してアプリを開発していました。しかし、どうにも拡張性が低くなって、メンテが難しくなってしまいました。

もっと便利な物はないかと調べると、最近は日本ではRiverpodが主流、ということで、使用してみました。WEBページなどで調べて、一通りマスターしましたが、どうにも綺麗に書けません。JavaFX(JavaのGUIライブラリ)では、もっと気持ちよく書けてたのに!ということで、MVVMパターンを使えば、モデルとビューをうまく切り分けられないかと試行錯誤しました。結果、いい感じにまとめることができました!

この講座では、Riverpodの基本的な使用方法を勉強します。それだけでなく、Riverpodを使用して、MVVMパターンを実現し、ロジックとビューを切り離し、メンテしやすい実装方法を学習します。ロジックとビューを切り離すことは、それぞれ実装できるだけがメリットではありません。それぞれでテストすることが可能になりました。Unit Test、Widget Test、Flutter Golden Testを使用して、内部的にも、外観的にもテストする方法も紹介してます。外からデータを与えたり、Mockを使うテスト手法も紹介してます。

またFirebaseのFirestoreからデータを追加し、riverpodで表示する方法や、WebAPIからのデータをriverpodで表示する方法も分かります。


Riverpod初心者の方はもちろん、中級者の方(ご意見、お待ちしてます)にも参考になると思います!ソースは全て閲覧可能ですので、ご自身の開発に役に立ててください!一緒に綺麗なソースを書いていきましょう!


【履歴】

2021/11/07 riverpod 1.0.0のリリースに伴い、講座との差異の講座を追加しました。ソースは修正しました。

2022/03/26 FutureProviderを使って、MVVMを実装する方法を更新しました。

Who this course is for:

  • Flutterの状態管理を探している人
  • Flutterでソースがごちゃごちゃしちゃう人
  • Flutterでポリモフィズム(多態性)をマスターして、中級プログラマになりたい人

Instructor

さく しん @Flutter修行中
プログラマ
さく しん @Flutter修行中
  • 4.0 Instructor Rating
  • 150 Reviews
  • 896 Students
  • 4 Courses

さくしんと申します。

コンピュータサイエンスの大学の修士まで進み、2社のシステム開発会社、2社にて社内SEとして働いてきました。

個人でもFlutterにてアプリ開発をしております。

実際の開発現場での経験を基に、皆様のプログラムスキルアップに貢献させてください!

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Terms
  • Privacy policy
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.