Trong quá trình phát triển ứng dụng Flutter, để tiết kiệm thời gian và tái sử dụng các tính năng có sẵn, lập trình viên thường sử dụng Flutter package – là các thư viện (thư viện mã nguồn mở hoặc do cá nhân viết) giúp thêm các chức năng mới vào ứng dụng mà không cần tự viết lại từ đầu.

Ví dụ: Nếu muốn hiển thị ảnh từ mạng, có thể dùng package cached_network_image, hoặc muốn tạo hiệu ứng đẹp thì có animations, flutter_lottie, v.v.

  1. Phân loại package

Để hiểu rõ hơn, Flutter package có thể chia thành 3 loại:

  • Dart-only packages: chỉ chứa mã Dart, không phụ thuộc vào UI Flutter (vd: http, path).
  • Flutter-specific packages: cung cấp widget hoặc hỗ trợ giao diện (vd: animations, carousel_slider, flutter_svg).
  • Plugin (Platform plugin): tương tác với nền tảng gốc (native) như camera, vị trí, bộ nhớ máy (vd: shared_preferences, google_maps_flutter).

Việc phân biệt này giúp lập trình viên chọn đúng package cho nhu cầu sử dụng (nếu không cần native, dùng Dart-only sẽ nhẹ hơn).

  1. Cách chọn package chất lượng

Trên pub.dev, mỗi package có thông tin đánh giá:

  • Pub Points: điểm chất lượng dựa trên tài liệu, test, lỗi cú pháp,…
  • Popularity score: dựa trên lượt tìm kiếm và download.
  • Last updated: nên chọn package được cập nhật trong vòng 6–12 tháng gần nhất.
  • Open Issues / GitHub link: kiểm tra xem package còn được bảo trì hay không.

Một mẹo nhỏ là: tránh những package không có example code hoặc changelog, vì có thể không còn phát triển.

  1. Các lỗi thường gặp khi cài package

  • Không tương thích phiên bản SDK Flutter
    → Giải pháp: kiểm tra environment: trong pubspec.yaml, đồng thời xem version của package yêu cầu Flutter nào.
  • Conflict phiên bản giữa các package
    → Giải pháp: sử dụng dependency_overrides: nếu buộc phải dùng, hoặc đồng bộ phiên bản giữa các package.
  • Không thể cài được sau khi thêm vào pubspec.yaml
    → Giải pháp: chạy flutter clean, sau đó flutter pub get lại.
  1. Tự tạo package riêng

Lập trình viên có thể viết package tùy chỉnh để chia sẻ hoặc tái sử dụng trong nhiều project (ví dụ như viết package custom_button, date_utils,… cho nội bộ nhóm).

Cấu trúc một package bao gồm:

  • lib/your_package.dart: mã chính
  • pubspec.yaml: thông tin package
  • example/: project ví dụ minh hoạ cách dùng
  • test/: kiểm thử (unit test)

Tự viết package là kỹ năng nâng cao giúp code tái sử dụng tốt và tổ chức project rõ ràng hơn.

 

Cài đặt package trong Flutter

Việc cài đặt package trong Flutter khá đơn giản, chỉ cần vài bước sau:

Bước 1: Tìm package cần dùng

  • Truy cập trang web chính thức: https://pub.dev

  • Tìm package bằng từ khóa (ví dụ: http, provider, carousel_slider, …)

Bước 2: Thêm vào file pubspec.yaml

Mở file pubspec.yaml trong dự án và thêm package vào phần dependencies:

Ví dụ:

dependencies:
flutter:
sdk: flutter
http: ^0.14.0

Bước 3: Chạy lệnh cài đặt package

Trong terminal tại thư mục dự án, chạy lệnh:

flutter pub get

Lệnh này sẽ tải và cài đặt các package đã thêm vào dự án.

Sử dụng package trong code

Sau khi cài xong, có thể import package vào file Dart để sử dụng:

Ví dụ: import ‘package:http/http.dart’ as http;

Cập nhật hoặc xóa package

  • Để cập nhật package: chỉ cần sửa phiên bản trong pubspec.yaml rồi chạy lại flutter pub get.

  • Để xóa package: xóa dòng đó trong dependencies, rồi cũng chạy lại flutter pub get.

 

About the Author

Tấn Phước

View all author's posts

Leave a Comment

Your email address will not be published. Required fields are marked *

Bài viết khác

Kanban

1. Kanban là gì? Kanban là một phương pháp quản lý công việc trực quan, giúp bạn theo dõi tiến độ từng nhiệm vụ. Kanban bắt nguồn từ Nhật Bản, ban đầu được Toyota dùng để quản lý dây chuyền sản xuất, nhưng ngày nay được áp dụng rộng rãi trong các lĩnh vực như […]

Scum

1. Scrum là gì? Scrum là một khung làm việc (framework) giúp các nhóm làm việc cùng nhau để phát triển sản phẩm một cách linh hoạt và hiệu quả. Nó thuộc phương pháp Agile – đề cao sự thích nghi, cộng tác và cải tiến liên tục trong quá trình làm việc. 2. Các […]

So sánh Realm, Hive, Sqflite, và Drift

So sánh Tiêu chí Realm Hive Sqflite Drift Mức độ phổ biến Tăng nhanh (Meta hỗ trợ) Rất phổ biến Rất phổ biến Trung bình (cộng đồng ổn định) Dễ sử dụng, dễ tích hợp Trung bình (cần setup Realm SDK) ★ Rất dễ (NoSQL, không cần SQL) Trung bình (phải viết SQL tay) Trung […]

Testing

I. Testing là gì? Testing (kiểm thử phần mềm) là quá trình đánh giá một hệ thống phần mềm để xác định xem sản phẩm có đáp ứng các yêu cầu được đặt ra hay không, và nhằm phát hiện lỗi nếu có. Testing là một phần quan trọng trong vòng đời phát triển phần […]

Application security

Ứng dụng bảo mật là gì? Application Security (Bảo mật ứng dụng) là quá trình bảo vệ ứng dụng khỏi các lỗ hổng và tấn công từ các mối đe dọa bên ngoài. Quá trình này bao gồm các biện pháp bảo vệ trong suốt vòng đời phát triển phần mềm (SDLC): từ thiết kế, […]

MVC/MVP

1. Giới thiệu chung Trong phát triển phần mềm, việc tổ chức mã theo mô hình kiến trúc rõ ràng là rất quan trọng để dễ dàng bảo trì, mở rộng và kiểm thử. Hai mô hình phổ biến trong phát triển ứng dụng là: MVC (Model – View – Controller) MVP (Model – View […]