All Projects → unicreators → Mvvm

unicreators / Mvvm

Licence: mit
A Flutter MVVM (Model-View-ViewModel) implementation. It uses property-based data binding to establish a connection between the ViewModel and the View, and drives the View changes through the ViewModel.

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Mvvm

Westore
更好的小程序项目架构
Stars: ✭ 3,897 (+4771.25%)
Mutual labels:  state-management, mvvm
Mvvm Redux
MVVM Redux is a lightweight lib to help you apply the redux concepts in your project based in MVVM.
Stars: ✭ 30 (-62.5%)
Mutual labels:  mvvm, state-management
Royjs
Royjs is only 4.8kb mvvm framework for React
Stars: ✭ 49 (-38.75%)
Mutual labels:  mvvm, state-management
Upcoming Games
Android app for viewing release dates and other details for every video game ever made.
Stars: ✭ 65 (-18.75%)
Mutual labels:  mvvm
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (-20%)
Mutual labels:  mvvm
Example React Native Redux
react native redux counter example
Stars: ✭ 1,186 (+1382.5%)
Mutual labels:  state-management
Puex
(Deprecated) Simple 1kB Vuex alternative
Stars: ✭ 78 (-2.5%)
Mutual labels:  state-management
Mini Mvvm
基于 virtual dom 的轻量级mvvm库 >_<#@!
Stars: ✭ 62 (-22.5%)
Mutual labels:  mvvm
Flutter Boilerplate Project
A boilerplate project created in flutter using MobX and Provider.
Stars: ✭ 1,194 (+1392.5%)
Mutual labels:  state-management
Wzxarchitecture
搭建app框架-MVVM+RAC+路由
Stars: ✭ 71 (-11.25%)
Mutual labels:  mvvm
Android App Architecture Mvvm Databinding
A simple but complete project (in both Java & Kotlin) to demonstrate the Android application architecture with MVVM pattern, a client app for The Movie DB Web API. Dagger2 is used for dependency injection and RxJava is used for RFP (Reactive Functional Programming).
Stars: ✭ 69 (-13.75%)
Mutual labels:  mvvm
React Composition Api
🎨 Simple React state management. Made with @vue/reactivity and ❤️.
Stars: ✭ 67 (-16.25%)
Mutual labels:  state-management
Dmskin
DMSkin WPF 样式 UI 框架 | WPF Borderless Window | Custom Controls & Styles | MVVM Support
Stars: ✭ 1,189 (+1386.25%)
Mutual labels:  mvvm
Moviefinderusingmvvm Android
🔥 MVVM + Clean Architecture + Best Practices | 🍿Movie Finder is a sample Android application 📱to search movies using OMDb API which is built to demonstrate use of Modern Android development tools - (Kotlin, Coroutines, Kodein, Architecture Components, MVVM, Retrofit, Gson, Material Components) 😊😊😉
Stars: ✭ 66 (-17.5%)
Mutual labels:  mvvm
Mvvmexample1
A simple of example of MVVM in Android with LiveData and MutableLiveData
Stars: ✭ 76 (-5%)
Mutual labels:  mvvm
Android Architecture Components Mvvm Retrofit Java
This repository contains Android Architecture Components ( LiveData , View Model and MVVM pattern with retrofit for consuming rest api )
Stars: ✭ 63 (-21.25%)
Mutual labels:  mvvm
Neutronium
🚀 Build .NET desktop applications using HTML, CSS and javascript.
Stars: ✭ 1,190 (+1387.5%)
Mutual labels:  mvvm
Use Combined Reducers
Custom hook to combine all useReducer hooks for one global state container.
Stars: ✭ 69 (-13.75%)
Mutual labels:  state-management
Vue State Management Alternative
Vuex state management alternative for both Vue 1.x & 2.x
Stars: ✭ 67 (-16.25%)
Mutual labels:  state-management
Wpfbindingerrors
💥 Turn WPF Binding errors into exception
Stars: ✭ 73 (-8.75%)
Mutual labels:  mvvm

pub package join chat

A Flutter MVVM (Model-View-ViewModel) implementation. It uses property-based data binding to establish a connection between the ViewModel and the View, and drives the View changes through the ViewModel.

一个 Flutter 的 MVVM(Model-View-ViewModel) 实现。 它使用基于属性 (property) 的数据绑定在视图模型 (ViewModel) 与视图 (View) 之间建立关联,并通过视图模型 (ViewModel) 驱动视图 (View) 变化。

Documentation & Example

import 'package:flutter/widgets.dart';
import 'package:mvvm/mvvm.dart';
import 'dart:async';

// ViewModel
class Demo1ViewModel extends ViewModel {
  Demo1ViewModel() {
    propertyValue<String>(#time, initial: "");
    start();
  }

  start() {
    Timer.periodic(const Duration(seconds: 1), (_) {
      var now = DateTime.now();
      setValue<String>(#time, "${now.hour}:${now.minute}:${now.second}");
    });
  }
}

// View
class Demo1View extends View<Demo1ViewModel> {
  Demo1View() : super(Demo1ViewModel());

  @override
  Widget build(BuildContext context) {
    return Container(
        margin: EdgeInsets.symmetric(vertical: 100),
        padding: EdgeInsets.all(40),
        // binding
        child: $.watchFor<String>(#time,
            builder:
                $.builder1((t) => Text(t, textDirection: TextDirection.ltr))));
  }
}

// run
void main() => runApp(Demo1View());

mvvm

APIs

ViewContext ($.*)

Properties

Methods

override

ViewModel

Methods

override

View

Properties

Methods

override

Documentation

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].