cyberframework 0.0.7
cyberframework: ^0.0.7 copied to clipboard
plugin project do công ty cổ phần phần mềm quản trị doanh nghiệp.
CyberFramework #
Framework Flutter mạnh mẽ cho phát triển ứng dụng di động với kiến trúc MVVM và dependency injection.
📋 Mục lục #
🎯 Giới thiệu #
CyberFramework là một Flutter plugin framework cung cấp các công cụ và components để xây dựng ứng dụng mobile theo mô hình MVVM với dependency injection, giúp code dễ bảo trì và mở rộng.
✨ Tính năng #
- ✅ Dependency Injection với GetIt và Injectable
- ✅ MVVM Architecture Pattern
- ✅ Form Management với CyberForm
- ✅ Navigation Management
- ✅ Custom UI Controls (CyberText, CyberCheckbox, CyberComboBox, v.v.)
- ✅ Two-way Data Binding
- ✅ Lifecycle Management
📦 Cài đặt #
Thêm dependency vào file pubspec.yaml:
dependencies:
cyberframework:
git:
url: https://github.com/cybersoftvn/cyberframework.git
get_it: ^7.6.0
injectable: ^2.3.2
dev_dependencies:
build_runner: ^2.4.6
injectable_generator: ^2.4.1
Chạy lệnh:
flutter pub get
🚀 Hướng dẫn sử dụng #
Bước 1: Tạo file cấu hình Dependency Injection #
Tạo file spScreen.dart tại thư mục root của project:
import 'package:cyberframework/cyberframework.dart';
import 'package:get_it/get_it.dart';
import 'package:injectable/injectable.dart';
import 'spScreen.config.dart';
final getIt = GetIt.instance;
@InjectableInit(
initializerName: 'init',
preferRelativeImports: true,
asExtension: true,
)
void configureDependencies() {
getIt.init();
buildFactoryMap();
}
Bước 2: Generate code #
Chạy lệnh build_runner để generate code:
flutter pub run build_runner build --delete-conflicting-outputs
Bước 3: Khởi tạo trong main.dart #
import 'package:flutter/material.dart';
import 'package:cyberframework/cyberframework.dart';
import 'package:injectable/injectable.dart';
import 'spScreen.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
configureDependencies();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return V_MainScreen("MyHomePage");
}
}
@Singleton(as: CyberForm)
@named
class MyHomePage extends CyberForm {
@override
Widget buildBody(BuildContext context) {
return Center(
child: Text(
"Hello World",
style: TextStyle(fontSize: 24),
),
);
}
}
📱 Ví dụ #
Tạo một CyberForm cơ bản #
@Singleton(as: CyberForm)
@named
class LoginPage extends CyberForm {
@override
Widget buildBody(BuildContext context) {
return Padding(
padding: EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CyberText(
labelText: "Username",
controller: TextEditingController(),
),
SizedBox(height: 16),
CyberText(
labelText: "Password",
obscureText: true,
controller: TextEditingController(),
),
SizedBox(height: 24),
ElevatedButton(
onPressed: () => handleLogin(),
child: Text("Login"),
),
],
),
);
}
void handleLogin() {
// Xử lý đăng nhập
}
}
Navigation giữa các màn hình #
// Mở màn hình mới sự kiện tại Button
ElevatedButton(
onPressed: () => V_Call("Hom01", "Đây là màn hình 01", "", ""),
child: const Text("Go to Home 01"),
),
🛠️ Công nghệ sử dụng #
- Flutter
- GetIt - Service Locator
- Injectable - Code Generation for Dependency Injection
- MVVM Pattern
🤝 Đóng góp #
Mọi đóng góp đều được chào đón! Vui lòng:
- Fork repository
- Tạo branch mới (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add some amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Tạo Pull Request
📞 Liên kết #
- Homepage: https://github.com/DaoChiMinh/cyberframework
- Repository: https://github.com/cybersoftvn/cyberframework
- Issue Tracker: https://github.com/DaoChiMinh/cyberframework/issues
📄 License #
Dự án này được phân phối dưới giấy phép MIT. Xem file LICENSE để biết thêm chi tiết.
Phát triển bởi CyberSoft Vietnam 🇻🇳