[Code Factory] [Beginner] Flutter 3.0 App Development - Escape Beginner Status Today with 10 Projects!
Build both iOS and Android apps with just one code! Flutter beginner course by Code Factory! Build a solid foundation with detailed theory and exciting projects!
10 projects in my hands! 💁♀️💁♂️ Learn based on theory and learn how to implement various functions.
Kyobo Bookstore 2023 first half best-selling lecture taught directly by the author
The only app development book in the TOP30, ranked 23rd in the Computer/IT category
Achieve Super Rookie in 2022 with Flutter alone!
Inflearn Bestseller of 2023!
A course sought after by large corporations! We guarantee the best course as proven by reviews!
⏰ Flutter Beginner's Course's Timeline
July 18, 2022: 100% support for Flutter 3.0 version
May 10, 2023: 100% support for Flutter 3.10 version
December 4, 2023: Completed re-filming of the environment setup lecture to match the latest environment.
April 22, 2024: This lecture will be completely re-filmed based on the latest Flutter and plugin versions (old versions will be deleted on August 31, 2024)
Introducing 10 projects 🚩
#1 Hello World
Get familiar with Android Studio and learn how to draw your app's UI using Flutter.
Try the Text Widget
Try changing the background color
Try changing the text color
#2 Splash Screen
Create a simple Splash Screen that acts as the first page of any app
Using Asset Images
Using the Circular Progress Indicator Widget
Learn how to arrange widgets using the Column widget.
#3 Blog Web App
Packaging existing websites into apps using Web View technology
Using open source packages
Change Native Settings by Platform
Using the WebView widget
Open Javascript Permissions
Open the HTTP protocol
#4 Electronic Photo Frame
Making an electronic photo frame that automatically rolls when left alone and can be swiped directly
Using the Page View Widget
Executing a function periodically with the Timer class
Stateful Widget in action
#5 The day we first met U&I
Creating a D-Day app that can be used with a lover
Apply Font
Using the Date Picker
Date Time class practical use
How to use themes in Flutter
Using Cupertino Dialog
#6 Random Number Generator
Create an app that generates 3 random numbers below a specified number each time you press a button
Random number generation
Simple Navigation and Data Transmission
Using the Slider Widget
Widget rendering and code organization using functional programming
#7 Video Player
Creating an app that plays videos
Using the Stack Widget
Using the Image Picker Library
Using the Video Player Library
Create video controls to play, stop, rewind 3 seconds, and advance 3 seconds
#8 Going to work today too
Creating a simple location-based serviceusing Google Maps
Setting up and using Google Maps
Show my location on a map using location services
Finding the distance between specific locations
Show markers on the map
Mark a circle on the map
Move the camera to a specific location
Using Material Dialog
#9 LIVE- Video call
Creating a video calling app using Agora API
Creating a video call feature using the Agora API
Try Box Shadow
#10 Calendar Scheduler
Creating a calendar scheduler app that can store data long term
Implementing a delete animation with the Dismissible widget
Automatically detect changes in data through streams
#11 Fine dust app
Learn how to make network requests using HTTP communication!
HTTP requests using the Dio package
Try using government Open API
Using the Hive NoSQL Database
Offline support and caching preview
Using the Drawer Widget
CustomScrollView in practice
You can't miss the theory either! ✍
Stateful Widget
You can learn about the life cycle of a Stateful Widget and directly verify through practice when the functions corresponding to each life cycle are executed.
Row and Column Learn about the parameters of the Row and Column widgets, the most commonly used widgets when placing widgets in Flutter.
Date Time Learn how to work with date and time related data using the Date Time class, and also learn how to manipulate Date Time with Duration.
Const Constructor Get rid of the yellow Warning lines that appear every time you write code using Const Constructor and learn why using Const Constructor is good for Flutter app performance.
Buttons Learn how to use and decorate the Elevated Button, Text Button, and Outlined Button provided by default in Flutter.
Navigation Learn about the various functions of Navigation that allow you to move between screens, and learn how to transfer data between screens.
Stream Builder and Future Builder Learn about Stream Builder and Future Builder, the most effective and easiest way to determine the UI of a screen based on the result of an asynchronous request.
Buy vs Build Learn how to decide whether to build something yourself or pay for it for a specific feature.
Scrollable Widgets Learn about widgets that enable scrolling in Flutter!
Using the Flutter framework Create your own simple app 📖
Flutter vs React Native Google Trends
Flutter is already one of the most powerful cross-platform frameworks used by many companies. As you can see from the chart, it is growing rapidly, surpassing React Native, which has been the leader for a long time.
This course is designed to be easy and friendly for beginners, and to mix theories with projects to capture both interest and depth of knowledge. It is designed to be a form where you can dig deeper into theories by designing a real-life situation and proceeding with the project, and why this knowledge should be acquired.
I've collected course reviews 📜
Even if you are a beginner developer or a Flutter beginner, after taking this course you will gain confidence in Flutter and be able to develop simple apps on your own and acquire knowledge beyond the beginner level. 🏭 Code Factory YouTube There is a lot of content in Edo!
Best communication 🧑🏼🏫
I interact with students through Q&A sessions via YouTube Live every week!
If you would like to receive YouTube live push notifications, please subscribe to the Code Factory YouTube channel below!
Must Have Code Factory's Flutter Programming book is a book that I personally wrote after investing a long time in it! There are some contents that overlap with the beginner's lecture, and there are also lectures on Firebase and advertisements that are not in the beginner's lecture! Recommended for those who like eBooks or physical books! The book can be found at major bookstores such as Kyobo Bookstore, Yes24, and Aladdin! Please click on the image below to move!
Other ✔️
We'll answer your questions in advance 💬
Q. Why should I learn Flutter?
Flutter is a cross-platform app development framework. Originally, iOS apps and Android apps had to be developed using different languages and different frameworks, but Flutter can be released on both platforms with a single source code. So you can save a lot of money and time when developing an app. In addition, it is a framework developed by Google, and Google is pushing it a lot these days, so it is a framework with a promising future, so it is good to learn about it.
Q. Is it definitely better to learn Flutter than React Native or Native?
Every frameworkhas its pros and consdepending on the situation and purpose,so the answer to this type of question is always 'NO'. Flutter can release apps on both iOS and Android platforms very quickly with a single source code, but it still lacks many libraries compared to Native and is slightly behind in completeness. React Native has the advantage of using Javascript, one of the most popular languages in the world, and because it has been around for a long time, it is still more popular than Flutter.
Q. I have never learned programming before. Can I still take the course? Is it okay even if I am not a major?
Many people have successfully completed their first programming in their lives through my YouTube videos. Even if it is not Flutter, all programming has a considerable barrier to entry for beginners, but in this lecture, I have tried hard to lower the barrier to entry as much as possible. First, watch the Dart language lecture that is open to the public for free and check the difficulty level. If it is difficult, get help from the official Code Factory community.
If you purchase the Flutter course, you can join the Code Factory Discord server Flutter Premium channel! If you join the Discord server and send me the email you purchased the course with as a message, I will register you in the Premium channel! If you join the Premium channel, all questions will be answered with priority!
Q. Is this a completed lecture?
Currently, the course structure is suitable for the purpose of escaping from the beginner level . Flutter is planned to be divided into three difficulty levels: beginner, intermediate, and advanced, and UI, simple popular library usage, etc. will all be added to the beginner course. There is still a lot of knowledge left to convey to you, so please look forward to it!
Q. Do I need to have an Apple Mac?
You can follow the lectures on a Windows computer, but you can't build iOS apps. That's because Apple designed iOS apps to be built only on Macs, Apple's operating system. Flutter is very consistent across platforms, so if you code while looking at an Android screen on a Windows computer, you can think of the same app as the same code when you build it on iOS later. If you want to distribute it, I recommend buying an old MacBook that's compatible with Flutter.
Q. Do I need to have good computer specs?
Since it is easier to develop if you run a simulator/emulator, if your computer specs are too low, it may run slowly. If your computer specs are low, I recommend coding using an actual device! The required specs may change from time to time, so I will leave a link. Windows Requirements / Mac Requirements / Linux Requirements
Q. Flutter installation fails.
To become a good developer, the ability to isolate and solve problems is also very important, so try hard and if it doesn't work out,💬 Code Factory Kakao Open TalkPlease contact us!
Q. There is a problem with the video.
For questions related to video playback and internet communication, please contact Inflearn. If the order of the video is wrong or if there are parts that are difficult to understand due to poor editing, please contact us directly through Open Talk. I will make improvements as a top priority and upload them again! I also check several times, but there may be mistakes because I manage so many videos.
Q. To what extent does the class cover the content?
I've tried to cover everything you need to know to build a UI in Flutter. Additionally, I plan to include simple front-end database management, network requests, and basic state management.
What's currently planned to be added
Lecture on HTTP requests (using Dio and Retrofit)
Data management and simple caching using Hive
Simple state management using Provider
Popular state management packages other than the Provider package will be covered in the intermediate course! (BloC, GetX, etc.) In addition, if there is any knowledge or technology that you would like me to develop, please share it with me through various channels. I will actively consider it!
Q. Are there any tutorials on how to release apps on the Play Store or App Store?
We will add it to the beginner course. If you want to try it out before the course comes out, please check the guide on the official Flutter website. Release Android App / Release iOS App
Other ✔️
(1) Other channels where you can get help and learn!
The images I provide in the lectures are images that I purchased for a fee. I purchased the rights to create and distribute my works, but you must neverdistribute the images to others or on the Internet! Do not use the images for purposes other than studying, as this may result in legal issues due to copyright infringement.
(3) How to ask questions
One way to really improve your skills quickly while learning programming is to learn how to ask the right questions. Because of the nature of programming, it's hard to look at the entire code. So if you upload the entire code of the widget that's causing the problem and say, "This doesn't work!", it's hard for me to answer. When asking a question, if you organize it well in the three steps below, we can communicate and answer you much faster!
1️⃣ How do I think it should work? 2️⃣ How it works now 3️⃣ Where exactly is the code and what problems are occurring (if there are even examples👏)
(4) Additional confirmed lectures
Fine dust measurement app using government API (complete)
State management using the Provider package (refer to Code Factory Intermediate Course Riverpod [Provider 100% compatible])
Tôi là một nhà phát triển với 17 năm kinh nghiệm. Bài giảng này được khuyến khích cho những người mới làm quen với Flutter và rất hữu ích cho các dự án thực tế.
Không có bài giảng nào hay như bài giảng này.
Trong trường hợp của tôi, tôi đã học khoảng 3 năm thông qua sách, YouTube và các bài giảng tự hướng dẫn của những người hướng dẫn khác, nhưng đây mới là vấn đề thực sự.
Nếu bạn có một số kiến thức cơ bản về Flutter, bạn có thể bắt đầu bằng cách xem phần cuối cùng, ứng dụng bụi mịn. Khóa học được giải thích rõ ràng đến mức không hề lãng phí tiền bạc và tôi cảm thấy nó đáp ứng đầy đủ những kiến thức cơ bản cũng như công cụ phát triển cần thiết của một nhà phát triển. Tôi đang là nhà phát triển năm thứ 17 và vẫn còn thiếu nhiều kỹ năng, nhưng lớp học này thực sự đã giúp tôi rất nhiều. Tôi cũng có kỳ vọng cao cho phần tiếp theo. Xin đừng làm vội và hãy giữ nó tốt như hiện tại nhé ^^
Trong một bài giảng trực tuyến điển hình, người hướng dẫn đang nói chuyện trên màn hình và học sinh bận rộn theo dõi, nhưng trong bài giảng này, người hướng dẫn trực tiếp giúp sửa lỗi và sửa lỗi bài giảng thông qua cộng đồng trực tuyến. Về mặt đó, tôi có thể học hiệu quả như các bài giảng ngoại tuyến. Và nếu may mắn, bạn có thể nghe người hướng dẫn hát trực tiếp. Thật tuyệt vời!
Lúc đầu, thuật ngữ bối cảnh được sử dụng rất nhiều, nhưng dù bạn có kiến thức sẵn đến đâu, tôi nghĩ sẽ tốt hơn nếu chỉ nêu ngắn gọn ngay từ đầu. Nó cứ xuất hiện từ đầu đến giữa bài giảng nhưng mọi người cứ bỏ qua và nói sẽ kể cho bạn sau, điều này khá bực bội. Tất nhiên, bạn có thể Google và tự tìm hiểu, nhưng tôi sẽ để lại một vài từ như thế này cho những sinh viên chưa biết.
Xin chào, tôi xin lỗi vì bạn đã cảm thấy thất vọng. Bối cảnh có nghĩa là bối cảnh trong tiếng Hàn. Trên thực tế, bạn có thể sử dụng ngữ cảnh để xác định trạng thái hiện tại của cây widget. Vì vậy, bằng cách sử dụng Theme.of(context) và MediaQuery.of(context), bạn có thể lấy Theme hoặc MediaQuery nằm ở đầu cây widget!
Cuối cùng thì mình cũng nghe hết rồi, chỉ nghe thôi chứ không hề biết gì về Flutter, nhưng mình đã cảm nhận được bố cục và hình vẽ của màn hình.
Tôi vẫn chưa biết khi tạo màn hình cần những widget nào, nhưng nếu biết tên widget, tôi nghĩ mình có thể vẽ nó bằng tài liệu hoặc Google.
Trong các bài giảng bổ sung hoặc bài giảng trung cấp, sẽ rất tuyệt nếu có một ví dụ giống với một ứng dụng thực tế trong đó màn hình giới thiệu, màn hình giới thiệu, đăng nhập, giao tiếp http, v.v., là những chức năng thường được sử dụng trong ứng dụng thực, được cấu trúc trong một ứng dụng!
Xin chào! Một dự án với cấu trúc chính xác như vậy đang được tập hợp lại. Có vẻ như đây sẽ là bài giảng trung cấp mà bạn muốn! Ngoài ra, nếu bạn tham gia thêm một bài giảng về quản lý trạng thái sâu, quản lý hệ thống bộ nhớ đệm, lập mô hình dữ liệu, phản hồi tối ưu và phân trang, chúng tôi sẽ giúp bạn thành thạo việc tích hợp API REST.
Xin chào Code Factory, tôi hiện đang sống ở Canada và được hỏi về khả năng làm việc ở nước ngoài trước khi tham gia lớp học Đây là Flutter Nubby. Trong khi nghe bài giảng, tôi đang thực hiện một số dự án phụ và nghiên cứu riêng về iOS nên đã bị chậm trễ trong việc hoàn thành khóa học, nhưng cuối cùng tôi cũng đã hoàn thành việc học mà mình đã trì hoãn. Tôi đã tham gia một số bài giảng về Flutter bằng tiếng Hàn hoặc tiếng Anh, nhưng tôi nghĩ cách tiếp cận và cách hiểu của Code Factory cho đến nay là tốt nhất. Tôi vẫn chưa kiếm được việc làm, nhưng nhờ Code Factory, việc phát triển với Flutter đã trở nên rất thuận tiện và sự hiểu biết của tôi về lý do và cách viết mã cũng như nơi tìm mã đã được cải thiện. Khi những người xung quanh nói rằng họ muốn học Flutter, tôi luôn giới thiệu khóa học này chỉ dành cho người Hàn Quốc. Cảm ơn bạn đã tạo ra một khóa học tuyệt vời. Sau lịch trình bận rộn của mình, tôi sẽ cố gắng hết sức để tham gia các lớp trung cấp trong khi chuẩn bị đi làm! Cảm ơn!!