Join Ruby Learner live cohorts, full-length recordings, and guided playlists built by your instructors.
We are preparing the latest course details.
Review the outline, pricing, and FAQs before joining.
Course
Flutter development ကို Dart programming အစကနေ စပြီး လေ့လာသွားမယ့် class ၁ ခုပဲ ဖြစ်ပါတယ်။ Mobile development တင်မကပဲ Flutter web ကိုပါ ထည့်သွင်းပြီးလေ့လာသွားမှာဖြစ်ပါတယ်။ LLM, AI agent နဲ့ on device AI တွေအကြောင်းပါ ထည့်သွင်းလေ့လာသွားမှာဖြစ်ပါတယ်။ သင်တန်းကာလ ကတော့ ၄ လခွဲ ၅ လခန့် ကြာနိုင်ပါတယ်။ သင်တန်းမှာပါမယ့် Topic တွေကို Section မှာကြည့်ရှိုနိုင်ပြီး ၊ သင်ပုံသင်နည်း နဲ့ သင်တန်းကြာချိိန်၊လေ့လာနည်းတွေကိုတော့ FAQ မှာကြည့်ရှုနိုင်ပါတယ်။ Section တွေက လက်ရှိအကြမ်ဖျင်း သာဖြစ်ပါတယ်။ သင်တန်းကာလ မှာတော့ အသေးစိပ်ထပ်တိုးသွားမှာဖြစါပါတယ်။
ဒီ class မှာပါဝင်မယ့် poject link တွေ zoom link တွေဖြစ်ပါတယ်။ ဝင်ရတာအဆင်မပြေရင် comment မှာ မန့်ခဲ့လို့ရသလို့ page မှာလဲ လာပြောလို့ရပါတယ်။
သင်ခန်းစာ မိတ်ဆက်
Zoom link စနေ ၊ တနင်္ဂနွေ ညနေ ၆ နာရီ ကနေ ၈ နာရီထိဖြစ်ပါတယ်။ View ကို နှိပ်ပြီးဝင်ရောက်ပါ။ \/ Android app https://play.google.com/store/apps/details?id=com.rubylearner.classroom IOS App https://testflight.apple.com/join/hwmpy9pC
ဒီသင်တန်းမှာ ပါဝင်မယ့် code တွေ power slide တွေကို ဒီ link မှာ ၁ စု ၁စည်းတည်း ရယူနိုင်ပါတယ်။
Revision
31.1..2026 (introduction)
Revision and homework
revison and home work Functions, Functional programming, OOP ,classs and object
(OOP advanced revision and homework) class modifiers, 4 oop feautures, dart 3 special oop features etc
28.2.2026 Flutter design system and basic layout widgets
Stateless widget and layout revision and homework
Scrolling , Performance and stateful widget in Flutter
Async and reactive programming HW
29.3.2026 Zoom Revision and Homework (Storage)
Revision and homework for File explorer
Login to view more item
Flutter development အတွက်လိုအပ်တဲ့ SDK , IDE ,tools and utilities တွေ set up လုပ်နည်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
Dart SK and Intellij Installation in Window for dart development
Flutter SDK and Android Studio Installation in Window for flutter development
Dart Programming https://dartpad.dev Dart SDK IntelliJ Flutter https://dartpad.dev Flutter SDK Android Studio+Android SDK XCode (Mac OS Only) Git Git cli https://github.com (account) Chrome browser Flutter web
Dart SDK and Intellij Indea installation in Mac OS for Dart development
Flutter SDK and Android Studio Installation in Mac for flutter development
Xcode installation in Mac for IOS build and Ipad
# Creating Android Emulator and Connecting Real andorid device with usb
Flutter running in Android Emulator
USB Debugging နဲ့ Wireless Debugging on တာကိုပြပေးသွားမှာပါ။ cable ချိတ်ထားလို့ noise နည်းနည်းဝင်သွားပါတယ်။
USB debugging and wireless debugging enabling
Login to view more item
Flutter development Dart Programming Language နောက်ဆုံး version နဲ့ လေ့လာသွားမှာဖြစ်ပါတယ်။
Flutter နဲ့ Dart programming language အကြောင်း
data types in dart
Dart မှာရှိတဲ့ built-in data type ၁၁ မျိုးကို လေ့လာသွားမှာဖြစ်ပါတယ်?
Dart build in data type slide https://github.com/rubywai/Flutter-Advanced-Class-2026/blob/main/dart-programming-language/assets/datatype.pdf
file name, package name and variable name rule in dart
null value and nullable variable in dart
Dart CLI မှာ သုံးတဲ့ command တွေနဲ့ Intellij IDE အတွက် setting ချတဲ့နည်းတွေ လေ့လာကြည့်သွားမှာဖြစ်ပါတယ်။
Type inference (var) , dynamic, static type etc
Number data type (int, double ,num) math operators
Assignment operators in dart =, +=, etc
Login to view more item
Dart Program public sharing
Sharing Dart program runnable with Dartpad (For HomeWork)
condition (if , else , swtich , tenary) looping (for , while , for in , for each)
if else condition
switch statement and logical operators
Condition with tenary operator
For , while and loop control statements
For in and for each loop for collections
Gist မှာတင်ပြီး Dartpad link ကို answer မှာတင်ပေးပါ Section-5 မှာကြည့်လို့ရပါတယ်။
Dart functions declare လုပ်နည်း၊ prameter ကြော်ငြာနည်း၊ return type ၊ first class function တို့အကြောင်း
Function in Dart. How to declare a function, naming convention, type of function etc.
Type of parameters in dart fuction positional required, positional optional, named optional , named required
Functon ကို variable အနေနဲ့ ကြေငြာနည်း၊ Function type သတ်မှတ်နည်း နဲ့ short hand syntax (fat arrow key) သုံးနည်း
Dart programming မှာရှိတဲ့ Function တွေရဲ့ First class object, Higher order function (function as params and function as return type) နဲ့ Lambda (nameless) function တို့အကြောင်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
First class function, higher order function , lambda function recap
Dart programming Language မှာ Lexical scope variable တွေနဲ့ Closure function အကြောင်းကို လေ့လာကြည့်သွားမှာဖြစ်ပါတယ်။
Genrator function in dart , sync * and yield keyword
Wild card params in callback function
Login to view more item
Object oriented programming using new Dart 3 features
Class and Object in Dart class delcaration, object creation, dart shorthand etc
Dart constructors (default, named , factory) constructors short hand syntax
Dart ရဲ့ object မှာပါတဲ့ method တွေဖြစ်တဲ့ toString(), hashCode() , equal() တို့နဲ့ တခြား operator တွေကို overlaoding လုပ်တဲ့နည်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
understanding list of object and comparison in dart
Callable class in dart
Variable modifiers in dart (final , const, static, late)
Encapsulation & access modifier in Dart (public & private)
Login to view more item
Dart runtime exception handling, try, catch , finally custom exception etc
type of errors in OOP language, how to handle runtime error using try, catch , handling
Handling difference error types with regular type casting and on keyword , rethrown error
Custom exception implementation and handling part 1
Custom exception implementation&handling in Dart part 2
Google material design & Apple Human Interface Gudelineတို့ရဲ့ concept သဘောတရားတွေကို လေ့လာသွားမှာဖြစ်ပါတယ်။ Essential widget တွေကို လေ့လာသွားမှာဖြစ်ပါတယ်
Flutter introduction, ui paradigm, project creation and tools etc
working/switching difference flutter version without any external tools
Understanding material design flutter project structure and scaffold widget
Flutter most basic widget Text
Rich Text, Selectable Text
Container widget in flutter
Icon and Image widget in Flutter
Row and Column widget
Wrap widget in flutter
Login to view more item
Mobile အတွက်တင်မဟုတ်ပဲ ipad , Desktop design, TV တို့အတွက်ပါ Responsive ရေးနည်း ၊ Figma နှင့် material color concept များကိုသုံးပြီး light theme ၊ dark theme တို့အတွက် color system များစနစ်တကျသုံးနည်းတို့ကိုလေ့လာကြည့်သွားမှာဖြစ်ပါတယ်။ Material 3 ui တွေနဲ့ Flutter widget သဘောတရားတွေများကို Scrolling, performance တို့နဲ့ Sliver တို့အကြောင်း အသေးစိပ် လက်တွေ့ UI များနှင့် အတူ လေ့လာသွားမှာဖြစ်ပါတယ်။။
Understanding of scroll bar disply in web
Understanding mouse , touch and track behaviour in scrolling
Understanding the scrolling performance in List View
Controlling the scroll position
Understanding Scroll physics
Video မှာ မြင်ရသလို ရေးရမှာဖြစ်ပါတယ်။ Sample data ကို copy ကူးလို့ရပါတယ်။ Table header color => color: Colors.blueGrey, final students = [ { "id": 1, "name": "မောင်မောင်", "education": "Bachelor", "address": "ရန်ကုန်မြို့, သင်္ဃန်းကျွန်းမြို့နယ်", "phone": "09123456789", "email": "[email protected]", "hobby": "Reading", }, { "id": 2, "name": "အေးအေးမြင့်", "education": "Master", "address": "မန္တလေးမြို့, ချမ်းအေးသာစံမြို့နယ်", "phone": "09234567890", "email": "[email protected]", "hobby": "Music", }, { "id": 3, "name": "ကိုကို", "education": "Bachelor", "address": "နေပြည်တော်, ဇေယျာသီရိမြို့နယ်", "phone": "09345678901", "email": "[email protected]", "hobby": "Sports", }, { "id": 4, "name": "သူဇာမြင့်", "education": "Bachelor", "address": "ရန်ကုန်မြို့, ဗဟန်းမြို့နယ်", "phone": "09456789012", "email": "[email protected]", "hobby": "Cooking", }, { "id": 5, "name": "ဇော်လင်းထွန်း", "education": "Diploma", "address": "မန္တလေးမြို့, မဟာအောင်မြေမြို့နယ်", "phone": "09567890123", "email": "[email protected]", "hobby": "Reading", }, { "id": 6, "name": "နီလာထွန်း", "education": "Bachelor", "address": "ရန်กုန်မြို့, ကမာရွတ်မြို့နယ်", "phone": "09678901234", "email": "[email protected]", "hobby": "Dancing", }, { "id": 7, "name": "အောင်ကိုကို", "education": "Master", "address": "မွန်ပြည်နယ်, မော်လမြိုင်မြို့", "phone": "09789012345", "email": "[email protected]", "hobby": "Gaming", }, { "id": 8, "name": "စုစုမြင့်", "education": "Bachelor", "address": "ရန်ကုန်မြို့, တာမွေမြို့နယ်", "phone": "09890123456", "email": "[email protected]", "hobby": "Traveling", }, { "id": 9, "name": "သန်းထွန်းဦး", "education": "Bachelor", "address": "ပဲခူးတိုင်းဒေသကြီး, တောင်ငူမြို့", "phone": "09901234567", "email": "[email protected]", "hobby": "Photography", }, { "id": 10, "name": "ယုယုခိုင်", "education": "Diploma", "address": "ရန်ကုန်မြို့, ရန်ကင်းမြို့နယ်", "phone": "09012345678", "email": "[email protected]", "hobby": "Painting", }, { "id": 11, "name": "မင်းခန့်", "education": "Bachelor", "address": "မန္တလေးမြို့, ပြင်ဦးလွင်မြို့နယ်", "phone": "09123456780", "email": "[email protected]", "hobby": "Football", }, { "id": 12, "name": "သင်းသင်းမော်", "education": "Master", "address": "ရှမ်းပြည်နယ်, တောင်ကြီးမြို့", "phone": "09234567801", "email": "[email protected]", "hobby": "Singing", }, { "id": 13, "name": "ဖေမောင်", "education": "Bachelor", "address": "ရန်ကုန်မြို့, လှိုင်သာယာမြို့နယ်", "phone": "09345678012", "email": "[email protected]", "hobby": "Reading", }, { "id": 14, "name": "ခင်နီလာဝင်း", "education": "Diploma", "address": "စစ်ကိုင်းတိုင်းဒေသကြီး, မုံရွာမြို့", "phone": "09456780123", "email": "[email protected]", "hobby": "Gardening", }, { "id": 15, "name": "ကျော်မြင့်", "education": "Bachelor", "address": "ရန်ကုန်မြို့, မရမ်းကုန်းမြို့နယ်", "phone": "09567801234", "email": "[email protected]", "hobby": "Chess", }, { "id": 16, "name": "ရွှေစင်အောင်", "education": "Bachelor", "address": "ကချင်ပြည်နယ်, မြစ်ကြီးနားမြို့", "phone": "09678012345", "email": "[email protected]", "hobby": "Writing", }, { "id": 17, "name": "ဝင်းဝင်းမြင့်", "education": "Master", "address": "ရန်ကုန်မြို့, အင်းစိန်မြို့နယ်", "phone": "09780123456", "email": "[email protected]", "hobby": "Swimming", }, { "id": 18, "name": "နေလင်းဦး", "education": "Bachelor", "address": "ဧရာဝတီတိုင်းဒေသကြီး, ပုသိမ်မြို့", "phone": "09801234567", "email": "[email protected]", "hobby": "Cycling", }, { "id": 19, "name": "မေမေခိုင်", "education": "Diploma", "address": "ရန်ကုန်မြို့, သန်လျင်မြို့နယ်", "phone": "09912345678", "email": "[email protected]", "hobby": "Shopping", }, { "id": 20, "name": "ဇော်မင်းထွန်း", "education": "Bachelor", "address": "ကယားပြည်နယ်, လွိုင်ကော်မြို့", "phone": "09023456789", "email": "[email protected]", "hobby": "Hiking", }, ];
Reorderable List View
Login to view more item
Understadning Flutter engine Thread, Isoate, asynchronous(Future,async await), reactive programming(Stream) etc
Understanding Flutter engine Runner, Thread and Isoate in Dart and Flutter
Flutter asynchronous programming (Future)
Understanding Event Loop architecture - event queue and microtask queue.mp4
Future whenComplete , async&await and error handling etc
Flutter future timeout and parallel call Future.wait
Future builder to to load future object
Reactive programmin in Dart (Stream) Understanding Observer design pattern, Iterator design pattern, functional programming
Login to view more item
Mobile မှာသုံးလို့ရတဲ့ storage system များအကြောင်းနဲ့ Flutter မှာ implement လုပ်လို့ရတဲ့ storage system တွေအကြောင်း၊ Mobile Persistance storage တွေဖြစ်တဲ့ key value pair storage,Web အတွက် session storage အသုံးပြုနည်း စတာတွေကို mini project နဲ့အတူ လေ့လာသွားမှာဖြစ်ပါတယ်။
Storage System in Flutter Introduction Types of storage system, internal storage , external storage etc. Web storage
Introduction to key-value pair storage (shared preference) working on difference platforms
Mini Project : Student form using shared preference existing ui https://gist.github.com/rubywai/6ee5d03d51387263371b5e1991125a97
Student Form with Key-Value Pair Storage Part 2 Creating the model
Read data from shared preference and display in UI final project code
Student Form Mini Project: Understanding web local storage how to remove item and how to clear the whole storage
Session Storage from web package , understanding session storage
Understanding session storage in browser Conditional Export (Platform-Specific Implementation) mobile => dart.library.io web => dart.library.html
Login to view more item
Andorid မှာ supported ပေးတဲ့ internal storage နဲ့ android version အလိုက်သိထားသင့်တဲ့ extrenal storage ၊ IOS storage တို့အကြောင်းကို File Manager mini project နဲ့ လေ့လာသွားမှာဖြစ်ပါတယ်။ Understanding File & Folder Storage. Dialog , navigation, popup menu , theme တို့အကြောင်းပါထည့်သွင်းလေ့လာသွားမှာဖြစ်ပါတယ်။
Flutter မှာ supported ပေးတဲ့ file storage system တွေအကြောင်းနဲ့ ကျတော်တို့ရေးသွားမယ့် File Explorer mini project အကြောင်း
Android နဲ့ IOS တို့မှာ support ပေးတဲ့ မတူညီတဲ့ storage system တွေအကြောင်းနဲ့ သုံးမယ့် library ကို လေ့လာရင်း project စပြီးဆောက်သွားမှာဖြစ်ပါတယ်။
Understanding Directory and File , create folder and file , write file etc
List all files and folders inside a directory get name, created time, etc
Create new Folder and File dialog Part1
[Fle Manager mini project] Create new Folder and File dialog Part2
Handling complex sub folder and file path
Exit from current directory
Login to view more item
Understand android external storage history by android version, user file picker to save in public directory
Understand android external storage history by android version, user file picker to save in public directory or icloud in IOS
SQLite Database အကြောင်းကို mini project ၁ ခုနဲ့တွဲဖက်ပြီးလေ့လာသွားမှာဖြစ်ပါတယ်။ Light theme , dart theme နဲ့ material design system အကြောင်းကို လေ့လာသွားမှာပဲ ဖြစ်ပါတယ်။
SQLite database introduction , datatypes in sqlite and implement in flutter. https://docs.google.com/presentation/d/1lGQKq6EGVv4sgrZZwXvctQj98REgmiwW/edit?usp=share_link&ouid=107781454656254475742&rtpof=true&sd=true
Selecte correct answer.
UI Design https://69d24fa85db19d7355af3b11--incredible-choux-c40705.netlify.app
Book library app introduction and project creation
Setting up the global theme and colors
Implementing Bottom navigation widget (style + animation) , selected effects etc
Implementation floating action button style and theme
Creating database , understanding db debugging tools, file explorer etc
Create Author table in db inspector first and implement in flutter
Insert author query ကို db inspector မှာ စမ်းပြီး flutter code မှာ implement လုပ်ပါတယ်။
Login to view more item
Flutter very basic state management approace Provider
flutter မှာ အခြေခံအကျဆုံး state management pattern ၁ ခု ဖြစ်တဲ့ provider package အကြောင်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
provider package ကို သုံးပြီးရေးမယ်ဆိုရင် သိထားရမယ့် project structure တွေအကြောင်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
Provider design pattern simple counter application
SQLite database ကို ပိုမိုနားလည်ဖို့အတွက် ရှိပြီးသား db ကို အသုံးပြုပြီး dictionary app ၁ခု ရေးကြည့်သွားမှာဖြစ်ပါတယ်။ Theme , dialog , bottom sheet တွေအကြောင်းပါထည့်သွင်းလေ့လာသွားမှာဖြစ်ပါတယ်။
Db link to download https://github.com/rubywai/Flutter-Advanced-Class-2026/blob/engineering-dictionary/engineering_dictionary_app/assets/engineering.db Design link https://github.com/rubywai/Flutter-Advanced-Class-2026/tree/engineering-dictionary/engineering_dictionary_app SQLite db app https://sqlitebrowser.org https://www.sqliteexpert.com
Project setting up and database init copy for enigneering db to device storage
Tools for SQLite Database
Dictionary search query and understanding database structure
Dictionary List UI
Dictionary Detail Screen UI and favourite icon
Favourite Feature database query
Setting screen, theme provider , favourite list , favourite screen
Rest api fetching , client server communication, Web socket နဲ့ Auth အကြောင်းကို လက်တွေ့ project များနဲ့ အတူလေ့လာကြည့်သွားမှာဖြစ်ပါတယ်။
Introduction to Rest api and client server architecture
What is json (javascript object notation)
Differences between authentication and authorization
Flutter riverpod state management theory and simple example to understand better
Riverpod State management Theroy and Providers
Riverpod state management with counter application example
Riverpod state management with network loading state demonstration example
ဒီ project မှာတော့ flutter application မှာ rest api အသုံးပြုနည်း။ Login , sign up နဲ့ authorization တို့အကြာင်းကို အဓိက လေ့လာသွားမှာဖြစ်ပါတယ်။ server ပေါ်က mp3 , audio ၊ video file streaming တို့အကြောင်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။ 1. providers 2. go_routers 3.dio 4. getIt 5. media libraries
Content media library application အတွက် လိုအပ်တဲ့ api documentation link ဖြစ်ပါတယ်။ . . https://content-api.rubylearner.com/
Content Media Application introduction server ပေါ်က blog post, audio, video တွေ ကို reset api ကနေဖတ်ပြီး education content media application ၁ ခု ရေးကြည့်သွားမှာဖြစ်ပါတယ်
Api doc introduction and project scaffold main libraries
Blog List Model , api service, ui state , riverpod
Blog List Screen Ui implementation
Blog Item widget
Blog page Pagination and riverpod notifier logics
GoRouter and Bottom navigation set up
Responsive utils and scaffold for various screen sizes and Desktop and Tablet Navigation Rail implementation with Go Router
Implementating the desktop page for blog list and responsive Responsive layout for blog desktop page
Login to view more item
အရင် section မှာရေးခဲ့တဲ့ content media application ရဲ့ comment section တွေကို jwt access နဲ့ ရေးသွားမှာဖြစ်ပါတယ်
Auth introduction with sign up models and api service part 1
Auth introduction with sign up models and api service part 1
Sign up and OTP UI part 1
Sign up and OTP UI part 2
Sign up and OTP Ui Part 3
Sign up screen part 3
Profile Screen part 1
Profile Notifier
Sign in feature
Auth state move to global to realtime profile state
Login to view more item
ဒီ section မှာ တော့ LLM နဲ့ generative ai agent တို့အကြောင်း ၊ open ai compitable api format ကို သုံးပြီး api chat app, tool calling, rag တို့ကို အခြေခံ ကျကျလေ့လာကြည့်သွားမှာဖြစ်ပါတယ်။ သဘောတရားတွေကို အဓိက လေ့လာမှာ ဖြစ်တဲ့အတွက် flutter မှာမှ မဟုတ်ပဲ အခြားဘယ် platform မှာမဆို AI agent ၁ ခု ကို အလွယ်တကူ build နိုင်မှာဖြစ်ပါတယ်။
(What is LLM, tool calling, RAG, MCP, etc)
For Desktop (Window,Mac, Linux) https://ollama.com Android https://play.google.com/store/apps/details?id=com.google.ai.edge.gallery IOS https://apps.apple.com/sg/app/google-ai-edge-gallery/id6749645337 Google AI Edge Gallery
@23.2 Local LLM set up and basic ollama commands
Understanding the ollama rest api documentation
Creating new flutter project
Creating chat api service and prompt text field for local ollama LLM
Login to view more item
Firebase cli, cloud firestore database, analytics, crashlytics , notification
Exploring firebase services , which services are unnecessary to know and which are necessary
Understanding key-value pair cloud firestore database
Firestore database slide
Firebase & flutterfire cli for flutter developers
Firebase cli and flutter fire installation in window (လိုက်မလုပ်လဲရပါတယ်)
Firebase Cli and flutterfire installation in Mac OS
Firebase connect with android native
Login to view more item
Understanding the agentic coding & Coding Agent Installation for Mobile Development ဒီ section က coding agent token အများအပြားကုန်နိုင်ပြီးတော့ prompt တိုင်းလဲ output မတူနိုင်တဲ့ အတွက် အတိအကျ လိုက်လုပ်စရာမလိုပဲ coding agent ရဲ့ concept တွေကို ပဲ လေ့လာရင် အဆင်ပြေပါတယ်။
Final repo link https://github.com/rubywai/Flutter-Advanced-Class-2026/tree/shop-app-with-codex Api documentation https://github.com/rubywai/shopping_app_multi_package_architecture/blob/main/README.md Original website https://shopapi.rubylearner.com
Intro coding agent and codex cli
Understanding Coding agent concetps
Online shop app scaffold building with codex cli
status, models, permissions, @ file mention, and product list implementation etc
Understanding codex rules and implementation of pagination for product
Understanding codex subagents by implementing category list and product detail
@25.7 Add to cart , product detail, product search etc
Add to cart feature part 2
Login to view more item
BLOC & Cubit architectural design pattern in mobile Business Logic components and cubit
Slide ကိုကြည့်ရန် download/view ကို နှိပ်ပါ။
Bloc pattern pattern introduction (Theory)
null
Bloc counter application part 2 (Stream transformer)
Implementing cubit with pure stream
Understanding bloc pattern pattern with (flutter_bloc) library simple counter application
Implementing Network Loading State with cubit using flutter_bloc library
Understanding build in widgets and features in flutter_bloc library bloc listener, bloc builder, bloc consumer etc
Cryptocurrency price app with real-time price api. What we will learn ? Bloc pattern, web-mobile view responsive, websocket, go router ,etc
Api doc => https://marketpriceapi.rubylearner.com demo site => https://marketpriceapi.rubylearner.com/test/
Understanding the crypto price api documentation in postman
Creating the flutter project and add libraries and api endpoints etc
State management => Bloc (Cubit) Routing => Go Router Screen size support => Desktop + Mobile Theme => Light Theme + Dark Theme Colors : useMaterial3: true, brightness: dark ? Brightness.dark : Brightness.light, colorSchemeSeed: const Color(0xFF14B8A6), scaffoldBackgroundColor: dark ? const Color(0xFF0D1420) : const Color(0xFFF3F6FA), Colors => Colors.redAccent,
Application router setup part 1
Application router setup part 2
Crypto price ui setup (tabbar for desktop and bottom nav for mobile)
mp3, mp4, hls streaming တွေနဲ့ android tv အတွက် target ထားတဲ့ app တွေအကြောင်းလေ့လာကြည့်သွားမှာဖြစ်ပါတယ်။
Api ကို https://videoapi.rubylearner.com/api မှာကြည့်ပါ။
library => better_player format => mp4 , hls(online only) platforms => mobile phone + TV(android)
Media Streaming App Part 2 (Api implementation) https://github.com/rubywai/media_streming_app
Media Streaming App Part 3 (Api implementation) https://github.com/rubywai/media_streming_app
Mp4 steaming with better player (Video streaming app part 4) [https://github.com/rubywai/media_streming_app]
Player resolution.,subtitle and customization Media Streaming App Part 5 [https://github.com/rubywai/media_streming_app]
Hls streaming in flutter with better player (Video player part 6) Player resolution.,subtitle and customization Media Streaming App Part 5 [https://github.com/rubywai/media_streming_app]
iOS theme and rotation problem in better player [[https://github.com/rubywai/media_streming_app](https://github.com/rubywai/media_streming_app)] Native way (iOS/info.plist) <key>UIMainStoryboardFile</key> <string>Main</string> <key>UIRequiresFullScreen</key> <true/> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortraitUpsideDown</string> </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> <string>UIInterfaceOrientationPortrait</string> </array> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> Flutter way SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, DeviceOrientation.portraitDown, DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight ]);
full screen, color customization and watermark https://github.com/rubywai/media_streming_app
Movie streaming in android tv (focus ui state )part 1
Login to view more item
Gen-AI , LLM theory များ AI agent ၁ ခု ဆောက်နိုင်ဖို့ လိုအပ်တဲ့ foundation တွေဖြစ်တဲ့ Tool calling, RAG တို့ အကြောင်း ကို mobile device မှာ run လို့ရမယ့် LLM နဲ့ Machine learning lite version တို့ နဲ့ တွဲဖက်ပြီး အသုံးပြုနည်းတွေကို လေ့လာသွားမှာဖြစ်ပါတယ်။
File နဲ့ Storage system အကြောင်း၊Encryption, Root or Jailbreak device တွေအတွက် handle လုပ်နည်း။ Reversed engineering ကို protect လုပ်နိင်ဖို့ code obfuscation အကြောင်း ၊ Api security အတွက် SSL pinning အကြောင်း။
Logging security (avoid print at release) and (double check api log etc) Key value pair and file storage security (File system on android) Database security Api security Root or jailbreak or emulator protection Api security and ssl pinning Privacy security (screenshot, recording) Protect app control from other apps Force update
Logging and print security
Encoding , Encryption (AES, RSA), hashing
Flutter key-value pair storage security with keystore in android and keychain in ios github link : https://github.com/rubywai/storage_db/tree/shard_preference library : https://pub.dev/packages/flutter_secure_storage
Flutter database security 1.first need to prepare sqlite lesson 2.understanding encryption algorithms https://pub.dev/packages/sqflite_sqlcipher
Privacy security (screenshot, screen recording, screen share) https://github.com/rubywai/cryptocurrency_price_list
Root or Jailed break detection security
SSL pinning (https security) protect man in the middle attack command curl -o <pemfilename> https://letsencrypt.org/certs/lets-encrypt-r3.pem curl -o geocoding-api.open-meteo.com.pem https://letsencrypt.org/certs/lets-encrypt-r3.pem https://github.com/rubywai/weather_bloc_app_with_integration_testing/tree/ssl-pinning
App ကို decompile လုပ်ပြီး code တွေကို ပြန်ဖတ်တဲ့နေရာမှာ ပိုပြီးရှုပ်ထွေးအောင်လုပ်တဲံနည်းဖြစ်ပါတယ်။ manified enable အကြောင်းလဲလေ့လာကြည့်သွားပါမယ်။
Application build နည်း ၊ play store နှင့် app store တို့မှာတင်နည်း၊ internal testing ၊ test flight ၊ uint testing ရေးထားတာတွေကို CI/CD နဲ့ တွဲသုံးနည်း။ မိမိ application ကို emulator နဲ့ real device အများအပြားမှာ firebase test lab မှာ test လုပ်နည်းကို integration testing နဲ့တွဲဖက်သုံးနည်း။
Flutter web deployment with wasm target. Very fast and smooth for users. server side creation. https://gist.github.com/rubywai/bd4ed24902cdeb0b699bc51d87d767b9
Create sign key (jks file) understanding version number and gradle file etc ဒါကတော့ buiild.gradle အဟောင်းအတွက် ဖြစ်ပါတယ်။ 1. def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } 2. signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] }} 3. signingConfig signingConfigs.release ဒါကတော့ build.gradle.kts အသစ်အတွက်ဖြစ်ပါတယ်။ 1. import java.util.Properties import java.io.FileInputStream 2. signingConfigs { create("release") { val keyProperties = Properties() val keyPropertiesFile = rootProject.file("key.properties") if (keyPropertiesFile.exists()) { keyProperties.load(FileInputStream(keyPropertiesFile)) storeFile = file(keyProperties["storeFile"] ?: "") storePassword = keyProperties["storePassword"] as String? keyAlias = keyProperties["keyAlias"] as String? keyPassword = keyProperties["keyPassword"] as String? } } } 3. buildTypes { release { signingConfig = signingConfigs.getByName("release") } }
ဒီသင်ခန်းစာမှာတော့ iphone , ipad အတွက် app store မှာ release လုပ်တဲ့နည်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။ internal testing အတွက် test flight မှာ တင်တဲ့နည်းကိုပါ လေ့လာသွားမှာဖြစ်ပါတယ်။
ဒီသင်ခန်းစာမှာတော့ test flight ကို internal နဲ့ external user စမ်းတဲ့နည်းကို ၁ ချက်လေ့လာကြည့်သွားမှာဖြစ်ပါတယ်။
Google play store account အသစ်အဟောင်းကွာခြားချက်နဲ့ internal testing , closed testing, open testing တို့အကြောင်း https://drive.google.com/file/d/1Ogh4TDNzQTNBHqmul7RJl8FgO-ZH39G9/view?usp=share_link
ဒီသင်ခန်းစာမှာတော့ android app ကို play store developer account အဟောင်းမှာ တင်တဲ့နည်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
ဒီသင်ခန်းစာမှာတော့ android app တွေကို google play develoer account အသစ်မှာတင်တဲ့နည်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
ကျတော်တို့ app ကို release မလုပ်ခင် real device အမျိုးမျိုး၊ version အမျိုးအမျိုးမှာ စမ်းဖို့အတွက် google Firebase test lab မှာရှိတဲ့ phone တွေမှာ သွားစမ်းတဲ့နည်း။
Flutter official recommended architecture (Model View ViewModel) prerequisite - provider, riverpod, getIt, dio better knowing BLoc Pattern
Solid principle and Clean Architecture
Packaging by feature , multi-module architecture နဲ့ deferred component တို့တွဲသုံးနည်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။ dependency injection etc.
Online shop app ၁ခု ရေးကြည့်သွားမှာ ဖြစ်ပါတယ်။ mobile app ၁ ခုရေးကြည့်သွားမှာ ဖြစ်ပြီးတော့ architecture ကတော့ multi-module feature ကို သုံးမှာဖြစ်ပြီး flutter packages feature ကို သုံးသွားမှာ ဖြစ်ပါတယ်။ website => https://shopapi.rubylearner.com/ api doc => https://shopapi.rubylearner.com/api-documentations/
App architecture, documentation ,etc Api doc link https://shopapi.rubylearner.com
အခုသင်ခန်းစာမှာတော့ multi-package architecture structure ပုံစံ prject folder တွေလုပ်သွားမှာဖြစ်ပါတယ်။ go router + riverpoid + getit github branch - 1_config_packages https://github.com/rubywai/shopping_app_multi_package_architecture/tree/1_config_packages
Setting up common, dependency injection, and product api service git branch => 2_setupdi_product-api Link https://github.com/rubywai/shopping_app_multi_package_architecture/tree/2_setupdi_product-api
Product list တွေပြဖို့ grid ui ၁ခုဆွဲသွားကြည့်မှာဖြစ်ပါတယ်။ resuable နဲ့ responsive ဖြစ်ဖို့ရေးကြည့်သွားပါမယ်။
အခုသင်ခန်းစာမှာတော့ commn grid ui အတွက် pagination logic ကို apply လုပ်သွားမှာဖြစ်ပါတယ်။ https://github.com/rubywai/shopping_app_multi_package_architecture/tree/4_implement_pagination
အခု သင်ခန်းစာမှာတော့ product တွေ search လုပ်တဲ့ feature ကို လေ့လာသွားမှာဖြစ်ပါတယ်။ pagination လဲ ပါပြီးသားဖြစ်ပါတယ်။ https://github.com/rubywai/shopping_app_multi_package_architecture/tree/5_search_feature
အခု သင်ခန်းစာမှာတော့ product list category page ကို implement လုပ်သွားမှာဖြစ်ပါတယ်။ https://github.com/rubywai/shopping_app_multi_package_architecture/tree/6_category_list
Browse current classes, recordings, and new releases.
ဒီအတန်းမှာတော့ ကျတော်တို့အရင်သင်တန်းတွေမှာ အချိန်မလောက်လို့ မပါဖြစ်တဲ့ advanced feature တွေထည့်သင်သွားမှာဖြစ်ပါတယ်။ သင်တန်းချိန် ၅ လလောက်ကြာနိုင်ပါတယ်။
CourseFlutter development ကို Dart programming အစကနေ စပြီး လေ့လာသွားမယ့် class ၁ ခုပဲ ဖြစ်ပါတယ်။ Mobile development တင်မကပဲ Flutter web ကိုပါ ထည့်သွင်းပြီးလေ့လာသွားမှာဖြစ်ပါတယ်။ LLM, AI agent နဲ့ on device AI တွေအကြောင်းပါ ထည့်သွင်းလေ့လာသွားမှာဖြစ်ပါတယ်။ သင်တန်းကာလ ကတော့ ၄ လခွဲ ၅ လခန့် ကြာနိုင်ပါတယ်။ သင်တန်းမှာပါမယ့် Topic တွေကို Section မှာကြည့်ရှိုနိုင်ပြီး ၊ သင်ပုံသင်နည်း နဲ့ သင်တန်းကြာချိိန်၊လေ့လာနည်းတွေကိုတော့ FAQ မှာကြည့်ရှုနိုင်ပါတယ်။ Section တွေက လက်ရှိအကြမ်ဖျင်း သာဖြစ်ပါတယ်။ သင်တန်းကာလ မှာတော့ အသေးစိပ်ထပ်တိုးသွားမှာဖြစါပါတယ်။
Kotlin Multiplaform stable ဖြစ်လာပြီးတဲ့နောက်ပိုင်း Native ဖက်ကို လေ့လာချင်တဲ့သူတွေအတွက် Kotlin programming language ကို အခြေခံ Theory ကနေစနစ်တကျ လေ့လာမယ့် course လေးပဲဖြစ်ပါတယ်။
Kotlin programming ကို အစကနေစလေ့လာမှာဖြစ်ပြီးတော့ Android native development နဲ့ Kotlin multiplatform (Android , ios ,web ,desktop) တို့ကို လေ့လာသွားမှာဖြစ်ပါတယ်။
Developers တွေသိထားသင့်တဲ့ LLM, Generative AI, AI agents နဲ့ tools တွေအကြောင်းကို လေ့လာသွားမှာဖြစ်ပါတယ်။
Native Mobile delopment with Kotlin and Declarative UI with Compose
ပြည်တွင်းတွင်သာမက အာရှနိုင်ငံများသို့ သွားလာလုပ်ကိုင်ရာတွင် အရေးပါလာသော တရုတ်ဘာသာစကားကို အခြေခံမှစ၍ နေ့စဉ်အသုံးပြုနိုင်အောင် သင်ကြားပေးမည့် သင်တန်းဖြစ်ပါသည်။ Beginner များအတွက် အထူးသင့်တော်ပြီး လက်တွေ့စကားပြော၊ အသံထွက်၊ နားထောင်မှုနှင့် နေ့စဉ်ဆက်သွယ်ရေးပိုင်းများကို အဓိကထား သင်ကြားပေးမည်ဖြစ်သည်။
Quick access to the classroom video collections. YouTube channel မှ သင်ခန်းစာများလေ့လာရန်
Class status, upcoming programs, and instructor links.
Download for a faster mobile experience.