3.000.000 ₫
3000000.0 VND 3.000.000 ₫
3.000.000 ₫
Cập nhật gần nhất 21/05/2021
Completion Time 1 ngày 16 giờ
Thành viên 2

Giới Thiệu Khoá Học

Khóa học được thiết kế nhằm mục đích:

  • Đào tạo và tuyển chọn ứng viên tiềm năng cho vị trí Intern Mobile Developer tại Lecle Vietnam.

  • Cung cấp kiến thức cơ bản, kỹ năng lập trình một ứng dụng mobile hoàn chỉnh cho cả hai nền tảng Android và iOS.

  • Thành thạo cách xây dựng một ứng dụng hoàn chỉnh bằng Flutter có thể đưa lên Google Play, App Store và đủ kiến thức cơ bản để ứng tuyển vào các vị trí Mobile Developer tại các công ty.

  • Biết cách tìm và khắc phục lỗi trong phần mềm, cũng như cách tối ưu hoá ứng dụng mobile.

Lịch học và địa điểm:

  • Dự kiến khai giảng: 19/06/2021

  • Thời gian học: 14:00 - 18:00, thứ 7 hàng tuần

  • Thời lượng: 10 tuần

  • Hình thức: học online qua Zoom, có video record buổi học

Đối tượng tham gia:

  • Các bạn sinh viên IT đang tìm hiểu về lập trình mobile

  • Các bạn đã đi làm, muốn chuyển ngành sang lập trình ứng dụng mobile

Yêu cầu đầu vào:

  • Có kiến thức cơ bản về ít nhất một ngôn ngữ lập trình như C, C++, C#, Java, các câu lệnh Variable, Array, If statement, For statement, Function.

  • Có laptop cá nhân mang theo khi học (không có yêu cầu đặc biệt về hệ điều hành).

Đặc biệt, công Lecle Vietnam sẽ hỗ trợ 100% học phí cho các bạn tham gia đủ từ 80% thời lượng học (hoàn lại học phí sau khóa học)

Bạn Sẽ Học Được Gì

what-learn
  • Học thật, code thật, project thật

  • Thành thạo kỹ năng lập trình, có thể tự mình phát triển một ứng dụng di động hoàn chỉnh.

  • Tự tin tham gia ứng tuyển và phỏng vấn tại các công ty công nghệ chuyên về mảng Mobile apps.

Cấu Trúc Khoá Học

  • Introduce Flutter and Dart language
  • Flutter architecture overview
  • How it works, why we use Flutter, why Flutter use Dart
  • Flutter vs React Native
  • Install IDE to start the Flutter development
  • Introduce the Flutter app structure
  • Structure and Tools: Folder structure, pubspec.yaml, hot reload, linter, tree shaking
  • Widgets and State, Keys
  • Basic Widgets: Text, Row, Column, ListView, Container, Stack, Positioned
  • Stateless and Stateful widgets: good practices
  • Rebuild and optimization: const constructor, prefer widget composition over functions
  • Flutter Architecture: Element & RenderObject, Foreign Function Interface, Method Channels
  • Practice with widgets: login screen, To-do list"
  • Variables, and Data Types
  • Operators
  • Control flow and functions: Condition Statement, Loop
  • Asynchronous Programming: Future, Streams, Isolates
  • Generics and Collections
  • OOP with Dart: Class, Inheritance, Exception,...
  • Coding principles with Dart (SOLID principle)
  • The I/O library: Files, Directories, Server-side Dart
  • Date and Time
  • Obfuscating Dart code
  • Best practices
  • Manual internationalization + AppLocalization + Localization delegate + Backward compatibility
  • Internationalizing with intl + AppLocalization + Localization delegate + Plurals and data interpolations
  • Basics of navigation and routing: + Create routes + Navigate between pages + Good practices
  • Passing data between pages and widgets + The Navigator class + Passing data with Navigator + Passing data with Provider
  • Other routing techniques
  • Parsing JSON: Manual/Automatic parsing: list, nested objects
  • Parsing XML: parsing strings, building XML strings
  • Working with SQLite and Hive (NoSQL)
  • Implicit animations
  • The animation library + AnimatedWidget + AnimationBuilder: Curves, Tweens
  • Custom Animations
  • Good practices: Hero animations, Custom route transitions
  • Material: Scaffold, Material Widgets (Button, Dialog)
  • Cupertino: CupertinoPageScaffold, Cupertino widgets
  • Building layouts: + Platform support (single OS, Multiple OSes) + Responsive UIs (LayoutBuilder, MediaQuery) + Using themes + Scrolling and contraints
  • Show the best practices for building UIs
  • Updating the UI (good practices)
  • Passing the state with Provider (Good practices)
  • Alternative to setState: BLoC pattern + BlocListener, BlocObserver + Persisting the state with HydratedBloc + Undo & Redo with ReplayBloc + The internals of Bloc: Cubit
  • Show the good practices for state management
  • Practices: create a project for state management demo"
  • Testing Flutter apps + Unit Test + Testing asynchronous code and streams + Mocking dependencies + Unit testing blocs
  • Widget Test: testing blocs and providers
  • Integration testing
  • Testing performance: DevTools + Using the Flutter inspector + Using Timeline view, Memory view, Network view, Logging view + Monitoring widget rebuilds"
  • Making HTTP requests: GET, POST
  • Working with data: download, upload
  • Advanced REST API calls: model class, parsing JSON, HTTP client
  • Socket: Handle data and realtime between client and server
  • Good practices
  • Assets and images
  • Working with images: loading from network
  • Scalable vector graphics: working with svg files, loading from network
  • Audio and video files: playing video and listening to music
  • Forms and validation + Keyboard and overflows + Getting the text from a text field + Constraining the input
  • Gestures + Swipe to dismiss + Dragging items"
  • Camera: taking a picture
  • Working with sensors
  • Working with Geolocation
  • Platform-specific packages + Battery level + Device info + Internet connectivity + Shared preferences
  • Material: Drawer, BottomNavigationBar, NavigationRail, TabBar, Stepper, DataTable
  • Cupertino: CupertinoDatePicker, CupertinoActionSheet, CupertinoSegmentControl
  • Community widgets: Flutter Hooks, State Notifier
  • Installation
  • Using Firestore as backend: + Building the backend, frontend + Working with data + Transactions and batches
  • Monetizing your apps with AdMob + Ad banners + Rewarded video ads
  • Flutter ML Kit + Detecting faces: CustomPainter and the canvas + Firebase Vision Kit
  • Push Notifications with FCM: handling and sending push notifications
  • Authenticating with Firebase
  • Publishing packages on pub.dev + Creating the package + Documenting the source code + Reviewing and publishing + Scores and good practices + Verified publishers and Flutter favorite
  • Publishing apps on Store + Releasing Android apps + Releasing iOS apps + Splash screens + Doing CI/CD for Flutter: Github actions
  • Preparing the project: folder structures and basic setup
  • State management and model classes + Authentication bloc + Credential bloc + Localization files
  • Building UI + Creating the login form + Creating the welcome screen
  • Testing your code + Unit test + Widget test
  • Practices: + Implement the list of check-in using ICON + Implement the list of donations using ICON + Implement the wallet app using ICON
  • Giảng Viên Là Những Ai