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