Ufront is a client/server MVC web framework for Haxe. It allows you to share models, views and controllers between both server-side and client-side code. Client side, your app will run as a fast single-page-app. But everything can still work server-side - which makes for fast first page loads, great SEO, and a good fallback for old browsers.
- Neko (Server side)
- PHP (Server side)
- NodeJS (Server side, experimental)
- JS (Client side)
It would be possible to also support Python, Java, C# and C++ with a little work.
Installing from haxelib:
haxelib install ufront-mvc
haxelib install ufront-tool
sudo haxelib run ufront-tool --setup
Using the latest git version:
haxelib git ufront-mvc https://github.com/ufront/ufront-mvc
# Similar for other libs
To update that git repository to a newer version:
haxelib update ufront-mvc
A "hello world" can be found in the ufront/hello repo to give you an example of how to get started.
This example includes builds for Neko, PHP and NodeJS in server.hxml
, and for Client JS in client.hxml
.
You can also visit the ufront-nodejs-guide for a more comprensive guide.
Core:
- ufront - This is not a library itself but just to hold some codes for generating the documentations
- ufront-mvc - The MVC framework. Provides routing, controllers, views, APIs, remoting, dependency injection and more.
Plugins and other optional libraries:
- ufront-tool - The helper tool for ufront.
- ufront-orm - An ORM that makes it easy to have models with validation, serialization, automatic relationships and more.
- ufront-easyauth - An auth system that gives you users, groups and permissions. Fairly simplistic but flexible. Easy to replace if you have different needs.
- ufront-ufadmin - An admin area for your web-app.
- ufront-uftasks - Easy command line tasks that integrate with your models and APIs.
- ufront-mail - Easily send emails with Ufront.
Feel free to contribute!