Giới Thiệu Khoá Học

[ĐÃ FULL DANH SÁCH ĐĂNG KÝ]

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.

  • Phát triển kỹ năng làm việc nhóm, kỹ năng thuyết trình, demo sản phẩm

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

  • Khai giảng: thứ 2, 06/06/2022

  • Thời gian học: thứ 2 và thứ 4 |18:30 - 21:00

  • Thời lượng: 12 tuần - 55 giờ học

  • Địa điểm học: Devera Academy – Lầu 6, Nhà Văn Hóa Sinh Viên, Khu đô thị ĐHGQ

Đố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 sinh viên năm 3-4 đang tìm kiếm cơ hội thực tập

  • Người mới đi làm muốn bổ sung kiến thức và kỹ năng cần có trong môi trường làm việc thực tế.

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ông ty Lecle Vietnam HỖ TRỢ 100% HỌC PHÍ cho học viê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
  • Thành thạo kỹ năng phát triển một ứng dụng di động hoàn chỉnh với Flutter / Dart

  • Kiến thức, kỹ năng cần có của một Mobile Developer chuyên nghiệp trước khi gia nhập một công ty công nghệ

  • Kỹ năng mềm trong môi trường làm việc

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
  • Setup/configure for the Flutter development environment
  • Create the "Hello World" app
  • Introduce the Flutter app structure
  • Variables: Initialization, final
  • Data Types: Numbers, Strings, Enumerated types, Boolean, Arrays
  • Nullable and Non-nullable types
  • Data type operators: Arithmetic, Relational, Type test, Logical, Bitwise and shift
  • Show the Best practices
  • Condition Statement: if, switch
  • Loop: for, while, for-in
  • Assertions
  • The Function type
  • Anonymous functions
  • Optional parameters: Named parameters, Positional parameters
  • Nested functions
  • Using typedefs
  • Good Practices
  • Libraries and Visibility: Encapsulation
  • Constructors: Initializer, Named, Redirecting, Factory, Instance variables initialization
  • const constructors
  • Getters and setters
  • Operators overload
  • Cloning objects
  • Inheritance: super and constructors
  • Abstract class
  • Interfaces: extends vs implements
  • Mixins
  • The Object class: Comparable
  • Exceptions: on and catch, finally
  • Futures: async and await
  • Streams: streams and generators, subscribers, controller
  • Isolates
  • Multiple isolates in Flutter
  • Practices
  • SOLID principles: + Single Responsibility Principle + Open-closed Principle + Liskov Substitution Principle + Interface Segregation Principle + Dependency Inversion Principle
  • Dependency Injection: + Contructor Injection + Method Injection
  • 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
  • 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 constraints
  • Widgets showcase: + Material: Drawer, BottomNavigationBar, NavigationRail, TabBar, Stepper, DataTable + Cupertino: CupertinoDatePicker, CupertinoActionSheet, CupertinoSegmentControl
  • Show the best practices for building UIs
  • Updating the UI (using setState)
  • Passing the state with Provider + Provider class + Consumer class
  • Alternative to setState: BLoC pattern: + BlocListener + BlocObserver
  • BLoC Pattern: + 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
  • 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
  • Manual internationalization + AppLocalization + Localization delegate + Backward compatibility
  • Internationalizing with intl + AppLocalization + Localization delegate + Plurals and data interpolations
  • Implicit animations
  • The animation library + AnimatedWidget + AnimationBuilder: Curves, Tweens
  • Custom Animations
  • Good practices: Hero animations, Custom route transitions
  • Parsing JSON: Manual/Automatic parsing: list, nested objects
  • Parsing XML: parsing strings, building XML strings
  • Working with SQLite and Hive (NoSQL)
  • 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
  • Create a wallet and transfer ICON token
  • 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
  • Homework: Music app
  • 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
  • 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
  • Giảng Viên Là Những Ai

    teacher

    Hung Nguyen

    teacher

    Hơn 12 năm kinh nghiệm phát triển và quản lý các ứng dụng mobile từ các công ty Hàn Quốc, Nhật Bản, Singapore, Âu-Mỹ

    Các Khoá Học Khác

    Xem Tất Cả Khoá Học