Loxodon Framework

An MVVM & Databinding framework that can use C# and Lua to develop games
Alternatives To Loxodon Framework
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Knockout10,3831,535526a year ago21November 05, 2019377otherJavaScript
Knockout makes it easier to create rich, responsive UIs with JavaScript
Jetpack Mvvm Best Practice8,533
3 days ago2Java
难得一见 Jetpack MVVM 最佳实践!在 "以简驭繁" 代码中,对 "视图控制器" 乃至 "标准化开发模式" 形成正确、深入理解!
a year ago12apache-2.0Java
25 days ago6apache-2.0Java
🗡️ 云阅:一款基于网易云音乐UI,使用玩Android Api,Retrofit2 + RxJava2 + Room + MVVM-databinding架构开发的Android客户端
Android Mvp Mvvm Flytour3,125
3 years ago8apache-2.0Java
🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精力放在自己的项目的业务功能实现上,另外在长期的工作实践中总结整理大量的实用工具类在项目lib_common组件的util包当中方便大家调用。
a year ago11apache-2.0Kotlin
:chicken::basketball:一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
5 days ago15otherC++
GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.
2 months ago3apache-2.0Kotlin
🔥基于 Kotlin 语言仿写「开眼 Eyepetizer」的一个短视频 Android 客户端项目,采用 Jetpack + 协程实现的 MVVM 架构。
Loxodon Framework1,640123 days ago16August 01, 2023mitC#
An MVVM & Databinding framework that can use C# and Lua to develop games
7 months ago8gpl-3.0Kotlin
Jetpack MVVM For Wanandroid 最佳实践 !
Alternatives To Loxodon Framework
Select To Compare

Alternative Project Comparisons

Loxodon Framework(Unity-MVVM)

license release openupm npm


MVVM and Databinding for Unity3d(C# & XLua & ILRuntime)

Developed by Clark

Requires Unity 2018.4 or higher.

LoxodonFramework is a lightweight MVVM(Model-View-ViewModel) framework built specifically to target Unity3D. Databinding and localization are supported.It has a very flexible extensibility.It makes your game development faster and easier.

For tutorials,examples and support,please see the project.You can also discuss the project in the Unity Forums.

The plugin is compatible with MacOSX,Windows,Linux,UWP,WebGL,IOS and Android,and provides all the source code of the project.

If you like this framework or think it is useful, please write a review on AssetStore or give me a STAR or FORK it on Github, thank you!

Tested in Unity 3D on the following platforms:


For detailed installation steps, please refer to the installation documentation.

English manual

Key Features:

  • MVVM Framework;
  • Multiple platforms;
  • Higher Extensibility;
  • async&await (C#&Lua)
  • try&catch&finally for lua
  • XLua support(You can make your game in lua.);
  • Asynchronous result and asynchronous task are supported;
  • Scheduled Executor and Multi-threading;
  • Messaging system support;
  • Preferences can be encrypted;
  • Localization support;
  • Databinding support:
    • Field binding;
    • Property binding;
    • Dictionary,list and array binding;
    • Event binding;
    • Unity3d's EventBase binding;
    • Static property and field binding;
    • Method binding;
    • Command binding;
    • ObservableProperty,ObservableDictionary and ObservableList binding;
    • Expression binding;


  • .Net2.0 and .Net2.0 Subset,please use version 1.9.x.
  • LoxodonFramework 2.0 supports .Net4.x and .Net Standard2.0
  • LoxodonFramework 2.0 supports Mono and IL2CPP


Quick Start

Create a view and view model of the progress bar.

public class ProgressBarViewModel : ViewModelBase
    private string tip;
    private bool enabled;
    private float value;
    public ProgressBarViewModel()

    public string Tip
        get { return this.tip; }
        set { this.Set<string>(ref this.tip, value, nameof(Tip)); }

    public bool Enabled
        get { return this.enabled; }
        set { this.Set<bool>(ref this.enabled, value, nameof(Enabled)); }

    public float Value
        get { return this.value; }
        set { this.Set<float>(ref this.value, value, nameof(Value)); }

public class ProgressBarView : UIView
    public GameObject progressBar;
    public Text progressTip;
    public Text progressText;
    public Slider progressSlider;

    protected override void Awake()
        var bindingSet = this.CreateBindingSet<ProgressBar, ProgressBarViewModel>();

        bindingSet.Bind(this.progressBar).For(v => v.activeSelf).To(vm => vm.Enabled).OneWay();
        bindingSet.Bind(this.progressTip).For(v => v.text).To(vm => vm.Tip).OneWay();
        bindingSet.Bind(this.progressText).For(v => v.text)
            .ToExpression(vm => string.Format("{0:0.00}%", vm.Value * 100)).OneWay();
        bindingSet.Bind(this.progressSlider).For(v => v.value).To(vm => vm.Value).OneWay();


IEnumerator Unzip(ProgressBarViewModel progressBar)
    progressBar.Tip = "Unziping";
    progressBar.Enabled = true;//Display the progress bar

    for(int i=0;i<30;i++)
        //TODO:Add unzip code here.

        progressBar.Value = (i/(float)30);            
        yield return null;

    progressBar.Enabled = false;//Hide the progress bar
    progressBar.Tip = "";        

Tutorials and Examples


  • Window View

  • Localization

  • Databinding

  • Variable Example

  • ListView Binding

Contact Us

Email: [email protected]
Website: https://vovgou.github.io/loxodon-framework/
QQ Group: 622321589 15034148

Popular Databinding Projects
Popular Mvvm Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C Sharp