Skip to main content

One post tagged with "Kiến trúc phần mềm"

View All Tags

Kiến Trúc Của Flutter như thế nào

· 2 min read

1. Tổng Quan Kiến Trúc Flutter​

Flutter được xây dựng với kiến trúc layer, trong đó mỗi layer được xây dựng dựa trên các layer bên dưới. Kiến trúc này bao gồm:

  • Flutter Engine
  • Foundation Library
  • Design-specific Widgets
  • Apps and Features

2. Flutter Engine​

Flutter Engine là core của framework, được viết bằng C++, cung cấp các chức năng low-level như:

  • Skia Graphics Engine
  • Text layout
  • File/Network I/O
  • Plugin architecture
  • Dart runtime

3. Foundation Library​

Foundation Library cung cấp các lớp và hàm cơ bản được sử dụng để xây dựng ứng dụng Flutter, bao gồm:

  • Các animation primitives
  • Gesture recognition
  • Painting primitives
  • Widget testing

4. Rendering Layer​

Layer này chịu trách nhiệm cho:

  • Layout system
  • Compositing
  • Paint operations

5. Widget Layer​

Flutter sử dụng widget như building blocks để xây dựng UI. Có hai loại widget chính:

  • StatelessWidget: Widget không có state
  • StatefulWidget: Widget có thể thay đổi state

6. State Management​

Flutter cung cấp nhiều giải pháp quản lý state:

// Provider Example
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (context) => MyState(),
child: MaterialApp(
home: MyHomePage(),
),
);
}
}

7. Platform Channels​

Flutter sử dụng Platform Channels để giao tiếp với native code:

static const platform = MethodChannel('samples.flutter.dev/battery');

// Gọi native code
final int result = await platform.invokeMethod('getBatteryLevel');

8. Cấu Trúc Thư Mục Khuyến Nghị​

lib/
|- api/
|- models/
|- providers/
|- screens/
|- widgets/
|- utils/
|- main.dart

9. Performance Considerations​

Một số điểm cần lưu ý về hiệu năng:

  • Sử dụng const constructors khi có thể
  • Tránh rebuild không cần thiết
  • Tối ưu hóa images và assets
  • Sử dụng memory profiler để phát hiện memory leaks

10. Tài Liệu Tham Khảo​