Skip to content
@PureMVC

The PureMVC Framework

🎯 Stable and feature-frozen since 2008

While the "release early, release often" development philosophy can help a team learn what their product should do, if that product is a framework, adopters often tire of trying to hit a moving target. With PureMVC, we nailed down the scope early on, fixed the bugs, and let it be.

🤔 Why use PureMVC?

All of the ports are as faithful as possible to the original ActionScript reference implementation, while respecting local idioms and using the simplest language features to implement. Regardless of the programming language you use, the roles, responsibilities, and collaboration patterns will be the same. This helps developers learn new programming languages, by learning how PureMVC works in each.

It can also help when you have, say, a mobile app for Android and iOS that is really two apps (one in Kotlin, one in Swift) with two teams building them. PureMVC allows you to employ the same architecture across both codebases, making it easier to maintain feature parity, as well as for developers to work across teams.

📖 Helpful resources

👉 Conceptual Diagram

👉 Framework Overview

👉 Implementation Idioms and Best Practices - English, Chinese, French, German, Russian, Spanish

👉 Developer's Guide to PureMVC (O'Reilly) (Examples in ActionScript, concepts apply to all versions)

Available in many languages, PureMVC is a frontend/backend agnostic Rosetta Stone

ActionScript

C++

C#

Coldfusion

Dart

Delphi

Go

Haxe

Java

JavaScript

Kotlin

Objective C

Perl

PHP

Python

Ruby

Swift

TypeScript

Pinned

  1. PureMVC Standard Framework for C#

    C# 383 168

  2. PureMVC MultiCore Framework for Go

    Go 5 3

  3. PureMVC MultiCore Framework for Native JavaScript

    JavaScript 141 79

  4. PureMVC MultiCore Framework for Java

    Java 42 33

  5. PureMVC Multicore Framework for Python

    Python 24 9

  6. PureMVC Multicore Framework for TypeScript

    JavaScript 92 52

Repositories